作者 博弈說明書編輯部更新 證據核對 合作查核 方法與揭露

錢包斷開連線後,為什麼對方還可能轉走你的幣?

用完網站,在錢包裡按下「斷開連線」,很容易以為事情就結束了。網站已經連不上,總不能再動我的錢了吧?

如果之前曾經同意,讓網站使用的程式動用你的代幣,那份許可可能還留著。MetaMask 的官方說明就提醒:斷開連線不會取消既有的代幣授權,對方仍可能透過那份授權移動代幣。[1]

原因是,網站和錢包之間的連線,跟你留在區塊鏈上的資金使用許可,是分開的。關掉前者,後者不會跟著消失。

只想用 20 USDT,怎麼會同意更多?

假設你在以太坊(Ethereum)上,想拿 20 USDT 換另一種幣。真正付款之前,錢包先跳出一個確認視窗,要求你給某個程式 1,000 USDT 的使用額度。

按下同意,不會立刻付出 1,000 USDT。你答應的是:這個程式可以在這個額度內使用你的 USDT。接下來才是那筆 20 USDT 的交易。

交易完成後,沒用完的額度可能繼續留著。如果被授權的程式本來就有惡意,或日後出現可被利用的漏洞,代幣就可能在剩餘額度內被轉走,不必再跳出視窗問你一次。這項授權針對的是指定程式與指定代幣,並不等於把錢包裡每一種資產都交出去。[2]

有些服務還會要求「無限額」,讓你下次使用時省掉重新授權的步驟。在這類一般代幣授權中,許可沒有自動到期日;只要仍然有效,後來存進同一地址的同種代幣,也可能落在它能動用的範圍內。[2]

錢包的確認視窗在問什麼?

錢包接連跳出幾個視窗,很容易把它們當成同一套登入流程。但要分辨風險,得看每次究竟在同意什麼。

連接、登入與代幣授權的差別
要你做的事同意了什麼
連接錢包把選定的公開地址提供給網站,建立連線。單純這一步,沒有給出代幣使用額度。[1]
登入簽名用來證明這個地址由你控制,讓你登入網站。符合 Ethereum 登入規範的訊息,本身不會給對方使用代幣的額度。[3]
代幣授權讓指定程式在額度內使用某種代幣。授權與實際付款,可以是兩次不同的確認。[2]

網站把按鈕叫作「登入」,不代表錢包跳出的內容就一定是登入訊息。判斷時,要以實際要求你簽署的內容為準。

沒收手續費,也不代表只是登入

有些許可可以先簽好,之後才送到區塊鏈上使用。簽署當下不用付鏈上手續費,餘額也沒有減少;但若簽的是可以動用代幣的許可,對方就可能在許可範圍內,之後再拿它來轉走代幣。

MetaMask 把利用這類簽名騙取資產的做法稱為「簽名釣魚」。對方會讓你以為正在做別的事,實際上卻取得了能動用資產的許可,而且不一定當場動手。[4]

所以,回頭看餘額沒變,還不足以判斷剛才那次簽名是否安全。要看的是它允許誰使用什麼資產、能用多少,以及是否有期限。看不懂用途的要求,可以先停下來,不必為了完成登入就一路按同意。

查詢與撤銷代幣授權

以授權查詢工具 Revoke.cash 為例,它的官方教學說明,可以輸入公開錢包地址查詢,再選擇要檢查的網路。查詢不需要先連接錢包,也不需要助記詞或私鑰。[5]

  1. 先選對網路。在 Ethereum 查到的清單,不代表其他網路也檢查過了。用過不只一條網路,就要分別查看。
  2. 找出不再需要的許可。核對被授權的程式、幣種與額度。陌生項目要進一步確認,不能只看一個眼熟的名稱就放心。
  3. 撤銷時才需要送出交易。連接錢包、確認要撤銷的項目後,還要在錢包內確認交易,支付網路手續費。等交易成功,再回頭確認額度已取消;只關掉網頁並沒有完成這件事。[5][6]

撤銷一般代幣授權,通常就是把該項使用額度改成零。因此,錢包視窗有時仍會出現「授權」或 Approve 字樣,要核對實際變更的對象與額度。[6]

撤銷成功後,該筆授權就不能再拿來動用代幣;先前已轉出的錢,不會因此退回。如果連助記詞或私鑰都已外洩,對方取得的是錢包的控制能力,光取消代幣授權也處理不了。[6]

還有一個容易漏掉的地方:尚未送上區塊鏈的某些授權簽名,查詢工具看不到。所以,即使清單空白,也不能據此認定先前簽過的東西都已失效。[7]

錢包可以把提醒說得更完整

只想換 20 USDT,卻被要求同意遠高於交易金額的額度,使用者至少應該知道為什麼。省掉下次確認的方便,伴隨的是一份可能長期留下的許可。

我認為,錢包除了把授權對象與金額寫清楚,也該在使用者離開網站時,提供檢查和收回許可的入口。人們按下「斷開連線」,往往正是因為已經不想再跟這個網站有往來。

「已斷開連線,但先前的代幣授權仍可能有效。」這句提醒,應該直接出現在按下斷開連線的地方。

資料來源與範圍

  1. MetaMask:How to disconnect a wallet from a dapp。說明斷開連線不會撤銷代幣授權。斷線也不會刪除區塊鏈上的公開紀錄。
  2. ERC-20 代幣原始規範,與 MetaMask:What are token approvals?(2026 年 7 月 10 日)。前者支持指定對象、額度及授權與移動代幣的區別;後者補充無限額授權的用途與風險。本文以 Ethereum 等相容網路常見的 ERC-20 授權為範圍;20 與 1,000 USDT 是假設數字。
  3. ERC-4361:Sign-In with Ethereum。登入簽名的區別依此原始規範說明,不表示任何標示「登入」或「簽名」的要求都符合這個規範。
  4. MetaMask:Signature phishing。支持簽名可能被稍後使用、當下未扣款不代表沒有風險。實際能移動的資產與數量,取決於簽名內容、代幣機制及相關授權條件。
  5. Revoke.cash:How to Revoke Token Approvals and Permissions。引用工具對公開地址查詢、選擇網路及撤銷操作的說明;介面與支援範圍可能更新。
  6. Revoke.cash:Frequently Asked Questions。說明單筆撤銷的網路費用、一般代幣額度歸零,以及撤銷不能追回已失資產、不能解決助記詞外洩等限制。
  7. Revoke.cash:What Are EIP2612 Permit Signatures?。支持尚未提交的授權簽名無法由鏈上清單完整辨識;這類簽名的取消方式,與一般額度歸零不完全相同。

以上文件於 2026 年 10 月 22 日查閱。本文未連接真實錢包或簽署交易,也未涵蓋所有網路、NFT 或智慧帳戶的進階權限。

需要協助遇到問題投注停不下來更正與聯絡狀態

Discord 讀者社群;公開討論,分享前請遮蔽個資。