亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

小白快速理解智能合約

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

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

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

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

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

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

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

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

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

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

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

2、“智能合約”已經(jīng)不局限在“合約”本身了,其它類的應(yī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ū)塊鏈本身的特性也會決定智能合約的相應(yīng)特性。我們用一張圖,來進(jìn)行比較說明,部署在中心化的傳統(tǒng)互聯(lián)網(wǎng)上與部署在分布式的區(qū)塊鏈上有何不同。見下圖:

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

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

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

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

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

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

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

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

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

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

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

4、 功能相對弱:不同于中心化服務(wù)器的軟件功能強(qiáng)大,在區(qū)塊鏈上的智能合約受限于區(qū)塊大小、出塊速度和區(qū)塊鏈本身的網(wǎng)絡(luò)帶寬等多種因素,在功能上遠(yuǎn)沒有中心化服務(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ù)不可篡改、可以溯源;就會面對如何保證上鏈的數(shù)據(jù)是可信數(shù)據(jù),如果源數(shù)據(jù)不準(zhǔn)確那上鏈就沒有了意義。另外,數(shù)據(jù)上鏈的時(shí)間、花費(fèi)、儲存都是一些復(fù)雜的問題。所以相對來講,區(qū)塊鏈的智能合約和外部數(shù)據(jù)交互難度大一些,與傳統(tǒng)互聯(lián)網(wǎng)的方式不同。

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

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

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

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

1、合約創(chuàng)立

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

1) 創(chuàng)建賬戶

需要先了解以太坊的賬戶體系

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

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

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

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

2、合約的執(zhí)行

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

聲明:文章內(nèi)容不代表本站觀點(diǎn)及立場,不構(gòu)成本平臺任何投資建議。本文內(nèi)容僅供參考,風(fēng)險(xiǎn)自擔(dān)!
Tag:智能合約  

你可能感興趣的文章

幣圈快訊

  • OpenAI的開放語言模型即將問世

    2025-07-10 00:15
    金色財(cái)經(jīng)報(bào)道,據(jù)美國科技媒體TheVerge,微軟(MSFT.O)與OpenAI的復(fù)雜關(guān)系即將迎來戲劇性轉(zhuǎn)折。就在雙方重新協(xié)商合同以允許OpenAI重組為營利性公司之際,OpenAI正準(zhǔn)備發(fā)布一款開放語言模型,這可能進(jìn)一步加劇兩家公司的裂痕。知情人士透露,薩姆·奧爾特曼領(lǐng)導(dǎo)的這家AI實(shí)驗(yàn)室即將在下周發(fā)布開放權(quán)重模型,該模型不僅會登陸OpenAI和微軟Azure服務(wù)器,還將向其他云服務(wù)商開放。與OpenAI通常采用的封閉權(quán)重模式不同,此次公開的權(quán)重參數(shù)(一種訓(xùn)練參數(shù))將向公眾開放,這種開放性意味著企業(yè)和政府能夠自主部署該模型。
  • pump.fun創(chuàng)始人披露團(tuán)隊(duì)擁有70多名核心成員,即將宣布首筆收購

    2025-07-10 00:13
    ChainCatcher消息,據(jù)創(chuàng)始人Alon在社交媒體上發(fā)文披露,未來重點(diǎn)方向: 提升已上線代幣的質(zhì)量、可持續(xù)性和多樣性,未來創(chuàng)作者收益共享機(jī)制功能將擴(kuò)展至CTO項(xiàng)目,同時(shí)也將對費(fèi)用結(jié)構(gòu)進(jìn)行進(jìn)一步調(diào)整。加倍投入「社交」領(lǐng)域,進(jìn)一步投資和聚焦pump.fun直播功能。 目前,團(tuán)隊(duì)的基礎(chǔ)框架已初步搭建完成,已有70多名核心成員,涵蓋工程、數(shù)據(jù)、安全、信任與合規(guī)、法務(wù)、運(yùn)營和增長等多個(gè)領(lǐng)域。將繼續(xù)積極擴(kuò)張團(tuán)隊(duì),通過招聘和戰(zhàn)略性收購,首筆收購也即將官宣。
  • 特朗普次子EricTrump:特朗普并不擁有比特幣挖礦公司

    2025-07-10 00:11
    金色財(cái)經(jīng)報(bào)道,特朗普次子EricTrump在X平臺發(fā)文表示,美國總統(tǒng)特朗普并不擁有比特幣挖礦公司。
  • 特朗普加大貨幣政策干預(yù)力度已引發(fā)美聯(lián)儲信譽(yù)問題

    2025-07-10 00:11
    金色財(cái)經(jīng)報(bào)道,市場分析指出,特朗普加大對貨幣政策的干預(yù)力度,已引發(fā)美聯(lián)儲信譽(yù)問題。無論最終誰接任,都可能被貼上“只為執(zhí)行特朗普降息指令”的標(biāo)簽,打破美聯(lián)儲傳統(tǒng)的“非政治化”表象。據(jù)報(bào)道,為在短期內(nèi)擴(kuò)大影響力,特朗普正考慮在現(xiàn)任主席鮑威爾明年卸任前任命“影子主席”,以施壓美聯(lián)儲降息。
  • LA于Binance開盤暫報(bào)0.6563美元

    2025-07-10 00:01
    ChainCatcher消息,據(jù)Binance行情數(shù)據(jù),Lagrange(LA)開盤觸及0.67美元,現(xiàn)報(bào)0.6563美元。
  • 查看更多