什麼是智能合約?如何運行?有什麼優點?

什麼是智能合約?20世紀90年代,Nick Szabo首次提出智能合約的概念。當時,他把智能合約定義為通過結合協議與用戶界面,規范和保障計算機網絡安全的工具。

Szabo探討瞭把智能合約運用於合同協議相關各領域的潛 在用途,例如信用體系、支付流程和內容版權管理。

在加密貨幣領域,智能合約可界定為運行在區塊鏈中的應用或程序。通常,它們作為一種遵循特定規則強制執行的數字化協議發揮作用。這些規則由計算機代碼預定義,經所有網絡節點復制和執行。

區塊鏈智能合約支持創建去信任化協議。這意味著合約雙方通過區塊鏈做出承諾,而無需相互瞭解或信任。雙方確定,如果沒有達到條件,合約不會執行。此外,使用智能合約不再需要中間機構,從而顯著降低運行成本。

雖然智能合約已由比特幣協議支持多年,但借由以太坊創造者兼聯合創始人Vitalik Buterin之手才普及開來。值得註意的是,各個區塊鏈實施智能合約的方式有所不同。 

本文將重點介紹運行在以太坊虛擬機(EVM)中的智能合約,而以太坊虛擬機是以太坊區塊鏈的重要組成部分。下面就和腳本之傢小編一起詳細瞭解下吧!

什麼是智能合約?如何運行?有什麼優點?

智能合約如何運行?

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

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

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

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

智能合約的歷史與起源

以太坊的設計部分是為瞭擴展比特幣的智能合約功能。這使得以太坊網絡成為一個“圖靈完備狀態機”——本質上是一個對所有人開放的共享計算機。該網絡上的智能合約理論上可以執行常規計算機程序所能進行的任何計算,可能承載各種應用程序,如消息應用、遊戲甚至社交媒體平臺。

然而,當前的去中心化網絡在速度和成本上存在限制,限制瞭它們能夠支持的應用類型。更多內容可以在我們的區塊鏈三難問題文章中找到。還需要註意的是,以太坊隻是眾多旨在創建共享、可訪問計算平臺的網絡之一。

為什麼智能合約很重要?

智能合約使開發人員可以構建各種各樣的去中心化應用程序和代幣。它們適用於各種用途,如創新金融工具、物流和遊戲體驗,並且像任何其他加密交易一樣,它們都存儲在區塊鏈中。一旦將智能合約應用程序添加到區塊鏈中,通常就不能將其撤消或更改,但也有一些例外。

基於智能合約的應用程序通常被稱為“去中心化應用程序”或“dapps”,它們包括旨在改變銀行業的去中心化金融 (DeFi) 技術。DeFi 應用程序使加密貨幣持有人可以進行復雜的金融交易,包括儲蓄、貸款、保險等,而且無需銀行或其他金融機構在世界任何地方參與其中。當前一些比較流行的由智能合約驅動的應用程序包括:

  • Uniswap:一種去中心化交易所,允許用戶通過智能合約交易某些類型的加密貨幣,而無需任何中央機構來設置匯率。

  • Compound:使用智能合約讓投資者賺取利息,借款人立即獲得貸款而無需中間銀行的平臺。

  • USDC:通過智能合約與美元掛鉤的一種加密貨幣,從而使一個 USDC 兌換 1 美元。USDC 是電子貨幣的較新類別,被稱為穩定幣。

那麼,您將如何使用這些由智能合約驅動的工具?想象一下,您持有一些以太坊,並希望兌換為 USDC。您可以在 Uniswap 中放入一些以太坊,然後通過智能合約自動找到最佳匯率,進行交易並向您發送 USDC。然後,您可以將部分 USDC 放入 Compound 中以借給其他人,並獲得算法確定的利率——所有這些操作都無需銀行或其他金融機構介入。

在傳統金融中,貨幣交換既昂貴又耗時。對於個人而言,將其流動資產借給世界另一端的陌生人並不容易,也不安全。但智能合約能夠實現這兩種以及大量其他使用場景。

關鍵特性

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

分佈式。智能合約在以太坊網絡的所有節點中復制和分佈。這與其他基於中心化服務器的解決方案截然不同。

確定性。滿足要求時,智能合約僅執行預先設計的操作。而且,無論由誰執行,結果均保持一致。

