科普學習——什麼是智能合約?

科普學習——什麼是智能合約?

20世紀90年代,Nick Szabo首次提出智能合約的概念。他將智能合約定義為通過結合協議與用戶界面來規範和保障計算機網絡安全的工具。Szabo探討了智能合約在合同協議、信用體系、支付流程和內容版權管理等領域的潛在用途。

在加密貨幣領域,智能合約是指運行在區塊鏈上的應用或程序。這些智能合約作為遵循特定規則的數字化協議,通過計算機代碼預先定義的規則進行執行,並由所有網絡節點進行複製和執行。

區塊鏈智能合約支持創建去信任化協議。這意味著合約雙方可以通過區塊鏈做出承諾,而無需相互了解或信任。合約僅在滿足預定條件時執行,且無需中介機構,大大降低了運行成本。雖然智能合約早在比特幣協議中就已經存在,但以太坊的創造者Vitalik Buterin使其普及開來。

本文將重點介紹運行在以太坊虛擬機EVM)中的智能合約,EVM是以太坊區塊鏈的重要組成部分。

智能合約如何運行?

簡單來說,智能合約是一種確定性程序,當滿足某些條件時執行特定任務。智能合約系統通常遵循“如果……就……”的條件語句。儘管“智能合約”這一概念已廣為人知,但它實際上既非法定合約,也不真正“智能”。它們只是運行在區塊鏈分布式系統中的一段代碼。

在以太坊網絡中,智能合約負責執行和管理用戶(地址)之間的區塊鏈操作。智能合約以外的地址稱為“外部賬戶(EOA)”。因此,智能合約由計算機代碼控制,而外部賬戶(EOA)由用戶掌控。

以太坊智能合約基本上由合約代碼和兩個公鑰組成。第一個公鑰由合約創建者提供,第二個公鑰即為合約本身,用作每個智能合約的唯一數字標識符。

所有的智能合約部署都通過區塊鏈交易進行,僅在外部賬戶(EOA)或其他智能合約被調用時才會激活。然而,智能合約一般由外部賬戶(EOA)即用戶首次觸發。

關鍵特性

以太坊智能合約具有以下常見特徵:

  1. 分布式:智能合約在以太坊網絡的所有節點中複製和分布,與基於中心化伺服器的解決方案截然不同。
  2. 確定性:滿足要求時,智能合約僅執行預先設計的操作。無論由誰執行,結果都保持一致。
  3. 自主性:智能合約是“自執行”的程序,能自動完成各種任務。大多數情況下,未觸發的智能合約保持“休眠”狀態,不會執行任何操作。
  4. 不變性:智能合約在部署後無法更改。僅當實現特定功能後,智能合約才可“刪除”。因此,我們可以說智能合約提供了防篡改的代碼。
  5. 定制化:部署之前,智能合約可以通過各種方式進行編碼,因此可以用於創建各種去中心化應用程序(DApp)。這與以太坊圖靈完備的特性息息相關。
  6. 去信任化:兩方或多方可以通過智能合約進行交互,而無需相互了解或信任。區塊鏈技術則確保數據的準確無誤。
  7. 透明性:智能合約基於公共區塊鏈,其源代碼對所有人公開透明,且不可篡改。

智能合約是否可更改或刪除?

一經部署,以太坊智能合約無法再添加新的函數。然而,如果合約創建者在代碼中預留了“SELFDESTRUCT”函數,則可以“刪除”智能合約並用新合約取而代之。如果代碼中未預留該函數,則智能合約無法刪除。

值得注意的是,所謂的可升級智能合約可以使開發人員對合約的不變性進行更靈活的操作。創建可升級智能合約的方式多種多樣,每種方式的複雜程度不同。例如,一個智能合約可以被劃分為多個較小的合約,其中某些部分設計為不可變更,而其他部分則啟用“刪除”函數,即某些代碼可以刪除和替換,而其他功能保持不變。

