智慧合約是部署在區塊鏈網路上的程式。當預設條件滿足時,智能合約會會自動執行。例如,Bob 使用智能合約為其女兒Alice 創建一個信託基金,該基金在Alice 滿18 歲前保持鎖定,且當Alice 年滿18 歲時,該基金將自動解鎖並轉入Alice 的帳戶,無需手動幹預。
「智能合約」一詞最初由美國電腦科學家尼克·薩博於 1994 年提出。尼克寫道:「智能合約是一種電腦化的交易協議,可執行合約的條款。智能合約設計的目標是滿足常見的合約要求、最小化異常情況和惡意幹擾,同時最小化人們對中介的需求.」
比特幣是第一個在技術上實現智能合約的區塊鏈(來源:Gemini)。其允許開發人員為交易的執行設定條件。例如,一筆多簽交易需要被一定數量的地址簽署後才能執行。然而,由於比特幣程式語言(Script)的限制,其只支援簡單的智能合約。
2015 年,以太坊上線,推動了智能合約的廣泛使用。以太坊的程式語言 Solidity 支援複雜的智能合約,各種去中心化應用得以建構。隨著區塊鏈的受歡迎程度呈指數級增長,技術不斷更新迭代。如今,智慧合約平台蓬勃發展,形成了有以太坊領導,其他平台百花齊放的局面。常見的智慧合約平台還有:BNB Chain、Solana、Avalanche、Aptos、Sui、Arbitrum、Optimism、zkSync 等。
智慧合約建構在區塊鏈平台上,因此其滿足區塊鏈技術的核心特點,如去中心化、難以竄改、公開透明。此外,智能合約還有兩大顯著特點:可預測和無需信任。
智能合約是可自動執行的程式碼,嚴格遵循「如果...,那麼...」的邏輯。例如,如果 Alice 年滿 18 歲,那麼信託基金將自動轉入 Alice 的帳戶。對於智能合約來說,特定的輸入只能產生一個固定且已知的結果。因此,人們可以透過查看合約的邏輯來推斷輸入某值會輸出什麼結果。
智能合約與傳統合約類似,都規定了協議的條款。但不同的是,智能合約的執行不依賴法律條款。其是自執行的計算機代碼,只遵循預先設定的規則。因此,智能合約的執行既不需要信任交易對手方,也不需要尋求第三方(如律師)的協助。
智能合約目前主要應用於去中心化應用的開發。目前,智能合約的應用已經十分廣泛,除了簡單的交易支付,還可以用來建構更複雜的金融產品,或被應用到傳統產業以解決傳統產業的一些難題。