Linux中國

區塊鏈 2.0:智能合約及其類型(五)

這是 區塊鏈 2.0 系列的第 5 篇文章。本系列的前一篇文章探討了我們如何在房地產行業實現區塊鏈。本文簡要探討了區塊鏈及相關技術領域內的 智能合約 Smart Contract 主題。智能合約是在區塊鏈上驗證和創建新「數據塊」的基本協議,它被吹捧為該系統未來發展和應用的焦點。 然而,像所有「萬靈藥」一樣,它不是一切的答案。我們將從基礎知識中探索這個概念,以了解「智能合約」是什麼以及它們不是什麼。

不斷發展的合同

這個世界建立在合同(合約)之上。在當前社會,沒有合約的使用和再利用,地球上任何個人或公司都無法運作。訂立、維護和執行合同的任務變得如此複雜,以至於整個司法和法律系統都必須以「合同法」的名義建立起來以支持它。事實上,大多數合同都是由一個「可信的」第三方監督,以確保最終的利益攸關者按照達成的條件得到妥善處理。有些合同甚至涉及到了第三方受益人。此類合同旨在對不是合同的活躍(或參與)方的第三方產生影響。解決和爭論合同義務佔據了民事訴訟所涉及的大部分法律糾紛。當然,更好的處理合同的方式來對於個人和企業來說都是天賜之物。更不用說它將以核查和證明的名義節省政府的巨大的文書工作 1

本系列中的大多數文章都研究了如何利用現有的區塊鏈技術。相比之下,這篇文章將更多地講述對未來幾年的預期。關於「智能合約」的討論源於前一篇文章中提出的財產討論。當前這篇文章旨在概述區塊鏈自動執行「智能」可執行程序的能力。務實地處理這個問題意味著我們首先必須定義和探索這些「智能合約」是什麼,以及它們如何適應現有的合同系統。我們將在下一篇題為「區塊鏈 2.0:正在進行的項目」的文章中查看當前該領域正在進行的主要應用和項目。

定義智能合約

本系列的第一篇文章從基本的角度來看待區塊鏈,將其看作由數據塊組成的「分散式分類賬本」,這些數據塊是:

  • 防篡改
  • 不可否認(意味著每個數據塊都是由某人顯式創建的,並且該人不能否認相同的責任)
  • 安全,且能抵禦傳統的網路攻擊方法
  • 幾乎是永久性的(當然這取決於區塊鏈協議層)
  • 高度冗餘,通過存在於多個網路節點或參與者系統上,其中一個節點的故障不會以任何方式影響系統的功能,並且,
  • 根據應用的不同可以提供更快的處理速度。

由於每個數據實例都是安全存儲和通過適當的憑證訪問的,因此區塊鏈網路可以為精確驗證事實和信息提供簡便的基礎,而無需第三方監督。區塊鏈 2.0 開發也允許「分散式應用程序(DApp)」(我們將在接下來的文章中詳細介紹這個術語)。這些分散式應用程序要求存在網路上並在其上運行。當用戶需要它們時就會調用它們,並通過使用已經過審核並存儲在區塊鏈上的信息來執行它們。

上面的最後一段為智能合約的定義提供了基礎。 數字商會 The Chamber for Digital Commerce 提供了一個許多專家都同意的智能合約定義。

「(智能合約是一種)計算機代碼,在發生指定條件時,能夠根據預先指定的功能自動運行。該代碼可以在分散式分類帳本上存儲和處理,並將產生的任何更改寫入分散式分類帳本」 2

智能合約如上所述是一種簡單的計算機程序,就像 「if-then」 或 「if-else if」 語句一樣工作。關於其「智能」的方面來自這樣一個事實,即該程序的預定義輸入來自區塊鏈分類賬本,如上所述,它是一個記錄信息的安全可靠的來源。如有必要,程序可以調用外部服務或來源以獲取信息,以驗證操作條款,並且僅在滿足所有預定義條件後才執行。

必須記住,與其名稱所暗示的不同,智能合約通常不是自治實體,嚴格來說,也不是合同。1996 年,Nick Szabo 很早就提到了智能合約,他將其與接受付款並交付用戶選擇的產品的自動售貨機進行了比較。可以在這裡查看全文。此外,人們正在制定允許智能合約進入主流合同使用的法律框架,因此目前該技術的使用僅限於法律監督不那麼明確和嚴格的領域 3

智能合約的主要類型

假設讀者對合同和計算機編程有基本的了解,並且基於我們對智能合約的定義,我們可以將智能合約和協議粗略地分類為以下主要類別。

1、智能法律合約

這大概是最明顯的一種。大多數(如果不是全部)合同都具有法律效力。在不涉及太多技術問題的情況下,智能法律合約是涉及到嚴格的法律追索權的合同,以防參與合同的當事人不履行其交易的目的。如前所述,不同國家和地區的現行法律框架對區塊鏈上的智能和自動化合約缺乏足夠的支持,其法律地位也不明確。但是,一旦制定了法律,就可以訂立智能合約,以簡化目前涉及嚴格監管的流程,如金融和房地產市場交易、政府補貼、國際貿易等。

