真的是區塊鏈技術的未來嗎?究竟什麼是智慧合約?
tan90d/張詠晴編譯
2019-01-04 14:59

 

有很多人說以太坊智慧合約是區塊鏈技術的未來。今天,我們接著瞭解什麼是智慧合約,以及智慧合約的運作原理是什麼。

 

什麼是智慧合約

 

像區塊鏈產業很多觀點一樣,「智慧合約」通常是令人混淆的。區塊鏈衍生新技術智慧合約,從字面意思上理解可能會讓人產生困惑。

 

標準的合約描述的是關係條款(通常由法律強制實施),而智慧合約是用代碼實施。換句話說,智慧合約是完全按照制定者的設置執行的程式。

 

這個想法在1993年首次提出,一位電腦學家兼加密學家Nick Szabo,把它成為是一種數位自動販賣機。他有一個很著名的例子,用戶輸入數據或數值,就可以從機器裡拿到某樣東西,在這個例子裡,就是真實的小吃或軟性飲料。

 

簡單舉個例子,以太坊用戶透過智慧合約,可以在特定時間給一位朋友發送10個ETH。在這個例子裡,用戶創建一個合約,並把數據放到合約裡,這樣合約就會按照指令執行。

 

以太坊是一個專門為智慧合約搭建的平台。

 

但是,這些新工具並不是獨立使用的。它們還可以構建「去中心化應用」甚至是完全去中心化自治公司。

 

智慧合約如何運作

 

需要指出,比特幣是首個支持基本的智慧合約的,網路可以把價值從一個人轉移到另外一個人。網路節點只會驗證交易是否滿足特定的條件。

 

但是比特幣僅限於作為貨幣。

 

相比之下,以太坊用一種可以讓開發者自己編寫程式的語言,取代了比特幣限制性更強的語言(一種大約只有一百多個腳本的腳本語言)。

 

以太坊讓開發者可以自己編譯智慧合約或是「自治代理」。這種語言是「圖靈完備」的,這意味著它支持範圍更廣泛的計算指令集。

 

智慧合約可以:

 

  • 使用「多重簽名」帳戶,只有一定比例的人同意才能動用資金。
  • 管理用戶之間的協議,例如一個人向另外一個人購買保險。
  • 為其他合約提供實用程式(類似於軟體庫的運作方式)
  • 儲存關於某個應用的資訊,例如域名註冊資訊或會員記錄。

 

數量大是力量

 

從最後一點推斷,智慧合約很有可能需要其他智慧合約輔助。當有人在炎熱的夏日對溫度下了一個簡單的賭注,就可能會觸發底層的一系列合約。

 

合約可以使用外部數據確定天氣,另外一個合約可以根據第一個合約接受到的資訊,在條件滿足的時候結算投注。

 

運行每個合約都需要交易手續費,而費用多少取決於所需的計算能力。當用戶或其他合約向其發送資訊和足夠的手續費時,以太坊就會運行智慧合約。接著以太坊虛擬機會執行編譯成網路可以讀取的「位元組碼」的智慧合約。

 

本文為巴比特資訊授權刊登,原文標題為「巴比特專欄 | 零基礎瞭解以太坊:以太坊智能合約的運作原理