什麼是智慧合約?

買賣虛擬貨幣
早在20世紀90年代Nick Szabo就首次描述了智慧合約的概念。當時,他對智慧合約定義為:將協議與使用者介面相結合的一種工具,從而對計算機網路進行規範化和安全加固。Szabo還探討了涉及到合同協議等各個領域中,智慧合約的潛在用途,例如信用體系、支付流程和版權管理。
在加密貨幣領域,我們將智慧合約定義為在區塊鏈上執行的應用或程式。通常情況下,它們為一組具有特定規則的數字化協議,且該協議能夠被強制執行。這些規則由計算機原始碼預先定義,所有網路節點會複製和執行這些計算機原始碼。實質上,區塊鏈智慧合約支援建立無需信任的協議。這意味著執行合約的雙方可以透過區塊鏈做出承諾,而無需相互瞭解或取得相互信任。合約內容經雙方確認後,如果沒達到觸發條件,合約將不會被執行。除此之外,使用智慧合約可以消除對中介的需求,從而顯著降低運營成本。多年來,雖然比特幣協議也一直支援智慧合約,但智慧合約卻經以太坊聯合創始人Vitalik Buterin之手,從而大受歡迎。但值得注意的是,每個區塊鏈網路可能會提供完全不同的智慧合約。 本文將重點介紹在以太坊虛擬機器(EV)上執行的智慧合約,這也是以太坊區塊鏈的重要組成部分。
智慧合約是如何執行的?簡單來說,智慧合約就是一個確定性的計劃。當滿足某些條件時,它則執行特定任務。因此,智慧合約系統通常遵循“if ... then ...”語句。但是,即便智慧合約成為一種主流的技術,但智慧合約既不是法定的也不是智慧化的。它們只是在分散式系統(區塊鏈)上執行的一段程式碼。在以太坊網路上,當使用者(地址)在區塊鏈網路中進行交易時,智慧合約負責執行和管理這類操作。而非智慧合約管理的地址都稱為外部帳戶(EOA)。因此,智慧合約由計算機原始碼控制,EOA由使用者自己控制。基本上,以太坊智慧合約通常由合約程式碼和兩個公鑰組成。第一個公鑰是合約建立者所提供的公鑰。另一個公鑰由合約自身建立,用於充當每個智慧合約獨有的數字標識。任何智慧合約的部署都是透過區塊鏈交易進行的,只有在EOA(或其他智慧合約)呼叫時才能啟用。但是,智慧合約首次觸發是由EOA(使用者)引起。主要特徵
以太坊智慧合約通常具有以下特徵:分散式。智慧合約在以太坊網路的所有節點中被複制和分發。這種方式與基於中心化伺服器的其他解決方案區別顯著。一致性。在滿足要求的情況下,智慧合約僅執行其預先設計的操作。而且,無論任何節點執行,結果都是一致的。自動化。智慧合約可以自動執行各種任務,就像自動執行程式一樣。但是,在大多數情況下,如果未觸發智慧合約,它將保持“休眠”狀態,並且不會執行任何操作。不可篡改。智慧合約一經部署,則無法更改。只有預先實現了特定功能,才能執行“刪除”。因此,我們可以說智慧合約可以提供防篡改程式。定製化。在部署之前,智慧合約可以透過多種不同方式進行編碼。因此,它們可用於建立許多不同的分散式應用程式(DApps)。這與以太坊具備圖靈完備的區塊鏈特徵相關。
無需信任。兩方或多方可以透過智慧合約進行互動,而無需相互瞭解或取得信任。此外,區塊鏈技術可確保資料準確無誤。透明性。由於智慧合約基於公有區塊鏈,因此其原始碼不僅是不可變的,而且對任何人都是透明的。智慧合約可以被更改或刪除嗎?以太坊智慧合約一經部署,則無法再繼續新增新功能。但是,如果其合約建立者在程式碼中預留了名為SELFDESTRUCT的函式,那麼將來可以“刪除”智慧合約,也可以用新的合約替換它。如果未在合約程式碼中預留該函式,則它們將無法被刪除。值得注意的是,所謂的可升級智慧合約支援開發人員在不可篡改方面擁有更大的靈活性。有許多方法可以建立可升級的智慧合約,每個合約都可具有不同程度的複雜性。舉一個簡單的例子,我們假設將智慧合約分為多個較小的合約。其中一些被設計為不可變更的,而另一些則啟用了“刪除”功能。這意味著可以刪除和替換部分程式碼(智慧合約),而其他功能保持不變。
優勢和相關案例作為可程式設計程式碼,智慧合約具有高度可定製化,可以透過多種不同方式進行設計,提供不同的服務和解決方案。作為去中心化和自動執行的程式,智慧合約可以提高透明度並降低運營成本。根據不同實施情況,他們還可以提高執行效率並減少商業運營費用。智慧合約在兩方或多方間的轉賬或資金交易時尤為實用。換句話說,智慧合約可以針對各種應用案例進行設計。一些案例包括建立代幣化資產、投票系統、加密錢包、分散式交易所、遊戲和移動應用程式。它們還可以與其他區塊鏈解決方案一起部署,這些解決方案涉及醫療保健、慈善、供應鏈、政府治理和分散式融資(DeFi)等領域。ERC-20
在以太坊區塊鏈上釋出的代幣遵循ERC-20的標準。該標準描述了所有基於以太坊代幣的核心功能。因此,這些數字資產通常被稱為ERC-20代幣,它們佔據了現有加密貨幣總量的很大一部分。許多區塊鏈公司和初創公司都部署了智慧合約,以便在以太坊網路上發行數字代幣。發行後,這些公司中的大多數透過初始代幣供應(ICO)活動分發其ERC-20代幣。在大多數情況下,智慧合約能夠讓使用者以信任和有效的方式交換資金和分配代幣。侷限性智慧合約由人工編寫的計算機程式碼組成。這也帶來了許多風險,程式碼容易受到攻擊和漏洞的影響。理想情況下,它們應由經驗豐富的程式設計師編寫和部署,特別是涉及敏感資訊和大量資金時。除此之外,有人認為集中式系統也可以提供智慧合約的大部分解決方案和功能。主要區別在於智慧合約在分散式點對點網路中執行,而不是執行在中心化伺服器上。因為它們基於區塊鏈系統,所以它們往往是不可篡改且很難變更的。在某些情況下,智慧合約的不可篡改性優勢十足,但某些情況下卻很糟糕。例如,由於其智慧合約程式碼存在缺陷,名為“The DAO”的分散式自治組織(DAO)在2016年被駭客攻擊時,損失高達數百萬以太幣(ETH)。
由於他們的智慧合約是不可變更的,開發人員無法修復程式碼。這最終導致出現了硬分叉,誕生了第二個以太坊鏈。簡而言之,一條鏈“回退”了駭客的非法加以,並將資金返還給了合法的所有者(這是當前以太坊區塊鏈的一部分)。而另一條鏈決定不干涉駭客,堅持區塊鏈上發生的事情永遠不可改變(這個鏈現在稱為以太坊經典)。需要注意的是,造成該問題並不是以太坊區塊鏈的原因。它是由智慧合約的錯誤實施所引發的。智慧合約的另一個限制與其不確定的法律地位有關。智慧合約在大多數國家仍處於灰色地帶,且不適應當前的法律監管框架。例如,許多合約都要求交易雙方彼此實名認證且具超過18歲。但區塊鏈技術提供的匿名性,加上缺乏中間人,可能會影響這些要求。雖然有潛在的解決方案,但目前看,智慧合約的法律可執行性是一項真正的挑戰,尤其是在沒有邊際的分散式網路中。批判一些區塊鏈愛好者將智慧合約視為一種解決方案,並認為其將以自動化的方式取代我們現有的商業和政府體系。雖然這個想法有可能實現,但實現起來還有很多路要走。
不可否認智慧合約是一項非常趣的技術。但是,在某些情況下,分散式、確定性、透明性和不可篡改會降低它的吸引力。從本質上講,批判來源於那些智慧合約無法解決的現實問題。實際上,某些機構當前最好還是使用傳統的基於伺服器的替代方案。與智慧合約相比,中心化伺服器的維護更為容易,成本更低,並且在速度和跨網路通訊(互操作性)方面往往具有更大的優勢。總結毫無疑問,智慧合約對加密貨幣界產生了深遠影響,它的確可以徹底改變區塊鏈領域。雖然終端使用者不會直接與智慧合約進行互動,但在不遠的未來,會有更為廣泛的應用範圍,涉及金融服務到供應鏈管理各個領域。智慧合約和區塊鏈會共同顛覆我們社會中幾乎所有領域。但只有時間才能證明這項突破性技術是否足夠強大,能夠克服大規模推廣的諸多壁壘。

免責聲明:

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

推荐阅读

;