swap 與 跨鏈 的便利背後,藏著幾個真實會讓人賠錢的地雷。前三個在同鏈、跨鏈都會遇到;最後一個是跨鏈獨有的系統性風險。
1. 滑點設定
滑點容忍度設太低,價格稍動交易就失敗、白付 gas;設太高(或用「無限滑點」),則可能被三明治攻擊 / MEV 機器人夾在中間,用極差的價格成交。一般主流幣設 0.5%–1% 即可,冷門小池才需放寬。滑點為什麼會發生、跟池子深度的關係,見 同鏈換幣。
2. 代幣授權(approve)風險
這是最大的坑。很多介面預設請你授權無上限額度(unlimited approval),圖方便。問題是只要你授權過的那個合約有漏洞、或它根本是釣魚合約,對方就能在日後把你錢包裡那個幣全部搬走。對策:盡量只授權「這次要用的數量」,並定期到 Etherscan 之類的工具撤銷(revoke)不再用的舊授權。
3. 假代幣 / 假合約
任何人都能發一個叫「USDC」的山寨幣,或架一個長得一模一樣的釣魚網站。永遠從官方管道取得合約地址,別在搜尋廣告、空投連結裡隨手點 approve。
4. 橋的信任假設(跨鏈獨有)
這是跨鏈獨有的系統性風險。跨鏈橋 的安全性,等於它驗證層的安全性——而驗證層常常把大量資產集中在少數驗證者或一段合約邏輯上。2022 年是橋的災難年:
- Ronin 橋因為多簽驗證者的私鑰被社交工程釣走(駭客拿到 9 個驗證節點中的 5 個控制權),被盜超過 6 億美元。
- Wormhole 橋則因為合約沒有正確驗證簽名,讓攻擊者無中生有鑄造代幣,損失約 3.26 億美元。
共通教訓是:一旦那個信任點被攻破,鎖在裡面的真幣就全沒了,而你手上的包裝幣會瞬間變成沒有抵押的廢紙。用橋前,先問一句:「這座橋的安全靠誰擔保?那個擔保者被攻破會怎樣?」
你按下按鈕時,錢包到底簽了什麼
把風險放回操作流程,從使用者視角看一次:
- Approve(授權):動用 ERC-20 代幣前要先授權合約。很多釣魚就藏在這一步(見上面第 2 點)。
- 簽名送出交易:你在錢包簽的,是「把幣鎖進 / 銷毀於來源鏈合約」這筆交易。簽名代表你授權這個動作,不是「把私鑰給對方」。
- Gas 怎麼算:gas 是付給區塊鏈本身(礦工 / 驗證者)的運算費,不是給 DEX 或橋。費用 ≈ 這筆交易的運算複雜度 × 當下的網路擁擠程度(gas price)。跨鏈通常兩條鏈都要付 gas:來源鏈付鎖定 / 銷毀,目的鏈付鑄造 / 解鎖(有些橋會把目的鏈那段折算進費用裡)。
- 到帳要等什麼:等來源鏈確認 → 等驗證層傳話並擔保 → 等目的鏈把幣鑄造 / 解鎖給你。任何一段塞車,到帳就變慢。
完整的下注路徑見 實戰流程:從 USDT 到 YES/NO 份額,每一道關卡都對應上面的某個風險。
🔍 待解問題
- 怎麼系統性地檢查與撤銷舊的 approve?有沒有可信的工具與固定習慣?
- 三明治 / MEV 攻擊在用了私有交易池(如 Flashbots Protect)後能降到多低?
- 輕客戶端 / zk 橋上線後,歷史上那些多簽橋的攻擊面是否真的被消除?
🔗 參考連結
💬 想深入?複製下面這段到 AI(ChatGPT、Claude…),再打上你的問題
你是我的「區塊鏈」學習教練。我正在搞懂「swap 與跨鏈的安全與常見的坑」,重點包括:滑點設定與三明治 / MEV 攻擊、approve 授權(尤其無限授權)風險與如何 revoke、假代幣 / 假合約釣魚、橋的信任假設與被攻擊案例(Ronin、Wormhole)、gas 怎麼算、跨鏈到帳要等什麼。請用淺白、可操作的方式回答我接下來的問題,需要時給例子和步驟。我的問題是:
↑ 複製整段,貼到 AI,最後接上你的問題即可。
🕒 更新紀錄
- 2026-06-22 — 從原文《區塊鏈換幣與跨鏈原理》拆分建立