說明 allowance、spender 和 revoke 的關係,建立使用 DeFi 前後的授權管理流程。

approve 授權的是誰

ERC-20 approve 會讓指定 spender 在你的地址上花費不超過 allowance 的代幣。spender 可能是交易路由器、借貸合約或惡意合約,不一定等於你在頁面上看到的專案名稱。授權成功只表示合約能在規則內轉移代幣,不代表你已完成交易。

無限額的代價

為了少做一次 approve,有些介面會要求極大的 allowance。若合約後來被升級、遭利用或地址看錯,仍可能在餘額範圍內花費代幣。對長期不用的協議,撤銷或把額度調低;每次撤銷本身也需要 gas,應先確認網路與合約。

讀取 allowance

使用官方合約或可信瀏覽器查詢 owner、spender 和 allowance,並確認 token contract 的小數位與網路。不要只看錢包首頁的「已連接網站」列表,因為連接狀態和鏈上授權是兩件事。對同名代幣,要把合約地址一起保存。

撤銷時的核對

從官方文件取得 revoke 工具或直接調用 approve(spender, 0),先在錢包確認方法、spender 和 token。若工具要求簽署不相關的 typed data、提供助記詞或安裝遠端程式,立即停止。撤銷交易確認後再重新讀取 allowance,並保存前後數值。

被盜後怎麼做

若懷疑私鑰仍安全而只有授權暴露,先撤銷高風險 spender,再把剩餘資產轉到已確認安全的地址。若助記詞或私鑰已泄露,撤銷不夠,應建立全新錢包並停止使用舊密鑰。報告事件時使用交易 hash 和合約地址,不要公開秘密材料。

清單

列出 token、owner、spender、網路和 allowance;移除長期不用或不明授權;每次交互後檢查額度;把高價值資產與實驗錢包分開。

補充核對筆記

建立月度授權檢查表,把不再使用的協議、已下架代幣和長期不用的錢包列入。撤銷後檢查 allowance 是否真的變成零,並確認沒有另一個 spender 擁有相同資產的額度。企業或家庭共同管理時,指定一位記錄負責人,避免多人以為別人已經處理而留下長期權限。

最後,把本次核對使用的官方頁面、鏈上資料和查詢日期保存在自己的檔案中,並在再次操作前重新確認。介面、費率、權限和服務條款都可能更新,舊截圖不能取代最新核驗。任何要求提供私鑰、助記詞、驗證碼或遠端控制的流程,都應立即停止並改用官方入口。