2、DAO

去中心化自治組織 Decentralized Autonomous Organization ,即DAO,可以粗略地定義為區塊鏈上存在的社區。該社區可以通過一組規則來定義,這些規則通過智能合約來體現並放入代碼中。然後,每個參與者的每一個行動都將受到這些規則的約束,其任務是在程序中斷的情況下執行並獲得追索權。許多智能合約構成了這些規則,它們協同監管和監督參與者。

名為「創世紀 DAO」 的 DAO 是由以太坊參與者於 2016 年 5 月創建。該社區旨在成為眾籌和風險投資平台。在極短的時間內,他們設法籌集了驚人的 1.5 億美元。然而,由於黑客在系統中發現了漏洞,並設法從眾籌投資者手中竊取價值約 5000 萬美元的以太幣。這次黑客破壞的後果導致以太坊區塊鏈分裂為兩個,以太坊和以太坊經典。

3、應用邏輯合約(ALC)

如果你已經聽說過與區塊鏈相結合的物聯網,那麼很可能它涉及到了 應用邏輯合約 Application logic contract ,即 ALC。此類智能合約包含特定於應用的代碼,這些代碼可以與區塊鏈上的其他智能合約和程序一起工作。它們有助於與設備進行通信並驗證設備之間的通信(在物聯網領域)。ALC 是每個多功能智能合約的關鍵部分,並且大多數都是在一個管理程序下工作。在這裡引用的大多數例子中,它們到處都能找到應用 4

由於該領域還在開發中,因此目前所說的任何定義或標準最多只能說是變化而模糊的。

智能合約是如何工作的?

為簡化起見,讓我們用個例子來說明。

約翰和彼得是兩個爭論足球比賽得分的人。他們對比賽結果持有相互矛盾的看法,他們都支持不同的球隊(這是背景情況)。由於他們兩個都需要去其他地方並且無法看完比賽,所以約翰認為如果 A 隊在比賽中擊敗 B 隊,他就支付給彼得 100 美元。彼得考慮之後接受了該賭注,同時明確表示他們必須接受這些條款。但是,他們沒有兌現該賭注的相互信任,也沒有時間和錢來指定第三方監督賭注。

假設約翰和彼得都使用像 Etherparty 這樣的智能合約平台,它可以在合約談判時自動結算賭注,他們都會將基於區塊鏈的身份鏈接到該合約,並設置條款,明確表示一旦比賽結束,該程序將找出獲勝方是誰,並自動將該金額從輸家中歸入獲勝者銀行賬戶。一旦比賽結束並且媒體報道同樣的結果,該程序將在互聯網上搜索規定的來源,確定哪支球隊獲勝,將其與合約條款聯繫起來,在這種情況下,如果 A 隊贏了彼得將從約翰哪裡得到錢,也就是說將約翰的 100 美元轉移到彼得的賬戶。執行完畢後,除非另有說明,否則智能合約將終止並在未來所有的時間內處於非活動狀態。

拋開例子的簡單不說,這種情況涉及到一個經典的合同,而參與者選擇使用智能合約實現了相同目的。所有的智能合約基本上都遵循類似的原則,對程序進行編碼,以便在預定義的參數上執行,並且只拋出預期的輸出。智能合同諮詢的外部來源可以是有時被稱為 IT 世界中的 神諭 Oracle 。神諭是當今全球許多智能合約系統的常見部分。

在這種情況下使用智能合約使參與者可以獲得以下好處:

  • 它比在一起並手動結算更快。
  • 從其中刪除了信任問題。
  • 消除了受信任的第三方代表有關各方處理和解的必要性。
  • 執行時無需任何費用。
  • 在如何處理參數和敏感數據方面是安全的。
  • 相關數據將永久保留在他們運行的區塊鏈平台中,未來可以通過調用相同的函數並為其提供更多輸入來設置投注。
  • 隨著時間的推移,假設約翰和彼得變得賭博成癮,該程序可以幫助他們開發可靠的統計數據來衡量他們的連勝紀錄。 現在我們知道什麼是智能合約它們如何工作,我們還沒有解決為什麼我們需要它們

智能合約的需要

正如之前的例子我們重點提到過的,出於各種原因,我們需要智能合約。

透明度

交易對手非常清楚所涉及的條款和條件。此外,由於程序或智能合約的執行涉及某些明確的輸入,因此用戶可以非常直接地核實會影響他們和合約受益人的因素。

時間效率

如上所述,智能合約一旦被控制變數或用戶調用所觸發,就立即開始工作。由於數據是通過區塊鏈和網路中的其它來源即時提供給系統,因此執行不需要任何時間來驗證和處理信息並解決交易。例如,轉移土地所有權契約,這是一個涉及手工核實大量文書工作並且需要數周時間的過程,可以在幾分鐘甚至幾秒鐘內通過智能合約程序來處理文件和相關各方。

