授權管理(Revoke)

每次你在 DeFi 協議中使用代幣,都需要先「授權」。這些授權可能成為安全隱患——即使你已經不再使用那個協議,它可能仍有權動用你的資產。


什麼是代幣授權?

在以太坊上,當你想用某個代幣(例如 USDC)在 Uniswap 交易時,你需要先「批准」Uniswap 使用你的 USDC。這個動作叫做 Approve(授權)。

為什麼需要這樣?因為 ERC-20 代幣的設計:你的代幣存在一個智能合約裡,另一個合約(Uniswap)沒辦法直接動用它,必須先獲得你的許可。

circle-info

類比理解

想像你的銀行帳戶。每次你要讓某個服務自動扣款(如電話費),你需要先簽一份授權書。授權管理就是管理這些「授權書」。


問題在哪裡?

當你授權時,通常會被要求授權「無限額度」(Unlimited Approval)。

這意味著:

  • 你授權 Uniswap 可以動用你所有的 USDC

  • 不是只有這一次交易的金額

  • 這個授權永久有效,除非你主動撤銷

風險場景

情境
風險

協議被駭

駭客可以利用你的授權,轉走你所有授權過的代幣

惡意合約

你誤授權給詐騙合約,資產直接被盜

協議跑路

項目方惡意動用授權

真實案例

2022 年,多個 DeFi 協議被駭,駭客不是直接攻擊用戶的錢包,而是利用用戶對協議的授權來轉走資產。


如何檢查你的授權?

推薦工具

Revoke.casharrow-up-right

  • 最知名的授權管理工具

  • 支援多條鏈(以太坊、BSC、Polygon 等)

  • 免費使用

Etherscan Token Approvalsarrow-up-right

  • 官方區塊鏈瀏覽器提供

  • 只支援以太坊

錢包內建功能

  • MetaMask 等錢包也逐漸加入授權管理功能

使用 Revoke.cash 的步驟

  1. 連接你的錢包

  2. 選擇要檢查的區塊鏈

  3. 查看所有授權清單

  4. 撤銷不需要的授權


如何撤銷授權?

在 Revoke.cash 中:

  1. 找到你想撤銷的授權

  2. 點擊「Revoke」按鈕

  3. 在錢包中確認交易

  4. 支付 Gas 費(撤銷授權需要上鏈)

circle-info

注意

撤銷授權需要支付 Gas 費。在以太坊主網上,這可能是幾美元到幾十美元不等,取決於網路擁堵程度。


最佳實踐

授權時

  1. 不要授權無限額度

    • 有些錢包允許你自訂授權金額

    • 只授權這次交易需要的金額

  2. 確認授權對象

    • 確認是官方合約地址

    • 不要在可疑網站授權

  3. 了解你在授權什麼

    • 看清楚是授權哪個代幣

    • 看清楚是授權給誰

日常管理

  1. 定期檢查

    • 每月檢查一次授權清單

    • 撤銷不再使用的協議授權

  2. 用完即撤

    • 使用完某個協議後,立即撤銷授權

    • 尤其是一次性使用的服務

  3. 使用多個錢包

    • 主錢包存放大額資產,不做授權

    • 小額錢包用於 DeFi 交互


授權的類型

ERC-20 Approval

標準的代幣授權,授權某個合約可以動用你的某種代幣。

NFT Approval

授權某個合約可以動用你的 NFT。

  • 單個 NFT 授權:只授權特定一個 NFT

  • 全部授權(Approval for All):授權對方動用你該系列的所有 NFT

triangle-exclamation

Permit(無 Gas 授權)

較新的授權標準(EIP-2612),允許用簽名代替交易來授權。

好處是省 Gas 費,但風險是:你可能在不知情的情況下簽署了授權。


常見問題

Q:撤銷授權後還能使用那個協議嗎?

可以。下次使用時,只需要重新授權即可。

Q:撤銷授權要花多少錢?

視網路擁堵程度而定。以太坊上通常需要幾美元的 Gas 費。Layer 2 上會便宜很多。

Q:為什麼很多 DApp 要求無限授權?

為了方便。如果每次交易都要重新授權,用戶體驗會很差。但這犧牲了安全性。

Q:Permit 簽名安全嗎?

Permit 本身是安全的,但要小心釣魚網站。有些詐騙網站會誘騙你簽署 Permit,然後盜取你的代幣。


進階:如何設定有限授權?

在 MetaMask 中:

  1. 當 DApp 要求授權時,不要直接點確認

  2. 點擊「編輯權限」或類似按鈕

  3. 將授權金額改為你需要的數量

  4. 確認交易

這樣即使合約被駭,損失也有上限。


總結

circle-check

延伸閱讀

Last updated