前言:關注區塊鏈就會經常聽到「智能合約」的術語,那麼如何理解「智能合約」?它從何而來,它如何運作?它有什麼優缺點?

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

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

智能合約的歷史

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

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

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

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

什麼是智能合約

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

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

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

智能合約如何運作?

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

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

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

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

編程語言和程序

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

以太坊虛擬機(EVM)是以太坊上智能合約的運行環境。它實際上是完全隔離的,這意味着在 EVM 上運行的代碼無法訪問網絡、文件系統和其他進程。智能合約對其他的智能合約的訪問權也有限,在區塊鏈網絡上單獨運作。

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

  1. 用以太坊高級語言編寫
  2. 用 EVM 編譯器編譯成字節碼
  3. 用以太坊客戶端上傳到區塊鏈網絡

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

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

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

智能合約的優缺點

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

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

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

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

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

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

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

智能合約的應用

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

以太坊則是目前爲止最引人注目的智能合約框架,因爲它是專門爲支持智能合約的使用創建的。用 Solidity 語言編程,以太坊智能合約框架有助於促進去中心化網絡,便於用智能合約處理交易。

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

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

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

結論

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

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