以太坊智慧合約如何工作?

買賣虛擬貨幣
像區塊鏈行業的很多概念一樣,“智慧合約”(Smart Contract)是一個讓人困惑的詞彙。作為一項由公有區塊鏈賦能的技術,智慧合約因其名稱在一定程度上未能準確描述其核心的互動特性而使人難以理解。雖然標準合約概述了關係條款(通常由法律強制執行),但智慧合約使用區塊鏈技術程式碼強制執行關係。換言之,智慧合約就是完全按照建立者的設定而執行的程式。

1993 年,計算機學家、密碼學家尼克·薩博(Nick Szabo)提出了 “智慧合約” 這一概念,他將其比作一種數字化的自動販售機。在其知名的例子中,他描述了使用者如何透過輸入資料與數值,從機器中接收物品的例子(在這個例子中,這些物品是指現實世界中的小吃或者軟飲)。

舉一個簡單的例子,以太坊使用者可以使用智慧合約在特定的日期向其朋友傳送 10 枚以太幣(ETH)。在這一案例中,使用者會建立一個合約,並向其中存入資料,以使其能夠執行使用者想要的命令。

以太坊是專門為建立智慧合約而構建的平臺。

但這些新的工具並非孤立使用。它們可以被用來構建去中心化應用(DApp),甚至是完全去中心化自治組織(DAO)的模組。

智慧合約的工作原理

值得注意的是,就比特幣網路支援 "從一個人到另一個人的價值轉移" 的意義而言,它是首個支援基本智慧合約的加密貨幣。比特幣節點僅在滿足某些條件的情況下才會驗證交易。但比特幣僅限於作為貨幣使用。

而以太坊以一種允許開發者編寫的程式語言取代了比特幣限制性更強的語言(一百多個指令碼的指令碼語言)。

以太坊允許開發者編寫其自己的智慧合約,或者如以太坊白皮書所稱的那樣 — — 自動化代理(autonomous agents)。該語言具有 “圖靈完備”(Turing-complete)性,這意味著它支援更為寬泛的計算指令。智慧合約可以:

· 以 “多簽名”(multi-signature)賬戶執行,因此只有在達到要求比例的人數同意時,相關資金才可被花掉;
· 管理使用者間的協議,例如,一使用者從另一使用者手中購買保險;
· 為其他合約提供實用程式(類似於軟體庫的工作方式);
· 儲存一個應用的資訊,如域名註冊資訊或者會員記錄。

數字的力量

根據最後一點推斷,一個 “智慧合約” 可能需要其他 “智慧合約“ 的幫助。

當有人對炎熱夏日溫度進行簡單預測時,其可能觸發一系列合約。一份合約會使用外部資料來判別天氣,另一份合約可能會在相關條件滿足後,基於其所接收到的第一份合約的資訊,來決定如何下注。

執行每份合約需要以太幣交易費用,其數額取決於所需算力的大小。

如我們在 “How Ethereum Works” 一文中所闡釋的,當使用者或者另一份智慧合約消耗足夠的交易費用向其傳送資訊時,以太坊會執行智慧合約。然後以太坊虛擬機器以 “位元組碼” 或一系列可以被網路讀取和解釋的 “0” 和 “1” 來執行智慧合約。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;