自主性。智能合約相對於“自執行”程序,會自動完成各種任務。大多數情況下,未觸發的智能合約保持“休眠”狀態,不會執行任何操作。

不變性。智能合約在部署後無法更改。隻有實現特定功能後,智能合約才可“刪除”。所以,我們不妨說,智能合約提供防篡改代碼。

定制化。部署之前,智能合約通過各種各樣的方式編碼。因此,可用於創建種類繁多的去中心化應用程序(DApp)。這與以太坊屬於圖靈完備區塊鏈這一事實息息相關。

去信任化。在無需相互瞭解或信任的情況下,兩方或多方可通過智能合約交互。此外,區塊鏈技術將確保數據準確無誤。

透明性。智能合約的基礎是公共區塊鏈,因此源代碼不僅不可篡改,而且對所有人公開透明。

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

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

值得註意的是,通過所謂的可升級智能合約,開發人員對合約的不變性可進行更靈活的操作。創建可升級智能合約的方式多種多樣,每種的復雜程度都有所不同。

舉個簡單的例子,假設一個智能合約劃分為多個較小的合約。某些部分設計為不可變更,而其他部分啟用“刪除”函數。也就是說,部分代碼(智能合約)可刪除和替換,而其他功能保持不變。

為什麼在去中心化網絡上使用智能合約?

你可能會疑惑為何有人會選擇去中心化網絡而不是像亞馬遜網絡服務(AWS)這樣的集中化雲計算服務,尤其是在後者具有速度快且價格實惠的情況下。答案在於為這種速度和成本做出的權衡。

去中心化網絡上的智能合約提供瞭更高的安全性和透明度。由於任何人都可以驗證網絡上的信息,因此不太需要信任像銀行這樣的中央機構。這降低瞭欺詐、黑客或錯誤的風險,因為合約的執行是公開可驗證的。

雖然並非所有應用程序都需要這種無信任性,但對於涉及資金或資產的用例,這種特性特別有價值。例如,數字交易卡遊戲、資產交換平臺或加密資產的發送和接收系統,都可以從智能合約的安全性和透明度中受益。

智能合約的工作原理

可以把像以太坊這樣的去中心化網絡想象成一個巨大的共享計算機。智能合約就是在這臺計算機上運行的程序。開發人員用編程語言編寫這些合約,然後將其部署到網絡上。

部署智能合約意味著在網絡上創建一個特殊的地址。任何人都可以通過向其地址發送網絡的本地代幣來與該合約交互。對於以太坊,這將是ETH。這會觸發合約的代碼,根據預定義的規則自動執行,就像常規編程中的“如果這樣,那麼那樣”序列。

例如,一個簡單的以太坊智能合約可以被編程成將發送到其地址的1 ETH分成12等份,每月發送到指定地址,實際上充當信托基金。

本質上,智能合約可以在某些情況下消除對中介的需要。在我們的信托基金例子中,我們繞過瞭律師和托管賬戶的需要。我們隻需信任代碼按預期執行協議即可。

智能合約正在被越來越復雜的方式使用,以創建去中心化應用(dApps),實現無許可資產交換,甚至讓玩傢對數字資產擁有真正所有權的遊戲。

優勢和用例

作為可編程代碼,智能合約高度可定制,設計方式眾多,提供豐富多樣的服務和解決方案。

作為去中心化和自執行程序,智能合約可提高透明度並降低運行成本。根據具體實施情況,智能合約還可提高實施效率並降低繁瑣費用。

涉及到兩方或多方的資金轉賬或交易,智能合約尤為實用。

換句話說,智能合約可針對豐富的用例量身打造,包括創建代幣化資產、投票系統、加密貨幣錢包、去中心化交易平臺、遊戲和移動App。智能合約還可與其他區塊鏈解決方案共同部署,覆蓋醫療保健、慈善、供應鏈、治理和去中心化金融(DeFi)等領域。

ERC-20

以太坊區塊鏈發佈的代幣遵循ERC-20標準。該標準規定所有以太坊代幣的核心功能。因此,這些數字資產通常稱為“ERC-20代幣”,在現有加密貨幣中占有很大的比重。

許多區塊鏈公司和初創公司都部署瞭智能合約,以便在以太坊網絡中自主發行數字代幣。代幣發行後,大多數公司通過首次代幣發行(ICO)來分配自傢的ERC-20代幣。大多數情況下,使用智能合約即可通過去信任化的方式,有效實現資金交易和代幣分配。

