代幣授權(Token approval)
簡單來說 代幣授權是你授予智能合約的權限,允許它從你的錢包轉出一定數量的代幣,通常在兌換或存入前需要先完成。
在 Ethereum、BNB Chain、Base 等 EVM 鏈上,除非你事先授權,否則合約無法從你的錢包轉走 ERC-20 代幣。授權(approval),也稱為額度(allowance),是告訴代幣合約:某個特定的 spender 地址可以代表你轉移最多指定數量的代幣。這就是為什麼 DEX 在你第一次兌換前會要求你先授權該代幣。
技術上,你會在代幣合約上呼叫 approve(spender, amount),合約便會記錄這筆額度。之後 spender 隨時都能在額度內呼叫 transferFrom,不需要你再次確認。許多應用程式為了節省日後交易的 gas,會要求無限額度。部分代幣也支援 permit 簽名,透過鏈下簽名而非發送交易來建立授權。Solana 採用類似概念的委託(delegate)機制,不過那裡的應用程式更常在你簽署的同一筆交易內直接移動代幣。
授權之所以重要,是因為它的效力會在你授權之後持續存在。如果被授權的合約是惡意的、日後遭到攻擊,或被升級成惡意版本,即使你已經幾個月沒使用,它仍然可以拿走你的代幣。錢包盜取程式與釣魚網站,正是靠誘騙你對最有價值的代幣進行授權或簽署 permit 來得手。
如果應用程式允許,只授權你需要的數量,並仔細查看錢包顯示的 spender 地址與金額。對提到 permit 的簽名請求要格外小心,它們看似無害,實際上卻會授予存取權限。定期使用區塊瀏覽器的授權檢查工具或撤銷(revoke)工具檢視現有授權,並取消不再使用的項目;撤銷只需支付少量 gas 費用。




