區塊鏈101:以太智慧合同如何運作?

雪花又一年發表於2018-04-17
1620

和區塊鏈行業的許多想法一樣,普遍的困惑也被稱為“智慧合同”。

一項由公共區塊鏈所製造的新技術,智慧合同難以理解,因為這一術語在一定程度上混淆了所描述的核心互動。

一份標準合同概述了一段關係的條款(通常是由法律強制執行的),而一份聰明的合同則會強制與密碼程式碼的關係。

1620

換句話說,聰明的合同就是那些由他們的創造者設定的程式。

最初構想於1993年,最初由電腦科學家和密碼學家Nick Szabo描述為一種數字自動販賣機。在他著名的例子中,他描述了使用者如何輸入資料或價值,並從機器接收一個有限的專案,在這種情況下是現實世界的小吃或飲料。

在一個簡單的例子中,ethereum使用者可以使用智慧契約在某個日期向一個朋友傳送10個以太(見我們的指南“什麼是以太?”)。

在這種情況下,使用者將建立一個契約,並將資料推到該契約中,這樣它就可以執行所需的命令。

Ethereum是專門為建立智慧合同而建立的平臺。

但這些新工具並不打算單獨使用。人們相信,它們也可以構成“分散應用”的構建模組(參見:“什麼是Dapp?”),甚至是整個分散的自治公司(參見:“什麼是DAO?”)

智慧合約如何工作?

值得注意的是,比特幣是第一個支援基本智慧合同的人,因為網路可以將價值從一個人轉移到另一個人身上。節點網路只有在滿足某些條件時才會驗證事務。

但是,比特幣僅限於貨幣用例。

相比之下,ethereum取代了比特幣更為嚴格的語言(一種大約100個指令碼的指令碼語言),並用一種允許開發者編寫自己程式的語言取而代之。

Ethereum允許開發人員為他們自己的智慧合同程式設計,或者“自動代理”,就像Ethereum白皮書所稱的那樣。該語言是“Turing-complete”,意思是它支援更廣泛的計算指令集。

聰明的合同可以:

  • 功能是“多簽名”賬戶,因此只有當需要的百分比的人同意時才使用資金。
  • 管理使用者之間的協議,比方說,如果一個人從另一個購買保險。
  • 為其他契約提供實用程式(類似於軟體庫的工作方式)
  • 儲存有關應用程式的資訊,如域註冊資訊或成員記錄。

人多力量大

從最後一點推斷,智慧合同很可能需要其他智慧合同的幫助。

當一個人在炎熱的夏天把一個簡單的賭注壓在溫度上時,它可能會引發一系列的合同。

一份合同將使用外部資料來確定天氣情況,另一份合同可以根據在滿足條件時從第一份合同中獲得的資訊來結算。

執行每個合同需要以太交易費用,這取決於所需的計算能力。

正如我們的指南“Ethereum如何工作”中所解釋的,當一個使用者或另一個合同以足夠的交易費用傳送訊息時,Ethereum會執行智慧契約程式碼。

然後,Ethereum虛擬機器在“位元組碼”中執行智慧契約,或由網路讀取和解釋的一系列1和0。

原文釋出時間為:2018-04-07
本文作者:智慧計算時代
本文來源:騰訊雲 雲+社群,如需轉載請聯絡原作者。


相關文章