頁面上次更新: 2023年6月2日
智慧型合約簡介
智慧型合約是以太坊應用程式的基本構建模塊。 它們是儲存在區塊鏈上的計算機程式,這些程式使我們能夠將傳統合約轉換成對應的數字化合約。 智慧型合約有極高的邏輯性,遵循假設推理的結構。 這就意味著它表現得和程式編寫的一樣並且不能被改變。
Nick Szabo 第一個提出「智慧型合約」這個名字。 他于 1994 年撰寫了《智慧型合約概念簡介》(opens in a new tab),之後于 1996 年撰寫了《探索智慧型合約可以做什麼》(opens in a new tab)。
Nick Szabo 設想在這些具有加密安全性的自動流程之上建立一個數字市場, 其中的交易和業務功能在沒有信任也沒有中間機構的情況下就能進行。 以太坊上的智慧型合約將這一願景付諸實踐。
什麽是合約?
你可能在想:「我不是律師! 我為什麽要關心合約?」。 對於大多數人來說,合約會讓人想起不必要的冗長條款和條件協議或無聊的法律文件。
合約就是協議。 也就是,合約條件中可以封存任何形式的協議。 口頭協議或實際用筆紙簽定的合約在很多事情上都是可行的,但仍然有其缺點。
信任和合約
傳統合約的其中一個大問題是 ,需要受信任的個人遵守合約結果。
例如:
Alice 和 Bob 進行一場自行車比賽。 Alice 和 Bob 打賭 10 美金,她會鸁得比賽。 而 Bob 相信自己會鸁得比賽,所以同意打賭。 結果,Alice 把 Bob 遠遠抛在後面,很明顯地,鸁得了比賽。 但 Bob 拒絕支付賭注,聲稱 Alice 一定有作弊。
這個好笑的範例說明了非智慧型協議會發生的問題。 即使已符合了協議的條件(亦即,你是比賽的獲勝者),你還需要相信對方會履行協議(也就是支付賭注)。
智慧型合約
智慧型合約將協議轉化成數位形式,也就是將協議條款轉變成電腦程式碼,並在符合合約條款時自動執行。
數位自動販賣機
用簡單的比喻來說,智慧型合約像是一台自動販賣機,只要按下特定的按鍵,就會得到預先設定好的商品。
- 你選擇一個商品
- 自動販賣機顯示購買該商品所需要的金額
- 你投入正確的金額
- 自動販賣機確認你是否投入了正確的金額
- 自動販賣機提供你選擇的商品
自動販賣機只在所有需求都符合時,才會提供你想要的商品。 如果你沒有選擇商品或是投入足夠的錢,自動販賣機不會提供商品。
自動執行
比起一般的合約,智慧型合約其中一個優點是,當合約條件實現時,會自動執行合約內容的結果。 不需要等待人們去執行合約內容的結果。 換言之,智慧型合約消除了對信任的需求。
例如,你可以撰寫為小孩代管資金的智慧型合約,讓他們在過了特定的日期後才可領取該資金。 即使他們想提前領取那些資金,智慧型合約也無法執行。 或者,你也可以撰寫一個智慧型合約,當你付款給汽車經銷商後,他們會自動給你數位版的車輛所有權證書。
可預測的結果
在傳統合約中,人為因素是導致失敗的重要原因之一。 例如,兩個不同的法官可能對一份傳統合約有不同的理解。 他們各自的理解方式可能會導致做出不同的決定,因而造成截然不同的結果。 智慧型合約消除了對合約內容有不同理解的可能性。 相對地,智慧型合約會根據合約程式碼所撰寫的條件準確地執行。 準確的意思是指,只要提供相同的條件,智慧型合約就會產生相同的結果。
公開的記錄
智慧型合約對審核和追蹤來說也很有用。 由於以太坊的智慧型合約是撰寫在公共區塊鏈上,任何人都可立即追蹤資產的傳送和其他相關資訊。 例如,你可以查看別人傳送到你的地址的錢。
隱私保護
智慧型合約也可以保護我們的隱私。 由於以太坊是匿名網路(所進行的交易是公開的與唯一的加密地址,而非個人身分綁定),因而可以保護隱私不受監視。
公開可見的條款
最後,與一般合約相同,你可以在簽署智慧型合約之前檢查合約內容(或者與合約進行互動)。 最棒的是,公開透明化的合約條款,意味著每個人都可詳細檢查。
智慧型合約使用案例
所以,智慧型合約是活躍於區塊鏈上的電腦程式。 智慧型合約可以自動執行。 你可以追蹤它們的交易,預測它們的動作,甚至以匿名的方式來使用它們。 聽起來很棒。 但這些好處可以用來做什麼呢? 基本上,智慧型合約可以做到所有電腦程式能做到的任何事。
它們可以執行計算、創造貨幣、儲存資料、發行非同質化代幣、傳送通訊內容,甚至產生圖形。 以下是一些真實世界流行的範例:
想透過視覺方式學習?
觀看 Finematics 講解智慧型合約:
延伸閱讀
- 智慧型合約將如何改變世界(opens in a new tab)
- 智慧型合約:將取代律師的區塊鏈技術(opens in a new tab)
- 適用於開發者的智慧型合約
- 學習撰寫智慧型合約
- 精通以太坊 ─ 智慧型合約是什麼?(opens in a new tab)