智能合約
智能合約是在區塊鏈上自動執行的程式碼——當條件滿足時,它會自動執行,不需要中間人,也沒有人能阻止它。這是區塊鏈從「數位貨幣」進化到「可程式化金融」的關鍵。
想像一台自動販賣機。
你投入硬幣,按下按鈕,飲料就會掉出來。
不需要店員。
不需要談判。
不需要信任對方會遵守承諾。
規則寫在機器裡,機器自動執行。
智能合約就是區塊鏈上的自動販賣機——只不過它可以處理的不只是飲料,而是任何可以用程式碼表達的協議。
智能合約的特性
自動執行
條件滿足就執行,無需人工介入
不需要信任對方
不可竄改
一旦部署就無法修改
安全但也有風險(Bug 也無法修)
透明公開
程式碼公開,任何人可驗證
可以審計,但攻擊者也看得到
去中心化
運行在區塊鏈上,沒有單點故障
審查抵抗
智能合約如何運作?
傳統合約流程:
1. 甲乙雙方談判
2. 簽署紙本合約
3. 一方違約
4. 另一方提告
5. 法院判決
6. 強制執行
→ 過程:數週到數年
智能合約流程:
1. 程式碼定義規則
2. 部署到區塊鏈
3. 觸發條件
4. 自動執行
→ 過程:幾秒到幾分鐘關鍵差異:傳統合約靠法律執行,智能合約靠程式碼執行。
這就是為什麼有人說:「Code is Law」(程式碼即法律)。
智能合約能做什麼?
代幣發行
ERC-20 代幣
股票、點數
NFT
數位藝術品、PFP
所有權證明
DeFi 借貸
Aave、Compound
銀行貸款
去中心化交易所
Uniswap、Curve
股票交易所
保險
Nexus Mutual
保險公司
治理
DAO 投票
股東會議
遊戲
鏈遊資產
遊戲道具
主流智能合約平台
以太坊
Solidity、Vyper
最大生態系、最多開發者
Solana
Rust
高性能、低手續費
BNB Chain
Solidity
與以太坊相容、較中心化
Arbitrum/Optimism
Solidity
以太坊 Layer 2
Avalanche
Solidity
快速、EVM 相容
Solidity:智能合約的主流語言
大多數智能合約用 Solidity 撰寫。
Solidity 的特點:
語法類似 JavaScript
專為區塊鏈設計
有完整的開發工具和文件
也有學習曲線和安全陷阱
Gas:智能合約的「燃料」
在以太坊上,每個操作都需要「Gas」。
簡單轉帳
21,000
代幣轉帳
約 65,000
DEX 交換
約 150,000-300,000
複雜 DeFi 操作
可能超過 500,000
Gas = 你願意為每單位計算付多少錢
網路擁堵時,Gas 價格會飆升。2021 年 NFT 熱潮時,一筆簡單交易可能要 $100-$500 的 Gas 費。這是以太坊擴容成為急迫議題的原因之一。
智能合約的風險
智能合約最大的風險是:Bug 無法修復。
傳統軟體有 Bug?更新版本就好。
智能合約有 Bug?幾百萬美元可能就沒了。
常見漏洞:
重入攻擊
在狀態更新前重複調用
The DAO(6000 萬美元)
整數溢出
數字超出範圍導致異常
多起 ERC-20 漏洞
權限漏洞
敏感函數沒有限制調用者
Parity 錢包(1.5 億美元凍結)
價格操縱
利用閃電貸操縱預言機價格
多起 DeFi 攻擊
如何寫安全的智能合約?
使用經過驗證的程式庫
OpenZeppelin 提供標準化的安全模組
不要重新發明輪子
審計
找專業公司審計程式碼
但審計通過不代表 100% 安全
漸進式部署
先在測試網測試
小額資金上線
逐步增加
設計安全機制
緊急暫停功能
多重簽名管理
時間鎖
可升級合約
既然智能合約不可修改,怎麼修 Bug?
解決方案:代理模式(Proxy Pattern)
但這有取捨:
✅ 可以修復 Bug
✅ 可以增加功能
❌ 犧牲了「不可竄改」的承諾
❌ 管理員可能濫用權力
ERC 標準
以太坊社群制定了各種「標準」,讓合約可以互通:
ERC-20
同質化代幣
USDT、LINK、UNI
ERC-721
NFT(非同質化代幣)
無聊猿、CryptoPunks
ERC-1155
多代幣標準
遊戲道具
ERC-4626
代幣化金庫
DeFi 收益聚合器
標準的好處:
錢包自動識別你的代幣
可以在 DEX 交易
可以在 DeFi 協議中使用
減少重複開發
智能合約的未來
Layer 2
把計算搬到 L2,降低成本
帳戶抽象
讓智能合約錢包更好用
形式化驗證
用數學證明合約正確
AI 輔助審計
用 AI 找漏洞
跨鏈合約
一個合約,多條鏈執行
對一般用戶的建議
你不需要會寫智能合約,但你應該:
了解授權風險
每次「Approve」都在授權合約動用你的代幣
定期用 Revoke.cash 檢查和撤銷授權
檢查合約是否審計
主流協議通常有多份審計報告
沒有審計的協議風險更高
注意可升級性
誰有權升級?
有沒有時間鎖?
小額測試
第一次使用新協議時,用小額資金測試
智能合約是區塊鏈從「數位黃金」進化到「可程式化金融」的關鍵創新。它讓「信任」從依賴人變成依賴程式碼。但程式碼也會有 Bug,所以「Code is Law」既是力量,也是風險。理解這一點,才能安全地使用這個強大的工具。
本章節目錄
相關條目
Last updated