優勢和用例

作為可編程代碼,智能合約高度可定制,設計方式多樣,提供了豐富的服務和解決方案。作為去中心化和自執行的程序,智能合約可以提高透明度並降低運行成本。根據具體實施情況,智能合約還可以提高實施效率並降低繁瑣費用。

智能合約在涉及兩方或多方的資金轉帳或交易時尤為實用。例如,智能合約可用於創建代幣化資產、投票系統、加密貨幣錢包、去中心化交易平台、遊戲和移動應用程序。智能合約還可以與其他區塊鏈解決方案共同部署,覆蓋醫療保健、慈善、供應鏈、治理和去中心化金融(DeFi)等領域。

ERC-20

以太坊區塊鏈上的代幣遵循ERC-20標準。該標準規定了所有以太坊代幣的核心功能。因此,這些數字資產通常稱為“ERC-20代幣”,在現有加密貨幣中占有很大比重。許多區塊鏈公司和初創公司都部署了智能合約,以便在以太坊網絡中自主發行數字代幣。代幣發行後,大多數公司通過首次代幣發行(ICO)來分配自家的ERC-20代幣。智能合約通過去信任化的方式有效實現資金交易和代幣分配。

局限性

智能合約由人工編寫的計算機代碼組成,代碼可能存在缺陷或漏洞,帶來諸多風險。理想情況下,智能合約應由經驗豐富的程序員編寫和部署,涉及敏感信息和巨額資金時更應如此。

此外,有人認為中心化系統能提供智能合約的大多數解決方案和功能。主要區別在於智能合約運行於分布式P2P網絡中,而不是中心化伺服器。智能合約基於區塊鏈系統,往往不可篡改或難以更改。

智能合約的不變性雖然有其優勢,但在某些情況下卻適得其反。例如,2016年去中心化自治組織“The DAO”遭遇黑客攻擊,數百萬枚以太幣(ETH)不翼而飛,原因是智能合約代碼存在缺陷。由於智能合約不可變,開發人員無法修復代碼,最終導致了硬分叉,第二條以太坊鏈由此誕生。這一事件表明問題並非由以太坊區塊鏈本身造成,而是由智能合約的錯誤執行引發。

另一個局限性是智能合約在法律效力上的不確定性。智能合約在大多數國家處於灰色地帶,並不完全符合現行法律框架。例如,許多合約要求交易雙方進行恰當的身份驗證且年齡超過18歲,但區塊鏈技術具有匿名性,加之缺少中介機構,與合約要求相沖突。解決這一問題的方案可能會出現,但智能合約運行於無國界的分布式網絡中,法律執行難度非常大。

弊端

雖然有些區塊鏈愛好者視智能合約為即將取代現有大部分商業和官僚系統的自治解決方案,但要實現這一目標仍面臨巨大挑戰。智能合約確實是一項有趣的技術,但其分布式、確定性、透明性和不變性等特徵,有時會降低其吸引力。

智能合約的本質弊端在於其無法有效解決許多現實問題。相比之下,中心化伺服器的維護更容易,成本更低,並且在速度和跨網絡通信(互操作性)方面往往具有較大優勢。

總結

智能合約對加密貨幣領域產生了深遠影響,也確實為區塊鏈領域帶來了重大變革。終端用戶可能不會直接與智能合約交互,但未來智能合約的應用會更加廣泛,涵蓋金融服務、供應鏈管理等各個領域。儘管智能合約和區塊鏈技術幾乎共同顛覆了當今社會的各個領域,但只有時間才能證明這些突破性技術是否能突破重重障礙,最終實現大規模普及。

本內容來自Layer2 投稿,不代表本網站觀點與立場。转载,请注明出处:https://news.kejixun.com/21960.html

讚! (0)
Layer2的頭像Layer2投稿者
Previous 2024 年 9 月 5 日
Next 2024 年 9 月 5 日

相关推荐

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

SHARE
TOP