什麼是區塊鏈的“智慧合約”

買賣虛擬貨幣


前言:關注區塊鏈就會經常聽到“智慧合約”的術語,那麼如何理解“智慧合約”?它從何而來,它如何運作?它有什麼優缺點?……本文適用於初學者,作者是CoinBundle Team,文章來源於medium.com,由藍狐筆記社群“Leo”翻譯。

我們經常會聽到區塊鏈技術的流行語,如“去中心化網路”“智慧合約”等。有些人投資的時候,可能不會去關注專案的複雜細節,但不少成功的投資者對於“智慧合約”等重要術語非常熟悉,對加密貨幣背後的具體技術理解透徹。

我們可以從智慧合約的歷史到智慧合約的應用一一闡述。首先要提到的是,本文不涉及任何投資建議。本文主要是闡述智慧合約的關鍵部分以及它對區塊鏈和加密貨幣的潛在重要性。

智慧合約的歷史

在全面闡述什麼是智慧合約之前,我們先回顧一下它建立的歷史背景,有助於理解它的重要性。

1994年,電腦科學家和密碼學家Nick Szabo首次提出“智慧合約”概念。它早於區塊鏈概念的誕生。Szabo描述了什麼是“以數字形式指定的一系列承諾,包括各方履行這些承諾的協議”。雖然有它的好處,但智慧合約的想法一直未取得進展——主要是缺乏可以讓它發揮出作用的區塊鏈。

直到2008年,第一個加密貨幣比特幣才出現,同時引入了現代區塊鏈技術。區塊鏈最初是以比特幣的底層技術出現的,各種區塊鏈分叉導致發生很大的變化。智慧合約在2008年依然無法融入比特幣區塊鏈網路,但在五年後,以太坊讓它浮出水面。從此,湧現出了各種不同形式的智慧合約,其中以太坊智慧合約使用最廣。

智慧合約的概念可以追溯到1994年,由Nick Szabo提出,但直到2008年才出現採用智慧合約所需的區塊鏈技術,而最終於2013年,作為以太坊智慧合約系統的一部分,智慧合約首次出現。

什麼是智慧合約

上面提到了歷史背景,下面從多個角度繼續探討。智慧合約是一種特殊協議,旨在提供、驗證及執行合約。具體來說,智慧合約是區塊鏈被稱之為“去中心化的”重要原因,它允許我們在不需要第三方的情況下,執行可追溯、不可逆轉和安全的交易。

智慧合約包含了有關交易的所有資訊,只有在滿足要求後才會執行結果操作。智慧合約和傳統紙質合約的區別在於智慧合約是由計算機生成的。因此,程式碼本身解釋了參與方的相關義務。

事實上,智慧合約的參與方通常是網際網路上的陌生人,受制於有約束力的數字化協議。本質上,智慧合約是一個數字合約,除非滿足要求,否則不會產生結果。

智慧合約如何運作?

很多區塊鏈網路使用的智慧合約功能類似於自動售貨機。智慧合約與自動售貨機類比:如果你向自動售貨機(類比分類賬本)轉入比特幣或其他加密貨幣,一旦輸入滿足智慧合約程式碼要求,它會自動執行雙方約定的義務。

義務以“if then”形式寫入程式碼,例如,“如果A完成任務1,那麼,來自於B的付款會轉給A。”透過這樣的協議,智慧合約允許各種資產交易,每個合約被複制和儲存在分散式賬本中。這樣,所有資訊都不能被篡改或破壞,資料加密確保參與者之間的完全匿名。

雖然智慧合約只能與數字生態系統的資產一起使用,不過,很多應用程式正在積極探索數字貨幣之外的世界,試圖連線“真實”世界和“數字”世界。

智慧合約根據邏輯來編寫和運作。只要滿足輸入要求,也就是說只要程式碼編寫的要求被滿足,合約中的義務將在安全和去信任的網路中得到執行。

程式語言和程式

為了編寫智慧合約,你必須使用智慧合約語言(SCL)。這些是直接編寫智慧合約或編譯成智慧合約的程式語言。Solidity是一種編寫智慧合約的程式語言,它在以太坊虛擬機器上執行。它是一種面向合約的高階語言,其語法類似於JavaScript,主要針對以太坊EVM。

以太坊虛擬機器(EVM)是以太坊上智慧合約的執行環境。它實際上是完全隔離的,這意味著在EVM上執行的程式碼無法訪問網路、檔案系統和其他程序。智慧合約對其他的智慧合約的訪問權也有限,在區塊鏈網路上單獨運作。