精度

由於平台基本上只是計算機代碼和預定義的內容,因此不存在主觀錯誤,所有結果都是精確的,完全沒有人為錯誤。

安全

區塊鏈的一個固有特徵是每個數據塊都是安全加密的。這意味著為了實現冗餘,即使數據存儲在網路上的多個節點上,也只有數據所有者才能訪問以查看和使用數據。類似地,利用區塊鏈在過程中存儲重要變數和結果,所有過程都將是完全安全和防篡改的。同樣也通過按時間順序為審計人員提供原始的、未經更改的和不可否認的數據版本,簡化了審計和法規事務。

信任

這個文章系列開篇說到區塊鏈為互聯網及其上運行的服務增加了急需的信任層。智能合約在任何情況下都不會在執行協議時表現出偏見或主觀性,這意味著所涉及的各方對結果完全有約束力,並且可以不附帶任何條件地信任該系統。這也意味著,在具有重要價值的傳統合同中所需的「可信第三方」,在此處不需要。當事人之間的犯規和監督將成為過去的問題。

成本效益

如示例中所強調的,使用智能合約需要最低的成本。企業通常有專門從事使其交易合法並遵守法規的行政人員。如果交易涉及多方,則重複工作是不可避免的。智能合約基本上使前者無關緊要,並且消除了重複,因為雙方可以同時完成盡職調查。

智能合約的應用

基本上,如果兩個或多個參與方使用共同的區塊鏈平台,並就一組原則或業務邏輯達成一致,他們可以一起在區塊鏈上創建一個智能合約,並且在沒有人為干預的情況下執行。沒有人可以篡改所設置的條件,如果原始代碼允許,任何更改都會加上時間戳並帶有編輯者的指紋,從而增加了問責制。想像一下,在更大的企業級規模上出現類似的情況,你就會明白智能合約的能力是什麼,實際上從 2016 年開始的 Capgemini 研究 發現智能合約實際上可能是「未來幾年的」 5 商業主流。商業的應用涉及保險、金融市場、物聯網、貸款、身份管理系統、託管賬戶、僱傭合同以及專利和版稅合同等用途。像以太坊這樣的區塊鏈平台,是一個設計時就考慮了智能合約的系統,它允許個人私人用戶免費使用智能合約。

通過對處理智能合約的公司的探討,本系列的下一篇文章中將更全面地概述智能合約在當前技術問題上的應用。

那麼,它有什麼缺點呢?

這並不是說對智能合約的使用沒有任何顧慮。這種擔憂實際上也減緩了這方面的發展。所有區塊鏈的防篡改性質實質上使得,如果所涉及的各方需要在沒有重大改革或法律追索的情況下,幾乎不可能修改或添加現有條款的新條款。

其次,即使公有鏈上的活動是開放的,所有人都可以看到和觀察。交易中涉及的各方的個人身份並不總是已知的。這種匿名性造成在任何一方違約的情況下法律有罪不罰的問題,特別是因為現行法律和立法者並不完全適應現代技術。

第三,區塊鏈和智能合約在很多方面仍然存在安全缺陷,因為對其所以涉及的技術仍處於發展的初期階段。 對代碼和平台的這種缺乏經驗最終導致了 2016 年的 DAO 事件。

所有這些都可能導致企業或公司在需要調整區塊鏈以供其使用時需要大量的初始投資。然而,這些是最初的一次性投資,並且隨之而來的是潛在的節約,這才是人們感興趣的。

結論

目前的法律框架並沒有真正支持一個全面的智能合約的社會,並且由於顯然的原因,在不久的將來也不會支持。一個解決方案是選擇「混合」合約,它將傳統的法律文本和文件與在為此目的設計的區塊鏈上運行的智能合約代碼相結合。然而,即使是混合合約仍然很大程度上尚未得到探索,因為需要創新的立法機構才能實現這些合約。這裡簡要提到的應用以及更多內容將在本系列的下一篇文章中詳細探討。

  1. S. C. A. Chamber of Digital Commerce, 「Smart contracts – Is the law ready,」 no. September, 2018.
  2. S. C. A. Chamber of Digital Commerce, 「Smart contracts – Is the law ready,」 no. September, 2018.
  3. Cardozo Blockchain Project, 「『Smart Contracts』 & Legal Enforceability,」 vol. 2, p. 28, 2018.
  4. F. Idelberger, G. Governatori, R. Riveret, and G. Sartor, 「Evaluation of Logic-Based Smart Contracts for Blockchain Systems,」 2016, pp. 167–183.
  5. B. Cant et al., 「Smart Contracts in Financial Services : Getting from Hype to Reality,」 Capgemini Consult., pp. 1–24, 2016.

via: https://www.ostechnix.com/blockchain-2-0-explaining-smart-contracts-and-its-types/

作者:ostechnix 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國