局限

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

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

智能合約的不變性優勢明顯,但在某些情況下卻適得其反。例如,去中心化自治組織“The DAO”於2016年慘遭黑客攻擊,數百萬枚以太幣(ETH)不翼而飛,其原因就是智能合約代碼存在缺陷。

由於智能合約不可變,開發人員無法修復代碼。這最終導致瞭硬分叉,第二個以太坊鏈由此誕生。簡言之,一條鏈(當前以太坊區塊鏈的一部分)“恢復”到黑客攻擊之前的原樣,將資金返還原主。另一條鏈(現在稱為“以太坊經典”)則決定不幹預黑客攻擊,堅稱區塊鏈中發生的事件永遠不應並篡改。

需要註意的是,該問題並不是由以太坊區塊鏈造成,而是因智能合約的錯誤執行所引發。

智能合約的另一局限性則與其不明確的法律效應相關。智能合約在大多數國傢都處於灰色地帶,而且還不適用於當前的法律框架。

例如,許多合約要求交易雙方需通過恰當的實名認證且年齡超過18周歲。但區塊鏈技術具有匿名性,加之缺少中間機構,就會與合約要求相沖突。應對該問題的解決方案未來或許會出現。但智能合約運行於無國界的分佈式網絡中,法律執行難度非常大。

弊端

有些區塊鏈愛好者把智能合約視為即將取代現有大部分商業和官僚系統的自治解決方案。雖然這個想法可能會實現,但要成為常態還任重而道遠。

智能合約確實是一項有趣的技術。但是,分佈式、確定性、透明性和不變性等特征有時反而降低瞭智能合約的吸引力。

智能合約的本質弊端在於其並不能很好地解決諸多現實問題。事實上,有些機構目前使用傳統的服務器解決方案才是權宜之計。 

與智能合約相比,中心化服務器的維護更容易,成本更低,並且在速度和跨網絡通信(互操作性)方面往往具有較大優勢。

代幣銷售與智能合約

智能合約最常見的用途之一是進行代幣銷售。代幣銷售,有時被稱為首次代幣發行(ICO),是新加密貨幣或代幣的初始分發階段。

代幣銷售具有多個目的:

  • 分發: 允許項目向支持者社區分發代幣。
  • 社區建設: 幫助社區圍繞共享項目及其目標進行對齊。
  • 籌資: 可用於為項目開發籌集資金。

智能合約用於定義代幣銷售的規則,例如代幣價格、可用代幣數量和歸屬時間表(代幣如何以及何時分發給買傢)。這確保瞭一個公平和透明的過程。

空投與智能合約

空投是項目使用智能合約分發代幣的另一種方式。在空投中,項目向符合特定標準的用戶發送免費代幣,例如持有特定資產或使用特定平臺。

智能合約可以自動化確定空投資格和分發代幣的過程。這確保瞭公平和透明,因為規則是預定義的並且在區塊鏈上公開可驗證。

智能合約的未來

智能合約仍然是一種相對較新的技術,但它們有可能徹底改變我們的互動和商業方式。隨著技術的不斷發展,我們可以期待看到更多創新和有影響力的用例出現。

智能合約未來的一些潛在應用包括:

  • 供應鏈管理: 跟蹤產品並驗證其在供應鏈中的真實性。
  • 投票和治理: 創建更安全和透明的投票系統。
  • 去中心化身份: 管理和驗證身份而無需中央機構。

隨著區塊鏈技術和智能合約的成熟,它們有潛力以前所未有的方式變革行業和賦能個人。

總結

毫無疑問,智能合約對加密貨幣領域產生瞭深遠影響,也確實為區塊鏈領域帶來瞭重大變革。終端用戶不一定直接與智能合約交互。但在不久的將來,智能合約的應用會更廣泛,將覆蓋金融服務、供應鏈管理等各個領域。

智能合約和區塊鏈幾乎共同顛覆瞭當今社會的所有領域。但隻有時間才能證明,這些突破性技術是否能突破重重障礙,最終實現大規模普及。

以上就是腳本之傢小編給大傢分享的智能合約的詳細介紹瞭,希望大傢喜歡!

原创文章,作者:fanbi,如若转载,请注明出处:http://fanbi.net/btc/18510

Like (0)
fanbifanbi
Previous 2025年3月3日 上午10:16
Next 2025年3月7日

相关推荐

發佈留言

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