什么是智能合約?如何運行?有什么優(yōu)點?
什么是智能合約?20世紀90年代,Nick Szabo首次提出智能合約的概念。當時,他把智能合約定義為通過結(jié)合協(xié)議與用戶界面,規(guī)范和保障計算機網(wǎng)絡安全的工具。
Szabo探討了把智能合約運用于合同協(xié)議相關各領域的潛 在用途,例如信用體系、支付流程和內(nèi)容版權(quán)管理。
在加密貨幣領域,智能合約可界定為運行在區(qū)塊鏈中的應用或程序。通常,它們作為一種遵循特定規(guī)則強制執(zhí)行的數(shù)字化協(xié)議發(fā)揮作用。這些規(guī)則由計算機代碼預定義,經(jīng)所有網(wǎng)絡節(jié)點復制和執(zhí)行。
區(qū)塊鏈智能合約支持創(chuàng)建去信任化協(xié)議。這意味著合約雙方通過區(qū)塊鏈做出承諾,而無需相互了解或信任。雙方確定,如果沒有達到條件,合約不會執(zhí)行。此外,使用智能合約不再需要中間機構(gòu),從而顯著降低運行成本。
雖然智能合約已由比特幣協(xié)議支持多年,但借由以太坊創(chuàng)造者兼聯(lián)合創(chuàng)始人Vitalik Buterin之手才普及開來。值得注意的是,各個區(qū)塊鏈實施智能合約的方式有所不同。
本文將重點介紹運行在以太坊虛擬機(EVM)中的智能合約,而以太坊虛擬機是以太坊區(qū)塊鏈的重要組成部分。下面就和腳本之家小編一起詳細了解下吧!
智能合約如何運行?
簡單來說,智能合約是一種確定性程序,會在滿足某些條件時,執(zhí)行特定任務。因此,智能合約系統(tǒng)通常遵循“如果……就……”的條件語句。雖然“智能合約”這個概念已廣為人知,但它其實既非法定合約,也不智能。它們只是運行在區(qū)塊鏈分布式系統(tǒng)中的一段代碼。
在以太坊網(wǎng)絡中,智能合約負責執(zhí)行和管理用戶(地址)彼此交互時的區(qū)塊鏈操作。智能合約以外的地址稱為“外部賬戶(EOA)”。因此,智能合約由計算機代碼控制,而外部賬戶(EOA)由用戶掌控。
以太坊智能合約基本上由合約代碼和兩個公鑰組成。第一個公鑰由合約創(chuàng)建者提供,另一個公鑰即為合約本身,用作每個智能合約的唯一數(shù)字標識符。
所有的智能合約部署都通過區(qū)塊鏈交易進行,只有在外部賬戶(EOA)或其他智能合約被調(diào)用時才會激活。但是,智能合約一般由外部賬戶(EOA),即用戶首次觸發(fā)。
智能合約的歷史與起源
以太坊的設計部分是為了擴展比特幣的智能合約功能。這使得以太坊網(wǎng)絡成為一個“圖靈完備狀態(tài)機”——本質(zhì)上是一個對所有人開放的共享計算機。該網(wǎng)絡上的智能合約理論上可以執(zhí)行常規(guī)計算機程序所能進行的任何計算,可能承載各種應用程序,如消息應用、游戲甚至社交媒體平臺。
然而,當前的去中心化網(wǎng)絡在速度和成本上存在限制,限制了它們能夠支持的應用類型。更多內(nèi)容可以在我們的區(qū)塊鏈三難問題文章中找到。還需要注意的是,以太坊只是眾多旨在創(chuàng)建共享、可訪問計算平臺的網(wǎng)絡之一。
為什么智能合約很重要?
智能合約使開發(fā)人員可以構(gòu)建各種各樣的去中心化應用程序和代幣。它們適用于各種用途,如創(chuàng)新金融工具、物流和游戲體驗,并且像任何其他加密交易一樣,它們都存儲在區(qū)塊鏈中。一旦將智能合約應用程序添加到區(qū)塊鏈中,通常就不能將其撤消或更改,但也有一些例外。
基于智能合約的應用程序通常被稱為“去中心化應用程序”或“dapps”,它們包括旨在改變銀行業(yè)的去中心化金融 (DeFi) 技術(shù)。DeFi 應用程序使加密貨幣持有人可以進行復雜的金融交易,包括儲蓄、貸款、保險等,而且無需銀行或其他金融機構(gòu)在世界任何地方參與其中。當前一些比較流行的由智能合約驅(qū)動的應用程序包括:
Uniswap:一種去中心化交易所,允許用戶通過智能合約交易某些類型的加密貨幣,而無需任何中央機構(gòu)來設置匯率。
Compound:使用智能合約讓投資者賺取利息,借款人立即獲得貸款而無需中間銀行的平臺。
USDC:通過智能合約與美元掛鉤的一種加密貨幣,從而使一個 USDC 兌換 1 美元。USDC 是電子貨幣的較新類別,被稱為穩(wěn)定幣。
那么,您將如何使用這些由智能合約驅(qū)動的工具?想象一下,您持有一些以太坊,并希望兌換為 USDC。您可以在 Uniswap 中放入一些以太坊,然后通過智能合約自動找到最佳匯率,進行交易并向您發(fā)送 USDC。然后,您可以將部分 USDC 放入 Compound 中以借給其他人,并獲得算法確定的利率——所有這些操作都無需銀行或其他金融機構(gòu)介入。
在傳統(tǒng)金融中,貨幣交換既昂貴又耗時。對于個人而言,將其流動資產(chǎn)借給世界另一端的陌生人并不容易,也不安全。但智能合約能夠?qū)崿F(xiàn)這兩種以及大量其他使用場景。
關鍵特性
以太坊智能合約具有以下常見特征:
分布式。智能合約在以太坊網(wǎng)絡的所有節(jié)點中復制和分布。這與其他基于中心化服務器的解決方案截然不同。
確定性。滿足要求時,智能合約僅執(zhí)行預先設計的操作。而且,無論由誰執(zhí)行,結(jié)果均保持一致。
自主性。智能合約相對于“自執(zhí)行”程序,會自動完成各種任務。大多數(shù)情況下,未觸發(fā)的智能合約保持“休眠”狀態(tài),不會執(zhí)行任何操作。
不變性。智能合約在部署后無法更改。只有實現(xiàn)特定功能后,智能合約才可“刪除”。所以,我們不妨說,智能合約提供防篡改代碼。
定制化。部署之前,智能合約通過各種各樣的方式編碼。因此,可用于創(chuàng)建種類繁多的去中心化應用程序(DApp)。這與以太坊屬于圖靈完備區(qū)塊鏈這一事實息息相關。
去信任化。在無需相互了解或信任的情況下,兩方或多方可通過智能合約交互。此外,區(qū)塊鏈技術(shù)將確保數(shù)據(jù)準確無誤。
透明性。智能合約的基礎是公共區(qū)塊鏈,因此源代碼不僅不可篡改,而且對所有人公開透明。
智能合約是否可更改或刪除?
一經(jīng)部署,以太坊智能合約無法再添加新的函數(shù)。但是,只要合約創(chuàng)建者在代碼中預留了“SELFDESTRUCT”函數(shù),該函數(shù)之后即可“刪除”智能合約,并用新合約取而代之。如代碼中未預留該函數(shù),則智能合約無法刪除。
值得注意的是,通過所謂的可升級智能合約,開發(fā)人員對合約的不變性可進行更靈活的操作。創(chuàng)建可升級智能合約的方式多種多樣,每種的復雜程度都有所不同。
舉個簡單的例子,假設一個智能合約劃分為多個較小的合約。某些部分設計為不可變更,而其他部分啟用“刪除”函數(shù)。也就是說,部分代碼(智能合約)可刪除和替換,而其他功能保持不變。
為什么在去中心化網(wǎng)絡上使用智能合約?
你可能會疑惑為何有人會選擇去中心化網(wǎng)絡而不是像亞馬遜網(wǎng)絡服務(AWS)這樣的集中化云計算服務,尤其是在后者具有速度快且價格實惠的情況下。答案在于為這種速度和成本做出的權(quán)衡。
去中心化網(wǎng)絡上的智能合約提供了更高的安全性和透明度。由于任何人都可以驗證網(wǎng)絡上的信息,因此不太需要信任像銀行這樣的中央機構(gòu)。這降低了欺詐、黑客或錯誤的風險,因為合約的執(zhí)行是公開可驗證的。
雖然并非所有應用程序都需要這種無信任性,但對于涉及資金或資產(chǎn)的用例,這種特性特別有價值。例如,數(shù)字交易卡游戲、資產(chǎn)交換平臺或加密資產(chǎn)的發(fā)送和接收系統(tǒng),都可以從智能合約的安全性和透明度中受益。
智能合約的工作原理
可以把像以太坊這樣的去中心化網(wǎng)絡想象成一個巨大的共享計算機。智能合約就是在這臺計算機上運行的程序。開發(fā)人員用編程語言編寫這些合約,然后將其部署到網(wǎng)絡上。
部署智能合約意味著在網(wǎng)絡上創(chuàng)建一個特殊的地址。任何人都可以通過向其地址發(fā)送網(wǎng)絡的本地代幣來與該合約交互。對于以太坊,這將是ETH。這會觸發(fā)合約的代碼,根據(jù)預定義的規(guī)則自動執(zhí)行,就像常規(guī)編程中的“如果這樣,那么那樣”序列。
例如,一個簡單的以太坊智能合約可以被編程成將發(fā)送到其地址的1 ETH分成12等份,每月發(fā)送到指定地址,實際上充當信托基金。
本質(zhì)上,智能合約可以在某些情況下消除對中介的需要。在我們的信托基金例子中,我們繞過了律師和托管賬戶的需要。我們只需信任代碼按預期執(zhí)行協(xié)議即可。
智能合約正在被越來越復雜的方式使用,以創(chuàng)建去中心化應用(dApps),實現(xiàn)無許可資產(chǎn)交換,甚至讓玩家對數(shù)字資產(chǎn)擁有真正所有權(quán)的游戲。
優(yōu)勢和用例
作為可編程代碼,智能合約高度可定制,設計方式眾多,提供豐富多樣的服務和解決方案。
作為去中心化和自執(zhí)行程序,智能合約可提高透明度并降低運行成本。根據(jù)具體實施情況,智能合約還可提高實施效率并降低繁瑣費用。
涉及到兩方或多方的資金轉(zhuǎn)賬或交易,智能合約尤為實用。
換句話說,智能合約可針對豐富的用例量身打造,包括創(chuàng)建代幣化資產(chǎn)、投票系統(tǒng)、加密貨幣錢包、去中心化交易平臺、游戲和移動App。智能合約還可與其他區(qū)塊鏈解決方案共同部署,覆蓋醫(yī)療保健、慈善、供應鏈、治理和去中心化金融(DeFi)等領域。
ERC-20
以太坊區(qū)塊鏈發(fā)布的代幣遵循ERC-20標準。該標準規(guī)定所有以太坊代幣的核心功能。因此,這些數(shù)字資產(chǎn)通常稱為“ERC-20代幣”,在現(xiàn)有加密貨幣中占有很大的比重。
許多區(qū)塊鏈公司和初創(chuàng)公司都部署了智能合約,以便在以太坊網(wǎng)絡中自主發(fā)行數(shù)字代幣。代幣發(fā)行后,大多數(shù)公司通過首次代幣發(fā)行(ICO)來分配自家的ERC-20代幣。大多數(shù)情況下,使用智能合約即可通過去信任化的方式,有效實現(xiàn)資金交易和代幣分配。
局限
智能合約由人工編寫的計算機代碼組成。代碼會存在缺陷與漏洞,將帶來諸多風險。按照理想的做法,智能合約應由經(jīng)驗豐富的程序員編寫部署,涉及敏感信息和巨額資金時更該如此。
除此之外,有人認為中心化系統(tǒng)就能提供智能合約的絕大多數(shù)解決方案和功能。主要區(qū)別在于智能合約運行于分布式P2P網(wǎng)絡中,而不是中心化的服務器。而且,智能合約以區(qū)塊鏈系統(tǒng)為基礎,因此往往不可篡改或難以更改。
智能合約的不變性優(yōu)勢明顯,但在某些情況下卻適得其反。例如,去中心化自治組織“The DAO”于2016年慘遭黑客攻擊,數(shù)百萬枚以太幣(ETH)不翼而飛,其原因就是智能合約代碼存在缺陷。
由于智能合約不可變,開發(fā)人員無法修復代碼。這最終導致了硬分叉,第二個以太坊鏈由此誕生。簡言之,一條鏈(當前以太坊區(qū)塊鏈的一部分)“恢復”到黑客攻擊之前的原樣,將資金返還原主。另一條鏈(現(xiàn)在稱為“以太坊經(jīng)典”)則決定不干預黑客攻擊,堅稱區(qū)塊鏈中發(fā)生的事件永遠不應并篡改。
需要注意的是,該問題并不是由以太坊區(qū)塊鏈造成,而是因智能合約的錯誤執(zhí)行所引發(fā)。
智能合約的另一局限性則與其不明確的法律效應相關。智能合約在大多數(shù)國家都處于灰色地帶,而且還不適用于當前的法律框架。
例如,許多合約要求交易雙方需通過恰當?shù)膶嵜J證且年齡超過18周歲。但區(qū)塊鏈技術(shù)具有匿名性,加之缺少中間機構(gòu),就會與合約要求相沖突。應對該問題的解決方案未來或許會出現(xiàn)。但智能合約運行于無國界的分布式網(wǎng)絡中,法律執(zhí)行難度非常大。
弊端
有些區(qū)塊鏈愛好者把智能合約視為即將取代現(xiàn)有大部分商業(yè)和官僚系統(tǒng)的自治解決方案。雖然這個想法可能會實現(xiàn),但要成為常態(tài)還任重而道遠。
智能合約確實是一項有趣的技術(shù)。但是,分布式、確定性、透明性和不變性等特征有時反而降低了智能合約的吸引力。
智能合約的本質(zhì)弊端在于其并不能很好地解決諸多現(xiàn)實問題。事實上,有些機構(gòu)目前使用傳統(tǒng)的服務器解決方案才是權(quán)宜之計。
與智能合約相比,中心化服務器的維護更容易,成本更低,并且在速度和跨網(wǎng)絡通信(互操作性)方面往往具有較大優(yōu)勢。
代幣銷售與智能合約
智能合約最常見的用途之一是進行代幣銷售。代幣銷售,有時被稱為首次代幣發(fā)行(ICO),是新加密貨幣或代幣的初始分發(fā)階段。
代幣銷售具有多個目的:
- 分發(fā): 允許項目向支持者社區(qū)分發(fā)代幣。
- 社區(qū)建設: 幫助社區(qū)圍繞共享項目及其目標進行對齊。
- 籌資: 可用于為項目開發(fā)籌集資金。
智能合約用于定義代幣銷售的規(guī)則,例如代幣價格、可用代幣數(shù)量和歸屬時間表(代幣如何以及何時分發(fā)給買家)。這確保了一個公平和透明的過程。
空投與智能合約
空投是項目使用智能合約分發(fā)代幣的另一種方式。在空投中,項目向符合特定標準的用戶發(fā)送免費代幣,例如持有特定資產(chǎn)或使用特定平臺。
智能合約可以自動化確定空投資格和分發(fā)代幣的過程。這確保了公平和透明,因為規(guī)則是預定義的并且在區(qū)塊鏈上公開可驗證。
智能合約的未來
智能合約仍然是一種相對較新的技術(shù),但它們有可能徹底改變我們的互動和商業(yè)方式。隨著技術(shù)的不斷發(fā)展,我們可以期待看到更多創(chuàng)新和有影響力的用例出現(xiàn)。
智能合約未來的一些潛在應用包括:
- 供應鏈管理: 跟蹤產(chǎn)品并驗證其在供應鏈中的真實性。
- 投票和治理: 創(chuàng)建更安全和透明的投票系統(tǒng)。
- 去中心化身份: 管理和驗證身份而無需中央機構(gòu)。
隨著區(qū)塊鏈技術(shù)和智能合約的成熟,它們有潛力以前所未有的方式變革行業(yè)和賦能個人。
總結(jié)
毫無疑問,智能合約對加密貨幣領域產(chǎn)生了深遠影響,也確實為區(qū)塊鏈領域帶來了重大變革。終端用戶不一定直接與智能合約交互。但在不久的將來,智能合約的應用會更廣泛,將覆蓋金融服務、供應鏈管理等各個領域。
智能合約和區(qū)塊鏈幾乎共同顛覆了當今社會的所有領域。但只有時間才能證明,這些突破性技術(shù)是否能突破重重障礙,最終實現(xiàn)大規(guī)模普及。
以上就是腳本之家小編給大家分享的智能合約的詳細介紹了,希望大家喜歡!
你可能感興趣的文章
-
以太坊智能合約的優(yōu)缺點有哪些?以太坊智能合約的優(yōu)缺點介紹
以太坊為了解決區(qū)塊鏈中存在的一些問題,提出了以太坊的概念,與比特幣相比,許多事物逐漸相互依賴,特別是智能合約有很多與以太坊區(qū)塊鏈的特性相關的限制,可能現(xiàn)在很多投…
2024-12-25 -
智能合約是以太坊網(wǎng)絡首次提出的嗎?智能合約是如何工作的?
智能合約是一種自動執(zhí)行的合約,它以數(shù)字方式促進、驗證和執(zhí)行兩方或多方之間的商定條款,智能合約允許在沒有第三方的情況下進行可信的交易,很多投資者不知道智能合約是以太…
2024-12-18 -
以太坊智能合約是什么?一文帶你搞懂智能合約和以太坊的關系
要是說起智能合約的由來,不得不提到的就是以太坊,很多投資者可能都還不太清楚這個智能合約和以太坊的關系,所以這篇文章小編就來和大家詳細講講智能合約和以太坊的關系吧…
2024-12-18 -
TON智能合約的安全隱患與優(yōu)化建議
這篇文章主要為大家介紹了 TON 區(qū)塊鏈上的一些與智能合約有關的特性,以及TON上智能合約容易被忽略的漏洞點的相關資料,,需要的朋友可以參考下本文詳細內(nèi)容,…
2025-04-28 -
什么是Etherscan及其使用方法?如何在Etherscan上查找ERC20代幣
對于剛進入幣圈的新手來說,什么是Etherscan?簡單來說Etherscan是以太坊網(wǎng)絡的區(qū)塊鏈瀏覽器,可用于搜索交易、區(qū)塊、錢包地址、智能合約以及其它鏈上數(shù)據(jù),屬于最熱門的以…
2024-11-25 -
智能合約是什么?如何執(zhí)行?智能合約運作原理、優(yōu)缺點及應用
智能合約是在區(qū)塊鏈網(wǎng)路上簽署并儲存的數(shù)位協(xié)議,當滿足合約條款和條件(T&C) 時自動執(zhí)行,如果您是加密貨幣愛好者,那么一定會聽說過智能合約,那么,智能合約是什么?如…
2024-08-14 -
了解 DeFi 中智能合約可升級性的利弊
可升級合約為協(xié)議開發(fā)提供了強大的工具,但它們要求用戶信任人類系統(tǒng),而不是僅僅依賴不可變的代碼,在可升級性和安全性之間取得適當?shù)钠胶馊匀皇且粋€核心挑戰(zhàn),用戶必須保持…
2024-07-09 -
智能合約是什么意思?有什么優(yōu)點與缺點要注意?
智能合約(Smart Contracts)是區(qū)塊鏈中制定合約所使用的特殊協(xié)議,這是一種自動執(zhí)行的合約,將雙方的協(xié)議條款寫入代碼中,智能合約也可以把Dapp(去中心化應用程式)放到區(qū)塊鏈…
2024-07-07 -
小白快速理解智能合約
當小白學習區(qū)塊鏈的時候,有一個叫“智能合約”的詞會反復出現(xiàn),可什么是“智能合約”呢?這篇就為大家簡單介紹一下…
2024-07-07 -
詳細介紹智能合約最早在什么時候被提出的?
智能合約是區(qū)塊鏈技術(shù)的核心組成部分,具有數(shù)據(jù)透明、不可篡改、永久運行等,通過智能合約,可以把合同或協(xié)議條款以代碼的形式電子化地放到區(qū)塊鏈網(wǎng)絡上,實現(xiàn)自動執(zhí)行,從…
2024-06-28