你認(rèn)識(shí)以太坊智能合約嗎?

本文由幣車HIT(biche.yaofache.com)大V養(yǎng)成計(jì)劃支持!


以太坊智能合約是以太坊相關(guān)內(nèi)容中最為重要的一塊,以太坊的智能合約讓區(qū)塊鏈從比特幣1.0步入到了區(qū)塊鏈2.0從而讓更多的應(yīng)用可以在以太坊的平臺(tái)上開發(fā)使用。

那么以太坊的智能合約究竟是什么呢?下面請(qǐng)聽木木給大家簡(jiǎn)單介紹一番。

我們現(xiàn)實(shí)生活中的合約一般一式幾份給與合約的簽署方,然后再根據(jù)紙質(zhì)合約執(zhí)行合約條款。而智能合約需要首先明確代碼即規(guī)則,基于這個(gè)原則智能合約就類似于一個(gè)代理人的角色,在區(qū)塊鏈上智能合約就是合約代碼+存儲(chǔ)空間的虛擬賬戶。

智能合約中的行為由代碼來控制,那么智能合約的賬戶就是存儲(chǔ)合約的狀態(tài)了。在以太坊平臺(tái)上核心就是EVM(以太坊虛擬機(jī))而合約代碼的執(zhí)行都是在EVM中進(jìn)行的,當(dāng)然每個(gè)節(jié)點(diǎn)都會(huì)有一個(gè)EVM而EVM則是一個(gè)圖靈完備的虛擬機(jī)。

以太坊在合約執(zhí)行過程中是通過創(chuàng)建消息的方式來調(diào)用其它的合約的,其調(diào)用過程如下:

第一步:智能合約A發(fā)送一條消息(內(nèi)容:發(fā)送者、接收者、value、Gas等相關(guān)信息)給智能合約B,消息的格式和交易很類似,區(qū)別在于消息使用的call指令在區(qū)塊鏈中不產(chǎn)生一個(gè)交易的記錄。

第二步:智能合約B收到消息后訪問消息的數(shù)據(jù)區(qū)去獲取參數(shù)然后執(zhí)行合約的代碼。第三步智能合約B執(zhí)行后結(jié)果返回給智能合約A。第四步智能合約A把智能合約B返回消息單獨(dú)放在一塊內(nèi)存空間。

智能合約對(duì)區(qū)塊鏈的發(fā)展有著革命性的作用,上鏈后的合約和傳統(tǒng)合約對(duì)比有以下優(yōu)點(diǎn):

1.代碼即規(guī)則:代碼的邏輯比較的明確從而使合約內(nèi)容規(guī)則更加的明確。

2.區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)是互相獨(dú)立的因此需要形成共識(shí)后再寫入,而整個(gè)過程中的記錄是不可篡改的,因?yàn)閰^(qū)塊鏈保存了合約的執(zhí)行記錄從而使整個(gè)過程明確可追溯且合約的執(zhí)行力依賴區(qū)塊鏈協(xié)議后可以得到強(qiáng)力的保證。

智能合約的語言是一種面向?qū)ο笄医咏贘avascript的Solidity語言,但作為一種真正意義上運(yùn)行在去中心化網(wǎng)絡(luò)上的合約又有很多的不同:

1. 以太坊底層是基于帳戶而非UTXO的,所以有一個(gè)特殊的Address的類型可以用來定位用戶、定位合約和定位合約的代碼(合約本身也是一個(gè)帳戶)。

2. 由于語言內(nèi)嵌框架是支持支付的,所以提供了一些關(guān)鍵字如payable就可以在語言層面直接支持支付。

3.存儲(chǔ)是使用網(wǎng)絡(luò)上的區(qū)塊鏈從而使數(shù)據(jù)的每一個(gè)狀態(tài)都可以永久存儲(chǔ),所以需要提前確定變量是使用內(nèi)存還是使用區(qū)塊鏈。

4.去中心化的網(wǎng)絡(luò)運(yùn)行環(huán)境會(huì)比較強(qiáng)調(diào)合約或函數(shù)執(zhí)行的調(diào)用方式,因?yàn)樵瓉硪粋€(gè)簡(jiǎn)單的函數(shù)調(diào)用變?yōu)榱艘粋€(gè)網(wǎng)絡(luò)上的節(jié)點(diǎn)中的代碼執(zhí)行。5.它的異常機(jī)制一旦出現(xiàn)異常所有的執(zhí)行都將會(huì)被撤,而這樣做主要也是為了保證合約執(zhí)行的原子性以避免中間狀態(tài)出現(xiàn)的數(shù)據(jù)不一致。

以上就是木木學(xué)習(xí)后對(duì)以太坊智能合約的簡(jiǎn)單介紹,希望可以幫助大家更好的理解。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 以太坊(Ethereum ):下一代智能合約和去中心化應(yīng)用平臺(tái) 翻譯:巨蟹 、少平 譯者注:中文讀者可以到以太坊愛...
    車圣閱讀 3,923評(píng)論 1 7
  • 【中文版】以太坊白皮書 翻譯:少平、 Seven當(dāng)中本聰在 2009 年 1 月啟動(dòng)比特幣區(qū)塊鏈時(shí),他同時(shí)向世界引...
    __Seven__閱讀 4,450評(píng)論 0 10
  • 我們注定要去道別, 和駁墻中的繡鐵釘, 吹徹的風(fēng),瘋長(zhǎng)的草, 道別后村莊努力站立。 生命的種子鄉(xiāng)下落, 三月的柳絮...
    吃西瓜閱讀 275評(píng)論 0 1
  • 一天早上,在賓館中吃好早餐,準(zhǔn)備回房間的時(shí)候,對(duì)從餐廳回去房間的路有些迷惑,只是大概記得是出總臺(tái)正門右轉(zhuǎn)。 正在我...
    周安柱閱讀 659評(píng)論 5 0
  • 人生何時(shí)到彼岸? 在昨日,尋不斷, 心跡流浪,卻也路漫漫。 不知終點(diǎn)在何方? 在尋覓,好迷茫! 今日晨昏向前行, ...
    李興元閱讀 303評(píng)論 1 3

友情鏈接更多精彩內(nèi)容