以太坊上的智慧合約是如何運作的?

買賣虛擬貨幣
就像其他許多區塊鏈產業的點子一樣,人們也對「智慧合約」抱著無比的疑惑。智慧合約這個名詞誤導了人們對於智慧合約合約核心運作模式的理解,因此這個透過區塊鏈達成的技術讓人們不是很好理解。
一個我們日常生活中所提到的合約,是指一種通常透過法律作為強制力的兩造關係。但是智慧合約的強制力是透過加密的程式所達成的。換句話說智慧合約是一些我們寫好的程式,而且這些程式會照著程式開發者當初設定的內容運作。在1993年,智慧合約這個概念才被提出來。提出者是Nick Szabo,他是一位電腦科學家也是一位密碼學家。他最早把智慧合約描述為一種數位販賣機的概念。在他的例子中,他描述使用者如何能輸入資料或數值,從機器去換取有限的物品,在這個例子中這有限的物品是零食和氣泡飲料。在一個簡單的例子中,以太坊使用者可以利用智慧合約,在指定時間,傳送10個以太幣給自己的朋友。在這個例子中,使用者可以寫一個智慧合約,並且給予合約所需的資料,然後合約就可以執行我們所需的任務。
但其實這個新工具不是被設計為單獨使用。人們相信我們可以透過智慧合約技術,去達成去中心化應用程式(Dapp),甚至是一個去中心化自己運作的公司(DAO)。智慧合約是如何運作的?我們必須注意到,其實比特幣就已經支援某些基本的智慧合約功能。在交易被髮出去以後,比特幣網路上的節點可以設定在某些狀況才去驗證之前發出去的交易。但是比特幣被侷限在僅能當作貨幣用途使用。相反的,以太坊把比特幣較為受限的語言(比特幣是大概一百多個指令碼所構成的指令碼語言,詳見bitcoin wiki),用一個允許軟體工程師任意發揮他們能力的語言取代。以太坊允許開發者去開發他們自己的智慧合約,或者用以太坊白皮書裡面的說法 — 自動代理人(autonomous agents)。並且以太坊提供的語言是圖靈完備的,代表說它能支援更多的計算指令。智慧合約能做到:
· 多重簽名,這樣資金可以只有在指定一群人中達到指定比例的人同意後才能被花費。· 管理多個使用者之間的合約、協議。就像是紀錄是某個人向另個人買了保險。· 提供其他合約所需的功能及服務。(就像是寫軟體時所需要用到的函式庫)· 做應用軟體的紀錄,比如說像是域名申請的資訊或者是會員資料紀錄。群眾的力量從最後一點就可以推斷,智慧合約很可能需要來自其他智慧合約功能上的支援。比如說有人寫了一個能在夏天對氣溫下Du的簡單智慧合約。這個合約可能就會觸發其他合約。一個合約負責從外部得到天氣資訊,另個合約負責Du博所需要的計算,他就可以透過第一個合約回傳的資料去計算賠率。
在運作智慧合約的時候需要支付以太幣當作交易手續費。而這個交易手續費會隨著所需計算指令數量的增加而增加。就像在另一篇文章以太坊是如何運作的中提到的以太坊的智慧合約會在使用者或者另一個合約送足夠交易費的資訊開始運作。以太坊虛擬機器就會以位組碼(bytecode)的方式去執行智慧合約,而位元組碼是一連串可以被以太坊網路所讀取和編譯0和1。更多數字貨幣資訊:www.qukuaiwang.com.cn/news

免責聲明:

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

推荐阅读

;