在以太坊網路上編寫智慧合約有三個主要步驟:


1.     用以太坊高階語言編寫

2.     用EVM編譯器編譯成位元組碼

3.     用以太坊客戶端上傳到區塊鏈網路

對於智慧合約和開源編碼感興趣的人,廣為人知的資源之一是GitHub。這是開發人員託管軟體程式碼的線上平臺。你的每段程式碼會存在儲存庫中,儲存庫基本上是一個儲存所有程式碼元件的資料夾。

很多人把其他人的儲存庫複製和貼上到自己的賬戶中,然後進行微調整,變成自己的。透過搜尋專案和儲存庫來瀏覽頁面,可以幫你構建自己的專案。一旦找到你所需要的儲存庫,開啟它並搜尋內容,會包含大量有用程式碼的複雜內容。使用上述程式和資源,你也可以建立自己的智慧合約。

智慧合約是用SCL編寫的,以太坊智慧合約功能歸功於以太坊虛擬機器。這是以太坊上智慧合約的執行環境。

智慧合約的優缺點

就像任何其他新的系統協議一樣,智慧合約並不完美。使用智慧合約有幾個優點和缺點,包括更高的效率和缺乏監管。具體來說:

使用智慧合約的一些主要優勢包括在處理文件時的更高效率。這歸功於它能夠採用完全自動化的流程,不需要任何人為參與,只要滿足智慧合約程式碼所列出的要求即可。結果是,會節省時間,降低成本,交易更準確,且無法更改。

此外,智慧合約去除任何第三方干擾,進一步增強了網路的去中心化。

另一方面,智慧合約的使用也會產生不少問題。一些缺點包括:人為錯誤、完全實施有困難、不確定的法律狀態。

雖然很多人把智慧合約的不可逆轉特性看作是它的主要好處,但也有人認為一旦出現問題無法修改。因為人類會犯錯誤,在建立智慧合約時也一樣,一些繫結協議可能包含錯誤,而它們是無法逆轉的。

此外,智慧合約只能使用數字資產,在連線現實資產和數字世界時會出現問題。最後也是最重要的是,智慧合約缺乏法律監管,只受制於程式碼約定的義務。缺乏法律監管可能會導致一些使用者對網路上交易持謹慎態度,特別是它很重要的話。

使用智慧合約的優點是處理交易時效率更高,不可逆轉,安全的交易以及全自動化流程。另外一個方面,缺點就是缺乏法律監管,人為的錯誤和實施有困難。

智慧合約的應用

智慧合約已在各種區塊鏈網路中得以實施,其中最重要和最受歡迎的依然是比特幣和以太坊。雖然比特幣網路以使用比特幣執行交易聞名,它的協議也可以用來建立智慧合約。比特幣實際上提供的是一種程式語言,允許建立自定義智慧合約,比如支付通道。

以太坊則是目前為止最引人注目的智慧合約框架,因為它是專門為支援智慧合約的使用建立的。用Solidity語言程式設計,以太坊智慧合約框架有助於促進去中心化網路,便於用智慧合約處理交易。

除了加密貨幣之外,在不同行業的也有使用者場景,例如選舉、供應鏈最佳化、電子商務中可有效利用智慧合約。

因此,加密愛好者看到了最近智慧合約的發展,它與區塊鏈技術攜手合作,致力於改變數字化世界。

智慧合約可以用比特幣和以太坊建立。各行各業可以從智慧合約發展中受益,包括選舉、供應鏈和電子商務等。

結論

智慧合約真的智慧嗎?它讓區塊鏈網路上執行的交易效率更高,同時,由於它是無法修改的,也由此要謹慎檢視協議。

無論你如何看待智慧合約,越來越多的專案正在尋找駕馭它的方法,它們很多是從以太坊智慧合約開始的。隨著對智慧合約的研究不斷推進,可以關注它取得的進展,但最重要的是,不要忘記智慧合約在執行交易方面的重要性,交易在區塊鏈網路上是安全的、無須信任和分散式的。


------

風險警示:藍狐筆記所有文章都不構成投資推薦,投資有風險,投資應該考慮個人風險承受能力,建議對專案進行深入考察,慎重做好自己的投資決策。


本文已加入“POB.Network腦力挖礦”內容天使合夥人計劃。


想要深入瞭解區塊鏈,長按下面二維碼關注“藍狐筆記”區塊鏈公眾號:lanhubiji 或加入知識星球:https://t.zsxq.com/iaQNnIq

免責聲明:

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

推荐阅读

;