每日最新頭條.有趣資訊

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

像區塊鏈行業的很多概念一樣,“智能合約”(Smart Contract)是一個讓人困惑的詞匯。作為一項由公有區塊鏈賦能的技術,智能合約因其名稱在一定程度上未能準確描述其核心的互動特性而使人難以理解。

雖然標準合約概述了關係條款(通常由法律強製執行),但智能合約使用區塊鏈技術代碼強製執行關係。換言之,智能合約就是完全按照創建者的設定而執行的程序。

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

(來源:CoinDesk)

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

以太坊是專門為創建智能合約而構建的平台。

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

智能合約的工作原理

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

以太坊以一種允許開發者編寫的程序語言取代了比特幣限制性更強的語言(一百多個腳本的腳本語言)

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

以 “多簽名”(multi-signature)账戶運行,因此只有在達到要求比例的人數同意時,相關資金才可被花掉;

管理用戶間的協議,例如,一用戶從另一用戶手中購買保險;

為其他合約提供實用程序(類似於軟體庫的工作方式);

存儲一個應用的信息,如域名注冊信息或者會員記錄。

數字的力量

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

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

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

如我們在“How Ethereum Works”一文中所闡釋的,當用戶或者另一份智能合約消耗足夠的交易費用向其發送信息時,以太坊會運行智能合約。然後以太坊虛擬機以 “字節碼” 或一系列可以被網絡讀取和解釋的“0” 和 “1”來執行智能合約。

翻譯:王澤龍

責編:寇建超

區塊鏈101

比特幣怎樣挖礦?|區塊鏈 101

公鏈和許可鏈有什麽差異?|區塊鏈 101

誰是中本聰?|比特幣 101

什麽是閃電網絡?|區塊鏈 101

獲得更多的PTT最新消息
按讚加入粉絲團