我們經常會聽到區塊鏈技術的流行語,如「去中心化網路」「智能合約」等。有些人投資的時候,可能不會去關注項目的複雜細節,但不少成功的投資者對於「智能合約」等重要術語非常熟悉,對加密貨幣背後的具體技術理解透徹。
我們可以從智能合約的歷史到智能合約的應用一一闡述。首先要提到的是,本文不涉及任何投資建議。本文主要是闡述智能合約的關鍵部分以及它對區塊鏈和加密貨幣的潛在重要性。
智能合約的歷史
在全面闡述什麼是智能合約之前,我們先回顧一下它創建的歷史背景,有助於理解它的重要性。
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語言編程,以太坊智能合約框架有助於促進去中心化網路,便於用智能合約處理交易。
除了加密貨幣之外,在不同行業的也有用戶場景,例如選舉、供應鏈優化、電子商務中可有效利用智能合約。
因此,加密愛好者看到了最近智能合約的發展,它與區塊鏈技術攜手合作,致力於改變數字化世界。
智能合約可以用比特幣和以太坊創建。各行各業可以從智能合約發展中受益,包括選舉、供應鏈和電子商務等。
結論
智能合約真的智能嗎?它讓區塊鏈網路上執行的交易效率更高,同時,由於它是無法修改的,也由此要謹慎查看協議。
無論你如何看待智能合約,越來越多的項目正在尋找駕馭它的方法,它們很多是從以太坊智能合約開始的。隨著對智能合約的研究不斷推進,可以關注它取得的進展,但最重要的是,不要忘記智能合約在執行交易方面的重要性,交易在區塊鏈網路上是安全的、無須信任和分散式的。