跳至主要內容

為什麼斷開 DApp 不等於撤銷代幣授權?

U
作者:UKey Wallet

隱私、授權與簽章安全

以下主要以 EVM 網路和標準 ERC-20 授權為例。斷開 DApp 只會結束錢包 Provider 與網站之間的本機連線會話。斷開 DApp 不會修改區塊鏈中記錄的授權額度(Allowance)。撤銷授權需要提交一筆交易。只有撤銷交易在正確網路上成功執行後,Allowance 才會降低或歸零。不同代幣、NFT 或授權系統的規則可能不同。

一、斷開連線與撤銷授權有什麼不同?

對比項

斷開 DApp

撤銷 ERC-20 授權

修改對象

錢包或 Provider 中的本機會話

代幣合約在區塊鏈中記錄的 Allowance

是否需要向區塊鏈提交交易

不需要

需要

是否通常需要網路費

不需要

需要。提交撤銷交易的帳戶必須使用該網路的原生資產支付網路費

能否修改已有 Allowance

不能修改

交易成功後可降低或清零 Allowance

適用範圍

目前錢包、瀏覽器或網站會話

僅對操作所在網路、帳戶、代幣和 Spender 生效

中斷後,網站通常無法再透過原始會話直接向錢包發起請求,但已獲知的公開地址仍可被查詢,網站也可能再次要求連線。四種常見互動動作的完整差異見連接錢包、訊息簽名、交易簽名和代幣授權有什麼區別?

二、ERC-20 授權存在哪裡?

一筆標準 ERC-20 授權記錄由五項資訊共同決定:資產所有者(Owner)、代幣合約(Token)、被授權方(Spender)、授權額度(Allowance)和網路。approve 交易成功執行後,新的 Allowance 會寫入代幣合約的區塊鏈狀態。此額度不會儲存在瀏覽器快取或錢包用戶端中。

Allowance、資產所有者的代幣餘額和代幣合約規則都允許時,Spender 可以透過 transferFrom 等合約調用轉移代幣。提交該合約調用的一方必須向區塊鏈發送交易並支付網路費用。資產所有者通常不需要為這次 transferFrom 呼叫再次簽名。因此,關閉網頁、刪除連線記錄、換手機或重新安裝錢包,都不會自動修改區塊鏈中的 Allowance

範圍提示:NFT 的單一授權、setApprovalForAll、Permit2 及非 EVM 網路可能採用不同的權限模型及撤銷方法,無法機械套用 ERC-20 的「額度清除」。

三、授權會自動到期嗎? Permit deadline 代表什麼?

  • 標準 ERC-20 Allowance:通常沒有預設到期時間,會持續到額度被使用、被新額度覆蓋,或由用戶發起交易降低或清零;具體代幣實現可能不同。

  • 有限額度:限制的是最多可使用數量,不等於設定了到期時間。

  • Permitdeadline在 ERC-2612 等機制中,deadline 通常只限制這份簽名最晚可以在何時提交。創建 Permit 簽名時,區塊鏈中的 Allowance 不會立即改變。只有該簽名在 noncedeadline 等校驗條件仍然有效時被成功提交,授權才可能生效。授權生效後,Allowance 不會因為原簽的 deadline 到期而自動清除。

長期或無限額度會擴大後續風險暴露。參見什麼是無限授權(Unlimited Approval)?

四、撤銷授權時應核對什麼?

  1. 確認網路和帳號:在一個網路撤銷,不會同步修改其他網路上的權限。

  2. 確認代幣和 Spender不要只依賴名稱或圖標,應核對可驗證的合約地址及授權對象。

  3. 選擇合適的撤銷動作:對標準 ERC-20,可依實際需要降低額度或設為零;其他授權類型應依對應合約和官方流程處理。

  4. 準備網路費用:撤銷 ERC-20 授權通常需要向區塊鏈提交交易。提交交易的帳戶必須使用該網路的原生資產支付網路費用。

  5. 等待成功執行並複查:完成簽名、或僅把交易廣播到網絡,都不表示撤銷已經生效。只有在撤銷交易被寫入區塊並成功執行後,才應重新查詢區塊鏈中的 Allowance

硬體設備不一定能完整解析每種合約或撤銷參數。應核對設備實際顯示的網路、交易類型、合約及可讀欄位;若關鍵資訊缺失、與預期不符或只能盲簽,應停止並重新核驗。詳見使用硬體錢包確認交易前,應核對哪些資訊?

五、常見問題

關閉瀏覽器或卸載錢包能取消授權嗎?
不能。這些操作不會改變區塊鏈上的合約狀態。

帳戶目前沒有該代幣,還需要關注舊授權嗎?
需結合後續用途判斷。如果以後再向該地址轉入同一種代幣,仍然有效的 Allowance 可能繼續允許原 Spender 透過 transferFrom 轉移代幣。

撤銷一條授權能同時覆蓋所有網路嗎?
不能。授權通常按網路、帳戶、代幣和 Spender 分別記錄,應逐項核對。

撤銷後為什麼仍顯示有權限?
先確認撤銷交易是否成功執行、查詢的網路和帳戶是否正確,以及所查看的是 ERC-20 Allowance、NFT Operator 或其他授權類型。

核心原則:不再使用的本地會話可以斷開;不再需要的區塊鏈授權,應在核對網路、帳戶、代幣和 Spender 後,依對應授權標準撤銷。

是否回答了您的問題?