Revoke.cash 是加密行业在出现问题后已广泛推荐使用的工具:它负责管理代币授权——即用户每次进行兑换、质押或出售 NFT 时授予 DeFi 应用和交易市场的持续访问权限。Revoke.cash 使用 MetaMask 的 Smart Accounts Kit 创建了 Auto-Revoking 功能,更进一步,能够自动清理不再需要的授权,且全程无需持有用户的私钥。
Revoke.cash 解决了大多数钱包从未暴露的问题
代币授权是你授予 DeFi 应用转移你代币的权限:授权 USDC 以便 Uniswap 进行兑换,授权 Pudgy Penguin 以便 OpenSea 进行上架。这种访问权限在你完成操作后并不会自动过期,而是无限期地留存在你的钱包中。一旦被授权的应用遭到攻击,每一个休眠的授权都是潜在的安全隐患。
Revoke.cash 于 2019 年 10 月由创始人 Rosco 作为个人项目创立,初衷是解决他自己对众多 DeFi 应用悄然持有其钱包持续访问权限的不安。当时还没有任何方式可以查看或撤销这些权限,于是他自己动手构建了一个。在过去六年里,Revoke.cash 已服务超过 200 万用户,累计撤销超过 2000 万次代币授权。引入 Auto-Revoking 功能的付费套餐 Premium 和 Ultimate 于 2026 年正式上线。
Rosco 表示,Auto-Revoking 的灵感来源于一个反复出现的规律:正确的建议总是来得太晚。每当发生漏洞攻击或用户资金损失时,标准建议都是"去 Revoke.cash 处理"——这是典型的亡羊补牢。
预防才是关键。定期清理授权能防患于未然。但对大多数人来说,持续手动操作并不现实,因此 Revoke.cash 在底层技术条件成熟后,构建了自动化版本。
难题:在从不持有用户私钥的前提下代其执行操作
作为一个行业,我们正在努力让用户能够以非托管方式自主管理自己的钱包。从安全角度来看,托管用户的助记词绝对不是一个选项。
— Rosco,Revoke.cash 创始人
某些链上操作,例如自动再平衡或限价单,已有可行的方式代表用户执行。但撤销他人的代币授权却没有——直到 ERC-7710 和 ERC-7715 的出现。
MetaMask 的 Smart Accounts Kit 和 Delegation Framework 成为了基础架构,而非自行搭建的定制化基础设施。这套 SDK 同时解决了两个层面的问题:为用户提供简洁的 UI 来授予委托,以及能够消费该委托的后端系统。这让 Revoke.cash 得以将自身的工程资源集中在更难、更具创新性的部分:Auto-Revoking 的周边系统,而无需重新发明底层的委托机制。
Revoke.cash 的反馈也推动了代币授权撤销权限类型的具体设计。MetaMask 还协助 Revoke.cash 完善了其冷热钱包委托架构的相关细节。
之前 | 使用 Auto-Revoking + Delegation Framework 之后 |
用户只在遭遇攻击或资金损失后才被告知撤销授权 | 授权按计划主动撤销,在被利用之前提前处理 |
清理授权需要用户记得手动逐个应用操作 | 用户在 MetaMask 中一次性授予一个权限即可 |
无法在不持有用户私钥的情况下操作其授权 | 经过范围限定的代币授权撤销权限仅授权该特定操作 |
人工审查无法应对数千个休眠授权 | Revoke.cash 的系统持续索引并监控授权状态 |
一个冷钱包、两个热钱包,一个单一的最小权限
用户在 Revoke.cash 的账户设置页面开启 Auto-Revoking。该操作会请求一个代币授权撤销权限,通过 MetaMask 授予 Revoke.cash 控制的冷钱包。冷钱包被配置为将这些委托转发至运行在 Revoke.cash 自动撤销服务器上的两个热钱包。
此后,Revoke.cash 的系统会根据用户配置的自动撤销规则(例如已过期的授权或被标记为高风险的授权)对用户的代币授权进行索引和监控。当某个授权触发规则时,其中一个热钱包会发送一笔交易,该交易携带委托链中的两个委托——用户到冷钱包的委托以及冷钱包到热钱包的委托——从而在链上授权执行撤销操作。
为何中间需要一个冷钱包: 如果热钱包遭到攻击,冷钱包能防止影响直接波及用户。热钱包可以在冷钱包后面自由添加或移除,而无需更改用户的原始委托。
为何使用两个热钱包而非一个: Revoke.cash 将自动撤销分为两类。常规撤销是普通的清理操作,例如两年前出售 NFT 后遗留的 OpenSea 授权。紧急撤销则由活跃漏洞攻击或新兴风险触发,速度至关重要。为每类操作配置专属热钱包,确保紧急的漏洞触发撤销永远不会被常规清理任务阻塞在队列中。
权限本身通过 MetaMask 的 caveat enforcers 进行范围限定,仅授权撤销操作,不涉及任何更广泛的权限——这正是将委托交给自动化系统的安全保障所在。
技术架构
层级 | 组件 |
权限 | Advanced Permissions(ERC-7715)代币授权撤销权限类型 |
委托 | 用户 → 冷钱包 → 两个热钱包,MetaMask Delegation Framework |
执行 | 两个专属热钱包:常规清理与紧急风险触发撤销 |
监控 | Revoke.cash 的授权索引与规则匹配引擎 |
撤销授权是每个人都需要执行的重要安全措施,但没有人愿意主动去思考这件事。通过提供由 MetaMask Smart Accounts Kit 驱动的自动撤销功能,我们能够在保护用户安全的同时,免去他们手动管理的心智负担。
— Rosco,Revoke.cash 创始人
Revoke.cash 给开发者的建议
不要自行构建委托层。 Auto-Revoking 中真正困难且具有创新性的部分是周边系统:索引授权、匹配风险规则、区分常规与紧急执行路径。让 MetaMask Smart Accounts Kit SDK 处理权限的授予与消费,避免了重复造轮子。
将执行层与用户信任隔离。 在用户与实际执行交易的热钱包之间设置冷钱包,意味着执行器被攻击后无需波及用户;冷钱包后面的钱包可以自由轮换。
区分常规操作与紧急操作。 当自动化按计划运行时,并非每个触发都同等紧迫。按紧迫程度拆分执行路径,确保缓慢的常规任务永远不会延误快速的高风险操作。
更多信息,请参阅: