欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

當(dāng)前位置:主頁(yè) > 區(qū)塊鏈 > 區(qū)塊鏈技術(shù) > 智能合約

小白快速理解智能合約

2024-07-07 21:29:10 | 來(lái)源: | 作者:樹(shù)哥
當(dāng)小白學(xué)習(xí)區(qū)塊鏈的時(shí)候,有一個(gè)叫“智能合約”的詞會(huì)反復(fù)出現(xiàn),可什么是“智能合約”呢?這篇就為大家簡(jiǎn)單介紹一下

當(dāng)小白學(xué)習(xí)區(qū)塊鏈的時(shí)候,有一個(gè)叫“智能合約”的詞會(huì)反復(fù)出現(xiàn)??墒裁词?ldquo;智能合約”呢?今天樹(shù)哥嘗試用自己的語(yǔ)言說(shuō)清楚啥叫“智能合約”。

一、什么是“智能合約”?

最初的概念:“智能合約”(smart contract):是一套以數(shù)字形式定義的承諾(promises) ,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議。—-1995年尼克·薩博(Nick Szabo)(跨領(lǐng)域法律學(xué)者)

請(qǐng)注意兩個(gè)關(guān)鍵點(diǎn):

1、這是1995年提出來(lái)的,那會(huì)兒還只是互聯(lián)網(wǎng)的早期階段,區(qū)塊鏈的概念遠(yuǎn)未誕生。

2、提出的人是一個(gè)跨領(lǐng)域法律學(xué)者,是想通過(guò)計(jì)算機(jī)解決法律問(wèn)題。

可以看出,當(dāng)初“智能合約”的概念是通過(guò)計(jì)算機(jī)解決法律合約執(zhí)行的問(wèn)題。

那么,當(dāng)前大家談的“智能合約”還是當(dāng)初的這些含義嗎?

當(dāng)區(qū)塊鏈?zhǔn)澜缫肓?ldquo;智能合約”這個(gè)概念時(shí),它的概念已經(jīng)發(fā)生了種種變化!

1、當(dāng)前談的**“智能合約”,都在區(qū)塊鏈范疇內(nèi)討論。

2、“智能合約”已經(jīng)不局限在“合約”本身了,其它類(lèi)的應(yīng)用都可以稱(chēng)之為“智能合約”!

談到第一點(diǎn),我們現(xiàn)在“智能合約”因?yàn)槭遣渴鸬絽^(qū)塊鏈上,所以需要很具有“區(qū)塊鏈特色”。

談到第二點(diǎn),“智能合約”可以是合約,當(dāng)然也可以不是合約。當(dāng)前很多描述“智能合約”的文章還把“智能合約”局限在“合約”上,是不準(zhǔn)確的。

當(dāng)前的定義是:

“智能合約”:是區(qū)塊鏈系統(tǒng)上的應(yīng)用,是可執(zhí)行的代碼。

二、區(qū)塊鏈上的“智能合約”

我們既然談到是區(qū)塊鏈上的智能合約,因此區(qū)塊鏈本身的特性也會(huì)決定智能合約的相應(yīng)特性。我們用一張圖,來(lái)進(jìn)行比較說(shuō)明,部署在中心化的傳統(tǒng)互聯(lián)網(wǎng)上與部署在分布式的區(qū)塊鏈上有何不同。見(jiàn)下圖:

互聯(lián)網(wǎng)與區(qū)塊鏈網(wǎng)絡(luò)智能合約

最直接顯著的區(qū)別有兩點(diǎn):

1、 在中心化的互聯(lián)網(wǎng)上,智能合約(代碼)只需要部署在中心節(jié)點(diǎn)服務(wù)器上就可以。

而區(qū)塊鏈網(wǎng)絡(luò)上,由于沒(méi)有中心化的節(jié)點(diǎn),所以智能合約必須部署在所有的節(jié)點(diǎn)上。

2、 在中心化互聯(lián)網(wǎng)上,智能合約(代碼)可以比較隨意、限制比較少的創(chuàng)建、執(zhí)行、升級(jí)或終止。

而在區(qū)塊鏈網(wǎng)絡(luò)上,由于體系是采用按時(shí)間出區(qū)塊,一個(gè)區(qū)塊鏈接一個(gè)區(qū)塊的方式,決定了智能合約必須打包入?yún)^(qū)塊之中,并且復(fù)制到全網(wǎng)的節(jié)點(diǎn)之中。決定了智能合約代碼會(huì)有一些要求,智能合約的創(chuàng)建、執(zhí)行、升級(jí)、終止也會(huì)復(fù)雜得多,必須符合區(qū)塊鏈本身的技術(shù)要求。

也是由于這兩點(diǎn),決定了區(qū)塊鏈上的智能合約有如下的特色:

1、代碼即法律:不同于中心化節(jié)點(diǎn),區(qū)塊鏈上的智能合約一經(jīng)部署便復(fù)制到全網(wǎng)節(jié)點(diǎn),滿足條件會(huì)自動(dòng)執(zhí)行,所有人都可以看到但無(wú)法修改,即使代碼的創(chuàng)始人也無(wú)法終止。

2、機(jī)器信任:不同于傳統(tǒng)信任中心或第三方(例如淘寶信任的是第三方支付寶),智能合約的履行完全靠機(jī)器代碼完成,不依賴(lài)任何第三方或權(quán)威中心機(jī)構(gòu),因此變中心信任為機(jī)器信任。

3、升級(jí)困難:不同于中心化互聯(lián)網(wǎng)發(fā)現(xiàn)問(wèn)題修改代碼非常容易,區(qū)塊鏈網(wǎng)絡(luò)中的智能合約一經(jīng)部署,修改完善過(guò)程就比較復(fù)雜。這點(diǎn)也是區(qū)塊鏈本身的特色,區(qū)塊鏈的網(wǎng)絡(luò)本身升級(jí)就很困難,容易導(dǎo)致分叉,比特幣現(xiàn)金就是比特幣網(wǎng)絡(luò)想把區(qū)塊從1M改成8M后導(dǎo)致硬分叉而來(lái)的。

3、 決策靠共識(shí):不同于中心化服務(wù)器的任何決策都可以有權(quán)威中心直接負(fù)責(zé),區(qū)塊鏈由于是布局到全網(wǎng)節(jié)點(diǎn)上的,沒(méi)有了權(quán)威中心,很多決策都是靠全網(wǎng)共識(shí)來(lái)達(dá)成,所以就有了社區(qū)、技術(shù)開(kāi)發(fā)者、礦工、交易所等等多方利益的博弈過(guò)程。

4、 功能相對(duì)弱:不同于中心化服務(wù)器的軟件功能強(qiáng)大,在區(qū)塊鏈上的智能合約受限于區(qū)塊大小、出塊速度和區(qū)塊鏈本身的網(wǎng)絡(luò)帶寬等多種因素,在功能上遠(yuǎn)沒(méi)有中心化服務(wù)器的那么強(qiáng)大;當(dāng)然,由于每個(gè)區(qū)塊都需要全網(wǎng)同步,所以并發(fā)的交易速度也遠(yuǎn)不如傳統(tǒng)中心化互聯(lián)網(wǎng)那么強(qiáng)大(雙十一淘寶的并發(fā)量是極其可怕的)。

5、 外部數(shù)據(jù)交互難度大:區(qū)塊鏈本身就是要保證在網(wǎng)的數(shù)據(jù)不可篡改、可以溯源;就會(huì)面對(duì)如何保證上鏈的數(shù)據(jù)是可信數(shù)據(jù),如果源數(shù)據(jù)不準(zhǔn)確那上鏈就沒(méi)有了意義。另外,數(shù)據(jù)上鏈的時(shí)間、花費(fèi)、儲(chǔ)存都是一些復(fù)雜的問(wèn)題。所以相對(duì)來(lái)講,區(qū)塊鏈的智能合約和外部數(shù)據(jù)交互難度大一些,與傳統(tǒng)互聯(lián)網(wǎng)的方式不同。

小結(jié):智能合約就是一段代碼,需要實(shí)現(xiàn)的一些應(yīng)用。由于部署在區(qū)塊鏈上,區(qū)塊鏈的多方存儲(chǔ)、多方計(jì)算、規(guī)則透明、不可篡改等特性,恰好為智能合約提供了安全可靠的記錄載體和執(zhí)行環(huán)境。智能合約變得不可篡改,陌生人都可以信任機(jī)器而不再關(guān)心合約的對(duì)方是誰(shuí),當(dāng)然同時(shí)也就存在了區(qū)塊鏈固有的一些問(wèn)題,例如升級(jí)困難,功能目前還沒(méi)有那么強(qiáng)大等問(wèn)題。

三、智能合約的創(chuàng)建和執(zhí)行

一個(gè)智能合約的生命周期包含合約創(chuàng)建、合約部署、合約執(zhí)行等過(guò)程。我們以以太坊為例,來(lái)說(shuō)明區(qū)塊鏈上的“智能合約”是如何創(chuàng)建和執(zhí)行的。

案例:我們新建一個(gè)發(fā)工資的智能合約,樹(shù)哥是老板,是需要給兩個(gè)員工A和B發(fā)工資。先簡(jiǎn)單構(gòu)建一下發(fā)工資的邏輯,如下:

1、合約創(chuàng)立

從上圖可以看出,在以太坊上是分為外部賬戶(hù)和合約賬戶(hù)的。樹(shù)哥的外部賬戶(hù)存著錢(qián),合約賬戶(hù)存著相應(yīng)的代碼。代碼執(zhí)行的操作就是30號(hào)的時(shí)候,先檢查A和B的工作量,滿足要求后給A賬戶(hù)和B賬戶(hù)轉(zhuǎn)賬工資。那么,合約的創(chuàng)立就是要給三個(gè)用戶(hù)建立賬戶(hù),通過(guò)要編寫(xiě)合約賬戶(hù)內(nèi)的代碼。

1) 創(chuàng)建賬戶(hù)

需要先了解以太坊的賬戶(hù)體系

2)編譯,打包,數(shù)據(jù)上區(qū)塊鏈

根據(jù)要求創(chuàng)建完賬戶(hù)、編寫(xiě)完代碼(以太坊的官方智能合約開(kāi)發(fā)語(yǔ)言為:solidity),開(kāi)始對(duì)編寫(xiě)的代碼進(jìn)行編譯。

一旦完成了智能合約打包上鏈的過(guò)程,就意味著:全網(wǎng)的驗(yàn)證節(jié)點(diǎn)都會(huì)接受到樹(shù)哥和員工A與B之間的智能合約,并進(jìn)行了保存。

需要注意的,在以太坊上部署和執(zhí)行智能合約都是要有花費(fèi)的,這樣的花費(fèi)是用GAS來(lái)表示的(挺像我們的汽車(chē)燒的燃?xì)猓@個(gè)GAS是可以是用以太坊來(lái)購(gòu)買(mǎi)。設(shè)置GAS而沒(méi)有直接用以太坊的原因是,以太坊價(jià)格波動(dòng)太大,不能今天執(zhí)行一段代碼要50塊明天就變成5塊錢(qián)吧?所以用GAS代表以太坊上執(zhí)行操作的代價(jià)相對(duì)不會(huì)波動(dòng)太大。

2、合約的執(zhí)行

智能合約會(huì)定期檢查相關(guān)事件和觸發(fā)條件,滿足條件的事件會(huì)推送到待驗(yàn)證的隊(duì)列之中。例如每月30日,會(huì)觸發(fā)條件把樹(shù)哥賬戶(hù)里的錢(qián)轉(zhuǎn)給員工A和員工B的賬戶(hù)中。

區(qū)塊鏈的驗(yàn)證節(jié)點(diǎn)會(huì)對(duì)這個(gè)事件進(jìn)行簽名驗(yàn)證,等大多數(shù)的驗(yàn)證節(jié)點(diǎn)對(duì)此事件達(dá)成共識(shí)后,智能合約將被成功執(zhí)行,并通知用戶(hù)。

需要說(shuō)明的是,智能合約是存儲(chǔ)在區(qū)塊鏈網(wǎng)絡(luò)的代碼,但區(qū)塊鏈本身是不執(zhí)行代碼的。真正執(zhí)行代碼的是以太坊虛擬機(jī)(EVM),準(zhǔn)確一點(diǎn)來(lái)說(shuō)是每一臺(tái)本地的以太坊虛擬機(jī)來(lái)執(zhí)行代碼,再來(lái)相互驗(yàn)證,然后再將結(jié)果寫(xiě)入到區(qū)塊鏈當(dāng)中。示意圖如下:

以太坊智能合約執(zhí)行示意

小結(jié):通過(guò)樹(shù)哥給員工發(fā)工資的智能合約的創(chuàng)建、部署和執(zhí)行的過(guò)程,就可以了解到:資金是保存在外部賬戶(hù)中,代碼是保存在合約賬戶(hù)中;部署智能合約就是在把智能合約打包進(jìn)區(qū)塊中,然后分發(fā)到全網(wǎng)中;執(zhí)行智能合約就是在觸發(fā)條件達(dá)到后本地的以太坊虛擬機(jī)執(zhí)行智能合約,然后再將結(jié)果保存在區(qū)塊鏈中這樣的一個(gè)過(guò)程。

四、智能合約的安全性討論

最近出了很多起智能合約被黑客攻破而導(dǎo)致資產(chǎn)大量損失的事件,但發(fā)生的這些事件都不是因?yàn)橐蕴痪W(wǎng)絡(luò)系統(tǒng)的問(wèn)題,而是屬于開(kāi)發(fā)者開(kāi)發(fā)的智能合約存在漏洞的原因。那么,智能合約開(kāi)發(fā)需要注意哪些問(wèn)題呢?一般就是兩個(gè)問(wèn)題,一是確保智能合約的確定性,二是確定智能合約的可以關(guān)閉性。

1、確定性:就是確保智能合約在不同的計(jì)算機(jī)上執(zhí)行的效果都是相同的。

在區(qū)塊鏈網(wǎng)絡(luò)上,是不同的計(jì)算機(jī)節(jié)點(diǎn)參與運(yùn)行智能合約,如果執(zhí)行的結(jié)果有差異那么無(wú)疑會(huì)導(dǎo)致不同節(jié)點(diǎn)達(dá)不成共識(shí),相應(yīng)的區(qū)塊也會(huì)認(rèn)為是非法的。那么如何保證智能合約的確定性呢?

1)不進(jìn)行調(diào)用不確定性的函數(shù),

2)不使用不確定性的數(shù)據(jù)源。

2、可以關(guān)閉性:就是確保智能合約在一定的情況下可以關(guān)閉。

如果一段有問(wèn)題的智能合約在不斷地運(yùn)行,它會(huì)不斷的消耗區(qū)塊鏈的網(wǎng)絡(luò)資源,也有可能會(huì)攻擊者利用來(lái)攻擊整個(gè)網(wǎng)絡(luò)。是可以通過(guò)一些手段限制資源的使用來(lái)執(zhí)行智能合約關(guān)閉。

1)限制最大使用的資源。在以太坊上執(zhí)行智能合約或存儲(chǔ)都是需要有消耗(gas),智能合約有g(shù)as limit (最大消耗的gas值)來(lái)限制智能合約。當(dāng)智能合約消耗到規(guī)定的最大值時(shí),會(huì)自動(dòng)關(guān)閉。

2)限制執(zhí)行代碼行數(shù)或執(zhí)行時(shí)間。當(dāng)智能合約執(zhí)行代碼行數(shù)達(dá)到規(guī)定最大行或執(zhí)行時(shí)間,則認(rèn)為智能合約有可能進(jìn)入死循環(huán)或出現(xiàn)問(wèn)題,強(qiáng)行關(guān)閉。

3)采用虛擬機(jī)方式,隔離資源。以太坊就是采用虛擬機(jī)EVM的方式,把執(zhí)行環(huán)境虛擬化,將資源進(jìn)行隔離,避免由于一個(gè)智能合約問(wèn)題感染整個(gè)系統(tǒng),也可以通過(guò)關(guān)閉智能合約的執(zhí)行虛擬機(jī)關(guān)閉智能合約。

小結(jié):部署在區(qū)塊鏈上的智能合約,由于其具備的區(qū)塊鏈的復(fù)雜特性而會(huì)凸顯出安全性的重要性。如果要真正理解如何提升智能合約的安全性,那需要對(duì)區(qū)塊鏈底層邏輯和智能合約有一定了解。

總結(jié):智能合約本質(zhì)是應(yīng)用,不局限于電子合約本身。在區(qū)塊鏈上的智能合約具備著區(qū)塊的規(guī)則透明、不可篡改、分布存儲(chǔ)等特征,它的創(chuàng)建、部署和執(zhí)行也是有一定的復(fù)雜度,在安全防護(hù)上也有了較高一些的要求。也正因?yàn)槿绱?,區(qū)塊鏈上的智能合約可以完成傳統(tǒng)互聯(lián)網(wǎng)程序沒(méi)有辦法完成的任務(wù),不僅可以在金融、拍賣(mài)、借貸、遺囑、注冊(cè)、眾籌、股權(quán)、投票、保險(xiǎn)等領(lǐng)域發(fā)揮巨大作用,而且隨著技術(shù)的不斷發(fā)展,在其他方面也將展現(xiàn)出巨大的作用。

以上,為樹(shù)哥區(qū)塊鏈從小白到精通

作者介紹:樹(shù)哥,樹(shù)哥區(qū)塊鏈創(chuàng)始人、《區(qū)塊鏈從入門(mén)到精通》作者,U贊簽約作者,對(duì)話區(qū)塊鏈合伙人。立志用最通俗的語(yǔ)言讓小白透徹了解區(qū)塊鏈技術(shù)。公眾號(hào)\頭條號(hào)\新浪博客\百度百家:樹(shù)哥區(qū)塊鏈,星球:區(qū)塊鏈從小白到精通。

免責(zé)聲明:本文只為提供市場(chǎng)訊息,所有內(nèi)容及觀點(diǎn)僅供參考,不構(gòu)成投資建議,不代表本站觀點(diǎn)和立場(chǎng)。投資者應(yīng)自行決策與交易,對(duì)投資者交易形成的直接或間接損失,作者及本站將不承擔(dān)任何責(zé)任。!
Tag:智能合約  

你可能感興趣的文章

更多

熱門(mén)幣種

  • 幣名
    最新價(jià)格
    24H漲幅
  • bitcoin BTC 比特幣

    BTC

    比特幣

    $ 101889.8¥ 725557.26
    -0.12%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 3390.48¥ 24143.6
    +0.55%
  • tether USDT 泰達(dá)幣

    USDT

    泰達(dá)幣

    $ 0.9996¥ 7.1181
    +0.03%
  • binance-coin BNB 幣安幣

    BNB

    幣安幣

    $ 992.46¥ 7067.3
    +2.97%
  • ripple XRP 瑞波幣

    XRP

    瑞波幣

    $ 2.2646¥ 16.1262
    -1.45%
  • solana SOL Solana

    SOL

    Solana

    $ 157.28¥ 1119.99
    -1.77%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 1.0001¥ 7.1217
    -0.04%
  • tron TRX 波場(chǎng)

    TRX

    波場(chǎng)

    $ 0.2917¥ 2.0771
    +0.62%
  • dogecoin DOGE 狗狗幣

    DOGE

    狗狗幣

    $ 0.1746¥ 1.2433
    -1.97%
  • cardano ADA 艾達(dá)幣

    ADA

    艾達(dá)幣

    $ 0.5609¥ 3.9941
    -2.4%

幣圈快訊

  • Coinbase比特幣溢價(jià)指數(shù)暫報(bào)-0.016%

    2025-11-09 02:34
    據(jù)Coinglass數(shù)據(jù),Coinbase比特幣溢價(jià)指數(shù)暫報(bào)-0.016%。據(jù)悉,Coinbase比特幣溢價(jià)指數(shù)是衡量CoinbasePro上的比特幣價(jià)格(美元對(duì))和幣安上的價(jià)格(USDT交易對(duì))之間百分比差異的指標(biāo)。
  • 若BTC突破107,037美元,主流CEX累計(jì)空單清算強(qiáng)度將達(dá)13.23億美元

    2025-11-09 02:30
    據(jù)Coinglass數(shù)據(jù)顯示,若BTC突破107,037美元,主流CEX累計(jì)空單清算強(qiáng)度將達(dá)13.23億美元。反之,若BTC跌破97,482美元,主流CEX累計(jì)多單清算強(qiáng)度將達(dá)9.81億美元。
  • 若ETH突破3,557美元,主流CEX累計(jì)空單清算強(qiáng)度將達(dá)13.98億美元

    2025-11-09 02:30
    據(jù)Coinglass數(shù)據(jù)顯示,若ETH突破3,557美元,主流CEX累計(jì)空單清算強(qiáng)度將達(dá)13.98億美元。反之,若ETH跌破3,224美元,主流CEX累計(jì)多單清算強(qiáng)度將達(dá)6.1億美元。
  • 當(dāng)前RWA板塊TVL為177.76億美元

    2025-11-09 01:58
    據(jù)DefiLlama數(shù)據(jù),現(xiàn)實(shí)資產(chǎn)代幣化(RWA)板塊TVL為177.76億美元,創(chuàng)下歷史新高。其中:·貝萊德BUIDLTVL達(dá)28.34億美元;·EthenaUSDtbTVL達(dá)18.33億美元;·OndoFinanceTVL達(dá)18.22億美元。
  • 加拿大總理稱(chēng)加美經(jīng)濟(jì)關(guān)系已結(jié)束

    2025-11-09 01:24
    當(dāng)?shù)貢r(shí)間11月7日,加拿大總理卡尼表示,加拿大和美國(guó)之間數(shù)十年來(lái)日益緊密的經(jīng)濟(jì)關(guān)系已經(jīng)結(jié)束??嵴f(shuō),因?yàn)榕c美國(guó)的緊密聯(lián)系,加拿大曾擁有一些經(jīng)濟(jì)優(yōu)勢(shì),但現(xiàn)在這已經(jīng)成為加拿大的弱點(diǎn),這種變化快速且?guī)缀鯖](méi)有過(guò)渡,他呼吁對(duì)加拿大的經(jīng)濟(jì)戰(zhàn)略進(jìn)行迅速且徹底地改變。(央視新聞)
  • 查看更多