術語表

什麼是智慧合約?

進階 · 閱讀約需 6 分鐘
What Is a Smart Contract?

智慧合約是儲存在區塊鏈上的程式:在特定合約地址上,有程式碼(它能做什麼)與狀態(它目前存了什麼)。 智慧合約是鏈上軟體,有人呼叫它時就會執行。

定義

智慧合約是儲存在區塊鏈上的程式:在特定合約地址上,有程式碼(它能做什麼)與狀態(它目前存了什麼)。

用白話來說:

智慧合約是鏈上軟體,有人呼叫它時就會執行。 相同輸入、相同規則——是網路執行程式碼,不是某個櫃台人員。

交易者在意它,是因為以錢包為先的市場,大多就是在呼叫合約。兌換、存入,以及許多「授權」,都是你允許某個地址上的程式碼,依其規則移動價值或變更授權額度。

在交易中的意義

真正的交易問題

知道「DEX 使用智慧合約」只是標籤。有用的問題是:

我正在呼叫哪一份合約、簽章之後它能對我的代幣或部位做什麼,以及我是否足夠理解那個結果,才願意為它支付 Gas?

如果你連大致答不出來,你就不是在交易某個場所——你是在信任一顆按鈕。

一次呼叫實際怎麼跑

  1. 開發者部署位元組碼。鏈會給這份合約一個地址。
  2. 你(或你使用的路由器)送出一筆交易,指向該地址,並點名某個函式與輸入。
  3. 驗證者/證明者執行相同邏輯,並對結果達成一致。
  4. 餘額、池儲備、授權額度或部位在鏈上更新。對你而言,這次結算通常就是最終的。

一個簡單心智模型是自動販賣機:付款與選擇正確 → 出貨;輸入錯誤 → 不出貨。機器不會「決定對你好一點」。它只跑自己的規則。智慧合約是同一件事,只是帶著金融狀態。

交易者每天在哪裡碰到合約

你在介面感受到的動作底層常發生的事
連接錢包App 讀取你的地址;通常不是合約支出授權
授權代幣你設定授權額度,讓某個 花費者合約之後可以拉走該代幣
兌換/交易你呼叫路由器或池合約;它依其數學與權限移動代幣
存入/提領你在金庫或保證金合約規則下鎖定或釋放資產
領取/鑄造/「驗證」提示常常是合約呼叫,或是授予權利的簽章——要當成高注意力事件

網站是遙控器。合約才是能碰到資金的機器。

實作路徑:一筆兌換

你想在以錢包為先的場所,用 USDC 買 TOKEN。

  1. 若路由器需要權限,你先授權該路由器合約可支出 USDC(或用類似效力的 permit 風格簽章)。
  2. 你簽署一筆指向路由器或池的兌換交易。
  3. 合約檢查授權額度、依曲線或撮合規則取價、依程式碼收取手續費,並寫入新餘額。
  4. 你為這次執行支付 Gas。若呼叫 revert,代幣可能沒動——Gas 仍可能已經燒掉。

完成交易的,不是 App「裡」的魔法。是合約在你的金鑰授權那些呼叫之後完成的。

兩個簡短交易場景

場景 A — 同一個標誌,不同的合約。

釣魚網站複製熟悉的 DEX 版面。你連接並簽署看起來像例行授權的東西。花費者地址是攻擊者合約,不是真正的路由器。介面品牌是戲碼。授權額度卻是真的。永遠要讀代幣、花費者與數量——不要只看網站圖示。

場景 B — 「不可變」產品,可升級內臟。

某個協議宣傳合約已稽核。你使用的地址是代理(proxy):你的呼叫打到穩定的前端地址,但管理員之後可以把該代理指到新邏輯。第一天實作位元組碼可以沒問題,卻仍留下升級金鑰作為信任面。實務判斷不是「永遠不要用代理」。而是「搞清楚邏輯能不能改、誰能改」,再據此調整曝險規模。更深的攻擊手法目錄屬於「什麼是智慧合約風險?」。

不可變性、升級與最終性

  • 預設故事: 一旦部署,那份位元組碼通常不會原地默默改寫自己。漏洞會留著,直到使用者遷移或停止呼叫它。
  • 可升級故事: 許多正式系統把代理地址(你呼叫的)與實作邏輯(真正跑的)分開。替換實作可以修漏洞——也能在管理員或治理控制下改規則。
  • 對交易者的最終性: 已結算的惡意抽走、錯誤授權,或糟糕的兌換路徑,很少能靠客服對話還原。程式碼執行沒有附帶退款櫃檯。

預言機與其他合約(點到為止)

合約對鏈上狀態看得很清楚。許多合約需要預言機或其他合約來取得價格與外部事實。你的風險不只是「這一份 Solidity 檔」——而是你的部位所依賴的那一整包程式碼與資料依賴。可組合性(合約呼叫合約)放大用途,也放大攻擊面。

簽署前的設計動作

  1. 把介面與地址分開。 優先使用經驗證的連結,以及官方文件或區塊瀏覽器上已知的合約地址。
  2. 讀懂權限。 授權與 permit 流程會把持續權力交給花費者;無限額度是方便,尾巴也更長。
  3. 控制第一次接觸的規模。 新的或未經稽核的合約,值得用小筆部位,而不是滿額信念倉。
  4. 把 Gas 與 revert 編進預算。 執行成本是交易的一部分;反覆失敗的實驗,仍是付過錢的實驗。
  5. 問邏輯能不能移動。 代理加上管理員,是與凍結實作不同的信任模型。
  6. 遇到不透明簽章就停。 若錢包顯示無法解讀的資料,且利害關係重大,就不要盲目簽章——等更清楚的細節,或直接略過。

在像 edgeX 這類以錢包為先的場所,習慣很具體:每條交易路徑都是合約路徑。簽署時要當成會移動資金的是程式碼——不是行銷頁。

別與這些混淆

  • 智慧合約 ≠ 傳統法律契約。 鏈上程式碼執行規則。不會只因為出現「contract」這個詞,就自動變成法院可強制執行的協議。法律效力取決於管轄與事實;本頁教的是交易者實際碰到的技術物件。
  • 智慧合約 ≠ 無法被駭。 不可變性表示已部署邏輯很難原地修補。它不表示邏輯本來就正確。漏洞、錯誤權限,以及敵意升級,正是「什麼是智慧合約風險?」自成主題的原因。
  • 智慧合約 ≠ 網站。 前端可以說謊、地區封鎖,或消失。授權額度與餘額跟著合約和你的金鑰走。
  • 智慧合約 ≠ 代幣本身。 代幣合約定義資產規則。路由器或池是另一份你可能授權並呼叫的合約。
  • 智慧合約 ≠ 代幣授權。 授權是權限紀錄(常寫在代幣合約內),點名某個花費者。花費者通常是另一份智慧合約。見「什麼是代幣授權?」。
  • 智慧合約 ≠ Gas。 Gas 是執行程式碼或轉移價值的執行費用。合約往往才是那筆費用所支付去跑的東西。

準備好下一步了嗎?

從本頁透過官方連結繼續註冊或開始交易。

在 edgeX 開始交易

免責聲明

本內容僅供學習參考,不構成投資建議。交易數位資產及衍生品存在風險,交易前請確保了解相關產品,並結合自身情況審慎決策。