歡迎光臨
每天分享高質量文章

區塊鏈 2.0:智慧合約及其型別(五) | Linux 中國

智慧合約是在區塊鏈上驗證和建立新“資料塊”的基本協議,它被吹捧為該系統未來發展和應用的焦點。然而,像所有“萬靈藥”一樣,它不是一切的答案。

— Ostechnix

 

這是 區塊鏈 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. ↩

已同步到看一看
贊(0)

分享創造快樂