Revoke.cash 是加密產業在出問題後就會告訴大家去用的工具:它管理代幣授權——也就是使用者每次進行兌換、質押或出售 NFT 時,授予 DeFi 應用程式和交易市場的持續存取權限。Revoke.cash 使用 MetaMask 的 Smart Accounts Kit 打造了「自動撤銷」功能,更進一步地自動清除不必要的授權,且全程無需持有使用者的私鑰。
Revoke.cash 解決了大多數錢包從未揭露的問題
代幣授權是你授予 DeFi 應用程式移動你代幣的權限:授權 USDC 讓 Uniswap 進行兌換、授權 Pudgy Penguin 讓 OpenSea 上架。這些存取權限在你完成操作後並不會自動失效,而是無限期地留在你的錢包中。一旦被授權的應用程式遭到攻擊,每一個閒置的授權都是潛在的安全漏洞。
Revoke.cash 於 2019 年 10 月由創辦人 Rosco 以個人專案起步,初衷是解決他自己對眾多 DeFi 應用程式悄悄持有其錢包存取權限的不安。當時還沒有任何方法可以查看或撤銷這些授權,於是他自己動手打造了一個。過去六年間,Revoke.cash 已服務超過 200 萬名使用者,並協助撤銷了超過 2,000 萬筆代幣授權。引入自動撤銷功能的付費方案 Premium 與 Ultimate 於 2026 年正式推出。
Rosco 表示,自動撤銷的靈感來自於他注意到正確的建議總是來得太晚。每當發生漏洞攻擊或有人損失資金,標準建議都是「去 Revoke.cash」——這是典型的亡羊補牢。
預防才是一切。定期清理授權能防患於未然。但要大多數人持續手動執行並不現實,因此當底層技術條件成熟後,Revoke.cash 便打造了自動化版本。
難題:代替使用者執行操作,卻從不持有其私鑰
作為一個產業,我們正努力讓使用者能夠以非託管的方式管理自己的錢包。從安全角度來看,持有使用者的助記詞絕對不是選項。
— Rosco,Revoke.cash 創辦人
某些鏈上操作,例如自動再平衡或限價單,已有可行的方式代表使用者執行。然而,撤銷他人的代幣授權卻一直沒有解決方案,直到 ERC-7710 和 ERC-7715 的出現。
MetaMask 的 Smart Accounts Kit 與 Delegation Framework 成為了基礎架構,而非自行打造的客製化基礎設施。這些 SDK 同時處理問題的兩個面向:為使用者提供簡單的 UI 來授予委託,以及能夠使用委託的後端系統。這讓 Revoke.cash 得以將自身的工程資源專注於更困難、更具創新性的部分:自動撤銷的周邊系統,而無需重新發明底層的委託機制。
Revoke.cash 的回饋也協助塑造了專屬的代幣授權撤銷權限類型。MetaMask 同樣協助 Revoke.cash 解決了其冷熱錢包委託設置中的部分問題。
之前 | 使用自動撤銷 + Delegation Framework 後 |
使用者只在遭受攻擊或損失後才被告知要撤銷授權 | 授權依排程主動撤銷,在被利用之前就先處理 |
清理授權需要記得手動逐一操作每個應用程式 | 使用者只需在 MetaMask 中授予一次權限 |
無法在不持有使用者私鑰的情況下操作其授權 | 限定範圍的代幣授權撤銷權限僅授權該特定操作 |
手動審查無法應對數千筆閒置授權 | Revoke.cash 的系統持續索引並監控授權 |
一個冷錢包、兩個熱錢包,一個單一的窄範圍權限
使用者從 Revoke.cash 的帳戶設定區段開啟自動撤銷功能。該操作會請求一個代幣授權撤銷權限,透過 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 給開發者的建議
不要自行打造委託層。 自動撤銷中真正困難且具創新性的部分是周邊系統:索引授權、匹配風險規則、區分常規與緊急執行的路由。讓 MetaMask Smart Accounts Kit SDK 處理授予和使用權限本身,意味著這些工作無需重複投入。
將執行層與使用者的信任隔離。 在使用者與實際執行交易的熱錢包之間設置冷錢包,意味著即使執行器遭到入侵,也不必成為使用者的問題;冷錢包後方的錢包可以自由輪換。
區分常規與緊急操作。 當自動化按排程運行時,並非每個觸發都同樣緊迫。按緊急程度拆分執行路徑,確保緩慢的常規任務永遠不會延誤快速、高風險的操作。
如需更多資訊,請參閱: