什麼是智慧合約?

智慧合約是儲存在區塊鏈上的程式:在特定合約地址上,有程式碼(它能做什麼)與狀態(它目前存了什麼)。 智慧合約是鏈上軟體,有人呼叫它時就會執行。
定義
智慧合約是儲存在區塊鏈上的程式:在特定合約地址上,有程式碼(它能做什麼)與狀態(它目前存了什麼)。
用白話來說:
智慧合約是鏈上軟體,有人呼叫它時就會執行。 相同輸入、相同規則——是網路執行程式碼,不是某個櫃台人員。
交易者在意它,是因為以錢包為先的市場,大多就是在呼叫合約。兌換、存入,以及許多「授權」,都是你允許某個地址上的程式碼,依其規則移動價值或變更授權額度。
在交易中的意義
真正的交易問題
知道「DEX 使用智慧合約」只是標籤。有用的問題是:
我正在呼叫哪一份合約、簽章之後它能對我的代幣或部位做什麼,以及我是否足夠理解那個結果,才願意為它支付 Gas?
如果你連大致答不出來,你就不是在交易某個場所——你是在信任一顆按鈕。
一次呼叫實際怎麼跑
- 開發者部署位元組碼。鏈會給這份合約一個地址。
- 你(或你使用的路由器)送出一筆交易,指向該地址,並點名某個函式與輸入。
- 驗證者/證明者執行相同邏輯,並對結果達成一致。
- 餘額、池儲備、授權額度或部位在鏈上更新。對你而言,這次結算通常就是最終的。
一個簡單心智模型是自動販賣機:付款與選擇正確 → 出貨;輸入錯誤 → 不出貨。機器不會「決定對你好一點」。它只跑自己的規則。智慧合約是同一件事,只是帶著金融狀態。
交易者每天在哪裡碰到合約
| 你在介面感受到的動作 | 底層常發生的事 |
|---|---|
| 連接錢包 | App 讀取你的地址;通常不是合約支出授權 |
| 授權代幣 | 你設定授權額度,讓某個 花費者合約之後可以拉走該代幣 |
| 兌換/交易 | 你呼叫路由器或池合約;它依其數學與權限移動代幣 |
| 存入/提領 | 你在金庫或保證金合約規則下鎖定或釋放資產 |
| 領取/鑄造/「驗證」提示 | 常常是合約呼叫,或是授予權利的簽章——要當成高注意力事件 |
網站是遙控器。合約才是能碰到資金的機器。
實作路徑:一筆兌換
你想在以錢包為先的場所,用 USDC 買 TOKEN。
- 若路由器需要權限,你先授權該路由器合約可支出 USDC(或用類似效力的 permit 風格簽章)。
- 你簽署一筆指向路由器或池的兌換交易。
- 合約檢查授權額度、依曲線或撮合規則取價、依程式碼收取手續費,並寫入新餘額。
- 你為這次執行支付 Gas。若呼叫 revert,代幣可能沒動——Gas 仍可能已經燒掉。
完成交易的,不是 App「裡」的魔法。是合約在你的金鑰授權那些呼叫之後完成的。
兩個簡短交易場景
場景 A — 同一個標誌,不同的合約。
釣魚網站複製熟悉的 DEX 版面。你連接並簽署看起來像例行授權的東西。花費者地址是攻擊者合約,不是真正的路由器。介面品牌是戲碼。授權額度卻是真的。永遠要讀代幣、花費者與數量——不要只看網站圖示。
場景 B — 「不可變」產品,可升級內臟。
某個協議宣傳合約已稽核。你使用的地址是代理(proxy):你的呼叫打到穩定的前端地址,但管理員之後可以把該代理指到新邏輯。第一天實作位元組碼可以沒問題,卻仍留下升級金鑰作為信任面。實務判斷不是「永遠不要用代理」。而是「搞清楚邏輯能不能改、誰能改」,再據此調整曝險規模。更深的攻擊手法目錄屬於「什麼是智慧合約風險?」。
不可變性、升級與最終性
- 預設故事: 一旦部署,那份位元組碼通常不會原地默默改寫自己。漏洞會留著,直到使用者遷移或停止呼叫它。
- 可升級故事: 許多正式系統把代理地址(你呼叫的)與實作邏輯(真正跑的)分開。替換實作可以修漏洞——也能在管理員或治理控制下改規則。
- 對交易者的最終性: 已結算的惡意抽走、錯誤授權,或糟糕的兌換路徑,很少能靠客服對話還原。程式碼執行沒有附帶退款櫃檯。
預言機與其他合約(點到為止)
合約對鏈上狀態看得很清楚。許多合約需要預言機或其他合約來取得價格與外部事實。你的風險不只是「這一份 Solidity 檔」——而是你的部位所依賴的那一整包程式碼與資料依賴。可組合性(合約呼叫合約)放大用途,也放大攻擊面。
簽署前的設計動作
- 把介面與地址分開。 優先使用經驗證的連結,以及官方文件或區塊瀏覽器上已知的合約地址。
- 讀懂權限。 授權與 permit 流程會把持續權力交給花費者;無限額度是方便,尾巴也更長。
- 控制第一次接觸的規模。 新的或未經稽核的合約,值得用小筆部位,而不是滿額信念倉。
- 把 Gas 與 revert 編進預算。 執行成本是交易的一部分;反覆失敗的實驗,仍是付過錢的實驗。
- 問邏輯能不能移動。 代理加上管理員,是與凍結實作不同的信任模型。
- 遇到不透明簽章就停。 若錢包顯示無法解讀的資料,且利害關係重大,就不要盲目簽章——等更清楚的細節,或直接略過。
在像 edgeX 這類以錢包為先的場所,習慣很具體:每條交易路徑都是合約路徑。簽署時要當成會移動資金的是程式碼——不是行銷頁。
別與這些混淆
- 智慧合約 ≠ 傳統法律契約。 鏈上程式碼執行規則。不會只因為出現「contract」這個詞,就自動變成法院可強制執行的協議。法律效力取決於管轄與事實;本頁教的是交易者實際碰到的技術物件。
- 智慧合約 ≠ 無法被駭。 不可變性表示已部署邏輯很難原地修補。它不表示邏輯本來就正確。漏洞、錯誤權限,以及敵意升級,正是「什麼是智慧合約風險?」自成主題的原因。
- 智慧合約 ≠ 網站。 前端可以說謊、地區封鎖,或消失。授權額度與餘額跟著合約和你的金鑰走。
- 智慧合約 ≠ 代幣本身。 代幣合約定義資產規則。路由器或池是另一份你可能授權並呼叫的合約。
- 智慧合約 ≠ 代幣授權。 授權是權限紀錄(常寫在代幣合約內),點名某個花費者。花費者通常是另一份智慧合約。見「什麼是代幣授權?」。
- 智慧合約 ≠ Gas。 Gas 是執行程式碼或轉移價值的執行費用。合約往往才是那筆費用所支付去跑的東西。

準備好下一步了嗎?
從本頁透過官方連結繼續註冊或開始交易。
免責聲明
本內容僅供學習參考,不構成投資建議。交易數位資產及衍生品存在風險,交易前請確保了解相關產品,並結合自身情況審慎決策。






