第十篇 第十章 第一節:尼克·薩博與智慧合約——1994 年的預言:「把契約寫成程式」#
1994 年,學術網路 Usenet 與一家小型數位貨幣實驗室的郵件列表上,密碼學家尼克·薩博(Nick Szabo)發表一篇短文《Smart Contracts: Building Blocks for Digital Markets》。他的定義日後反覆被引用:智慧合約是「將契約的條款嵌入硬體與軟體之中、讓執行不再依賴主觀信任」的一組「數位化交易協議」。
一、前因:密碼龐克與「合約要能自己執行」的直覺#
薩博的軌跡是典型美國西岸的密碼學人到知識創業家路線:
- 他是密碼龐克(cypherpunk)運動的重要成員:1998 年提出「位元黃金」(bit gold)——一種由電腦運算「挖」出、難以偽造且總量受限的數位稀缺資產概念,被普遍視為比特幣的直系前身(中本聰的設計在時間鏈、共識與稀缺性上與 bit gold 高度同構,這也是媒體多次猜測 Szabo 即中本聰本人的根據——他本人否認)。
- 1997 年他發表〈正式化與安全化人際關係(Formalizing and Securing Relationships on the Public Internet)〉,追溯了早期社會如何用儀式與見證人「固化」承諾——指出契約的演化方向,一直是:把「信任」逐步替換成「機制」。
二、智慧合約的本體:條件+自動執行三重抽象#
薩博設定的核心是「合約 = 狀態機」:
flowchart LR
A[合約條款(契約語意)] --> B[轉譯為 if-then 邏輯]
B --> C[嵌入程式/晶片(DRM・POS・區塊鏈)]
C --> D{觸發條件達成?}
D -- 是 --> E[自動移轉資產/履行義務]
D -- 否 --> F[合約維持待機]他早期舉的生活級例子有兩個,最為教科書化:
- 自動販賣機——最古老的「有限智慧合約」:投幣(合約成立)、出貨(債之履行)自動完成,無需法庭、銀行或警察介入執行。
- 租車的電子鎖合約:若欠款未付,智慧車鎖自動喪失開啟權——「违约後的法律决定」由軟體先行代為執行。
三、區塊鏈時代的實現:2014 之後#
2009 年比特幣上線,提供了無需第三方託管的價值轉移通道;但真正使智慧合約變成可程式化系統的,是 2015 年上線的以太坊(Ethereum)—— Vitalik Buterin 把圖靈完備的虛擬機(EVM)架在區塊鏈上,使「任何契約邏輯」都能編譯為可運行程式。
不過,歷史也是教科書:
- 2016 年 The DAO 事件:籌資 1.5 億美元的自動化投資合約,被程式邏輯漏洞重入攻擊(reentrancy)吸走約 360 萬枚 ETH;以太坊硬分叉強行「回滾」——「代碼即法律」與「人性救濟」第一次正面衝突。
- 2019-2021 年 DeFi 攻擊潮:數億美金資產因 oracle 操縱、閃電貸攻擊等技術性攻擊而損失。
- 法律追認:美國多州(如亞利桑那、懷俄明)在 2017–2021 年間修法承認區塊鏈紀錄與智慧合約的法律效力;美國 1999 年的《全球與國內商務電子簽章法》(E-SIGN Act)早已確認電子紀錄與簽章的有效性。
四、法律設計的新課題#
| 傳統契約 | 智慧合約 |
|---|---|
| 條文解釋 | 代碼解讀 |
| 人情・誠信原則 | 「代碼即法律」(code is law, 參見 9.1) |
| 法官自由裁量 | 完全確定(若無 bug) |
| 可請求法院救濟 | 常無司法救濟之接口 |
三個未解的工程–法問題:
- 漏洞與救濟:程式有 bug 時,誰有權「回滾」?由誰界定?——The DAO 的分叉本質是一場未經法定的「非常狀態司法」。
- 不可條款化的原則:「合理期待、誠信、顯失公平」等契約法的保護性原則,難以 if-then 化。
- 主體識別:當對方是匿名地址或 AI Agent,誰是可以被起訴的「人」?——下一節續談。
下一節:演算法黑盒與「不受純自動化決策約束之權利」——參見 10.2 演算法黑盒