• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于CPN模型Auction智能合約的形式化驗(yàn)證

    2020-12-11 02:40:14董春燕
    關(guān)鍵詞:以太贏家合約

    董春燕,譚 良,2

    1(四川師范大學(xué) 計(jì)算機(jī)學(xué)院,成都 610101) 2(中國(guó)科學(xué)院 計(jì)算技術(shù)研究所,北京 100190)

    1 引 言

    智能合約[1-4]已成為第二代區(qū)塊鏈的核心功能,如以太坊、hyperledger、EOS等.狹義的智能合約可看作是運(yùn)行在分布式賬本上預(yù)置規(guī)則、具有狀態(tài)、條件響應(yīng)的,可封裝、驗(yàn)證、執(zhí)行分布式節(jié)點(diǎn)復(fù)雜行為,完成信息交換、價(jià)值轉(zhuǎn)移和資產(chǎn)管理的計(jì)算機(jī)程序[5].由于分布式環(huán)境的復(fù)雜性以及智能合約涉及復(fù)雜的時(shí)間依賴(lài)和次序依賴(lài)關(guān)系,合約代碼的不確定性和不一致性將導(dǎo)致智能合約本身存在漏洞,進(jìn)而導(dǎo)致合約執(zhí)行結(jié)果的不確定性,最終會(huì)導(dǎo)致法律責(zé)任的不確定性.因此,任意智能合約在上鏈之前應(yīng)進(jìn)行嚴(yán)格的安全測(cè)試和驗(yàn)證.否則,合約漏洞會(huì)給現(xiàn)實(shí)應(yīng)用帶來(lái)巨大的經(jīng)濟(jì)損失.如,2016年5月,史上最大的一個(gè)眾籌項(xiàng)目The DAO由于智能合約沒(méi)有進(jìn)行嚴(yán)格的安全測(cè)試和驗(yàn)證,攻擊者利用DAO.sol代碼中“splitDAO”函數(shù)在遞歸發(fā)送模式上存在的漏洞盜取了大量的以太幣[6].又如,2017年7月,Parity Wallet的多重簽名錢(qián)包“multi-sig”合約代碼中存在漏洞,使得攻擊者可以任意重置現(xiàn)有錢(qián)包的所有權(quán)和使用參數(shù),這致使Parity Wallet中的多個(gè)以太幣賬戶(hù)被盜取[7].

    Auction合約是一個(gè)公開(kāi)拍賣(mài)的智能合約,廣泛應(yīng)用到競(jìng)拍、游戲和博彩等行業(yè),如2016年開(kāi)發(fā)的區(qū)塊鏈游戲The King of the Ether Throne(縮寫(xiě):KotET)[8].合約規(guī)定參與者一旦獲得權(quán)限,將永遠(yuǎn)地被記錄在區(qū)塊鏈上,而且有權(quán)獲得更多的以太幣,因此該合約吸引了智能合約關(guān)注者的廣泛參與.但在應(yīng)用過(guò)程中,合約逐漸暴露出安全問(wèn)題.不成功的轉(zhuǎn)賬,會(huì)使合約擁有者始終占據(jù)合約,其他參與者將無(wú)法參與拍賣(mài),最終導(dǎo)致“龐氏騙局”.究其原因,包括兩個(gè)方面,其一是編寫(xiě)完全正確的智能合約代碼,對(duì)編程者的要求非常高,普通的編程者不容易做到;其二是合約部署到鏈上之前沒(méi)有對(duì)它進(jìn)行安全驗(yàn)證,而智能合約一旦部署上鏈就不可更改,所以當(dāng)漏洞暴露后無(wú)法補(bǔ)救,除非合約自毀[9].

    形式化驗(yàn)證[10-15]是保證部署到鏈上的合約完全正確的有效方法,是解決智能合約安全問(wèn)題的重要手段.本文基于Colored Petri Net(縮寫(xiě):CPN)[16-18]模型檢測(cè)對(duì)Auction合約進(jìn)行形式化驗(yàn)證.CPN技術(shù)是基于標(biāo)準(zhǔn)Petri Net進(jìn)行擴(kuò)展,并將傳統(tǒng)Petri Net中一個(gè)位置里面的不同標(biāo)記用不同的名字或者標(biāo)識(shí)號(hào)來(lái)表示.在本文中,首先將Auction合約分成兩層結(jié)構(gòu),第一層是Auction合約整體層,第二層是合約中的關(guān)鍵操作Bid,并將Bid操作分為無(wú)攻擊模式和攻擊模式.其次,借助CPN工具模型對(duì)合約兩層結(jié)構(gòu)進(jìn)行建模.最后,通過(guò)仿真工具執(zhí)行合約,觀察合約整個(gè)執(zhí)行過(guò)程,發(fā)現(xiàn)和準(zhǔn)確定位Auction合約的邏輯漏洞.

    2 相關(guān)工作

    形式化驗(yàn)證是指利用精確的數(shù)學(xué)手段和強(qiáng)大的分析工具在合約的設(shè)計(jì)、開(kāi)發(fā)、測(cè)試過(guò)程中驗(yàn)證合約是否滿(mǎn)足公平性、正確性、可達(dá)性、有界性和無(wú)二義性等預(yù)期的關(guān)鍵性質(zhì),以規(guī)范合約的生成,提高合約的可靠性和執(zhí)行力,并支持規(guī)?;悄芎霞s的高效生成[17].形式化驗(yàn)證有多種方法,在智能合約領(lǐng)域中應(yīng)用最多的是定理證明和模型檢測(cè)[18].定理證明是指把被測(cè)試系統(tǒng)的行為和性質(zhì)都用邏輯方法來(lái)表示,基于公理和推理規(guī)則組成的形式系統(tǒng),證明系統(tǒng)是否滿(mǎn)足期望的關(guān)鍵性質(zhì).目前,將定理證明應(yīng)用于智能合約的形式化驗(yàn)證已有許多成果.例如在文獻(xiàn)[19]中,Amaniet等人使用定理證明器Isabelle驗(yàn)證二進(jìn)制以太坊字節(jié)碼,在字節(jié)碼的角度進(jìn)行驗(yàn)證.在文獻(xiàn)[20]中,Yang和Lei等人提出一種新的形式化符號(hào)過(guò)程虛擬機(jī)(FSPVM)來(lái)驗(yàn)證基于Coq中Hoare邏輯的智能合約的可靠性和安全性.模型檢測(cè)[21]是一種基于狀態(tài)機(jī)的自動(dòng)化的形式化驗(yàn)證技術(shù).模型檢測(cè)首先對(duì)系統(tǒng)進(jìn)行建模,然后對(duì)模型所有可能的狀態(tài)進(jìn)行有效的檢測(cè),以證明該模型是否滿(mǎn)足形式規(guī)約.如果模型不滿(mǎn)足所考慮的規(guī)約或?qū)傩?,則模型檢測(cè)器提供一個(gè)違反該屬性的反例,可以有效的利用這些信息進(jìn)行設(shè)計(jì)或規(guī)范.由于模型檢測(cè)是基于有限狀態(tài)機(jī),所以它面對(duì)的最大的挑戰(zhàn)是狀態(tài)空間的爆炸.目前,模型檢測(cè)在基于行為的智能合約的形式化驗(yàn)證已取得了不少成果.如在文獻(xiàn)[22]中,Bigi等人將博弈論與形式化方法相結(jié)合,提出了一種驗(yàn)證智能合約的概率形式化模型.他們首先通過(guò)博弈論分析了智能合約的邏輯,然后構(gòu)建了該合約的概率形式化模型,最后使用PRISM工具對(duì)模型進(jìn)行了驗(yàn)證.此外,在文獻(xiàn)[23]中,Abdellatif和Brousmiche等人提出了一種新的驗(yàn)證方法,該方法不僅考慮了用戶(hù)與程序之間的交互,還考慮了環(huán)境和程序之間的交互.

    到目前為止,在我們的參考文獻(xiàn)范圍內(nèi),還未發(fā)現(xiàn)采用定理證明法或模型檢測(cè)法對(duì)Auction智能合約進(jìn)行形式化驗(yàn)證的理論成果.為此,本文針對(duì)Auction智能合約,基于模型檢測(cè)方法并采用CPN工具對(duì)其進(jìn)行形式化驗(yàn)證.與本文所采用方法相近的工作是文獻(xiàn)[15],但文獻(xiàn)[15]并沒(méi)有針對(duì)Auction智能合約,除此以外,與文獻(xiàn)[15]相比,本文通過(guò)模型檢測(cè)法還發(fā)現(xiàn)了合約語(yǔ)言Solidity自身局限性,包括錯(cuò)誤處理函數(shù)assert()、require()、revert()等,并提出可使用CPN工具中IN/OUT端口的不同達(dá)到錯(cuò)誤處理函數(shù)的作用.

    3 Auction智能合約的攻擊分析

    本節(jié)分析Auction智能合約代碼,并展示對(duì)它的攻擊.

    3.1 Auction智能合約

    Auction合約是基于KotET事件編寫(xiě)的拍賣(mài)智能合約.KotET是一個(gè)區(qū)塊鏈游戲的簡(jiǎn)稱(chēng),游戲中設(shè)立一個(gè)“贏家”,參與者們通過(guò)發(fā)送以太幣參與競(jìng)選.競(jìng)選的大致流程是:用戶(hù)A出價(jià)10 Ether成為“贏家”后,用戶(hù)B出價(jià)20 Ether,那么合約會(huì)將10 Ether退還給用戶(hù)A,并將“贏家”的位置轉(zhuǎn)給用戶(hù)B.合約如圖1所示.

    圖1 Auction智能合約Fig.1 Auction smart contract

    圖1中代碼第4行至第9行展示了用戶(hù)的競(jìng)價(jià)流程.仔細(xì)分析該合約代碼發(fā)現(xiàn),該合約程序沒(méi)有語(yǔ)法錯(cuò)誤,從邏輯上看程序是正確的,從語(yǔ)義上看也是無(wú)漏洞的.但是在2016年2月6日至8日期間,很多參與者發(fā)現(xiàn)無(wú)論發(fā)送多少的以太幣給Auction合約都不能競(jìng)選成功.經(jīng)研究,發(fā)現(xiàn)該合約代碼存在拒絕服務(wù)攻擊漏洞,給攻擊者創(chuàng)造了攻擊條件.

    3.2 Auction合約的攻擊分析

    為了說(shuō)明Auction合約中的漏洞,我們將借助攻擊者POC合約.POC合約圖2所示.攻擊者首先實(shí)例化Auction合約,然后調(diào)用合約的bid方法,發(fā)送一部分以太幣.但攻擊者要滿(mǎn)足require(msg.value>highestBid)條件,才會(huì)成為“贏家”.當(dāng)有其他用戶(hù)參與競(jìng)爭(zhēng)時(shí),如果發(fā)送了多于上一個(gè)“贏家”的以太幣,那么按照正常的流程,Auction合約將會(huì)調(diào)用POC的send()方法退回以太幣,然后讓攻擊者讓位.但是攻擊者提前在回調(diào)函數(shù)中寫(xiě)了revert(),revert()函數(shù)的作用是從其他代碼塊中觸發(fā)異常來(lái)標(biāo)記錯(cuò)誤并重置當(dāng)前方法的調(diào)用,這就導(dǎo)致Auction合約中require(currentLeader.send(highestBid))永遠(yuǎn)執(zhí)行不成功,所以其他用戶(hù)無(wú)論投入多少以太幣,服務(wù)器都沒(méi)有響應(yīng),造成拒絕服務(wù)攻擊.

    圖2 POC智能合約Fig.2 POC smart contract

    4 Auction智能合約的CPN模型驗(yàn)證及結(jié)果分析

    本節(jié)對(duì)Auction合約進(jìn)行形式化驗(yàn)證,并對(duì)驗(yàn)證結(jié)果進(jìn)行分析.我們采用的形式化驗(yàn)證方法是模型檢測(cè)法.下面我們將首先定義Auction智能合約的屬性規(guī)約,然后介紹該合約建模及執(zhí)行過(guò)程,包括Auction合約的CPN模型、無(wú)攻擊Bid-CPN模型和有攻擊Bid-CPN模型.最后對(duì)形式化驗(yàn)證的結(jié)果進(jìn)行對(duì)比分析.

    4.1 屬性規(guī)約

    基于以上合約,我們將分析Auction合約應(yīng)該滿(mǎn)足的屬性規(guī)約.假設(shè)合約為C,規(guī)約為φn(n=1,2,3,4…),生成對(duì)應(yīng)的合約模型M,然后證明規(guī)約φn在合約模型M中成立,這樣就證明了合約C滿(mǎn)足規(guī)約φn,進(jìn)而證明合約C符合預(yù)期性質(zhì).

    模型M用一個(gè)八元組表示,M=(Pn,W,K,Pn_fund,W_fund,K_fund,Action[],T),其中n=1,2,3,4….Pn代表參與者們,W代表贏家,K代表在位者,Pn_fund代表參與者投入的資金數(shù),W_fund代表贏家投入的資金數(shù),K_fund代表在位者的資金數(shù),Action[]代表調(diào)用合約的某個(gè)操作,T代表某一刻時(shí)間.

    我們規(guī)定該合約需要滿(mǎn)足的規(guī)約如下:

    1)Φ1=(Pn→Action[Bid]),代表任何用戶(hù)都可參與競(jìng)選;

    2)Φ2=(W,T),代表在某一時(shí)刻,Auction合約中只能存在一位“贏家”;

    3)Φ3=(Pn_fund>W_fund,K=Pn,K_fund=Pn_fund),代表當(dāng)前用戶(hù)投入的資金數(shù)若大于當(dāng)前“贏家”投入的資金數(shù),則退回當(dāng)前“贏家”的資金數(shù),并把當(dāng)前用戶(hù)設(shè)置為新的“贏家”,更新資金數(shù);

    4)Φ4=(Pn_fund

    若Auction合約滿(mǎn)足以上規(guī)約條件,則證明該合約是安全無(wú)漏洞的.

    4.2 合約建模及執(zhí)行過(guò)程

    為使模型能具體表達(dá)Auction合約的邏輯結(jié)構(gòu)且更清晰,我們將使用CPN Tools進(jìn)行由頂向下的開(kāi)發(fā)方式.先對(duì)Auction合約整體進(jìn)行建模,然后對(duì)Auction合約中主要操作Bid行為進(jìn)行建模.為明確區(qū)分非攻擊行為和攻擊行為,我們又對(duì)Bid模型分為了無(wú)攻擊Bid模型和有攻擊Bid模型.為方便描述,我們將相關(guān)定義羅列如下:

    定義1.P[place]:代表位置,其中place為位置名稱(chēng);

    定義2.T[transition]:代表變遷,其中transition為變遷名稱(chēng);

    定義3.CS[colorset]:代表顏色集,其中colorset為顏色集名稱(chēng);

    定義4.IM[initialmark]:代表初始標(biāo)記,其中initialmark為初始標(biāo)記名稱(chēng);

    定義5.ARC[arc]:代表弧上綁定的數(shù)據(jù),其中arc為數(shù)據(jù)名稱(chēng);

    定義6.T[transition]≡{operation1,operation2,…}:代表執(zhí)行變遷transition將完成的操作,operation1和operation2為操作名稱(chēng);

    4.2.1 Auction合約的CPN模型

    Auction合約的整體建模如圖3所示.通過(guò)對(duì)Auction合約的分析,我們將設(shè)置三個(gè)位置和一個(gè)替代變遷.

    圖3 Auction合約的CPN模型Fig.3 CPN model of Auction contract

    ·P[Competitor]:代表參與競(jìng)選的競(jìng)爭(zhēng)者們;

    ·P[Auction]:代表“贏家”;

    ·P[Oldking]:代表“在位贏家”,說(shuō)明當(dāng)前Oldking正在Auction的位置上,這是為了方便演示之后模型中的退還操作;

    ·T[Bid]:替代標(biāo)簽,代表投標(biāo)操作;

    此外,為了演示整體模型的執(zhí)行過(guò)程并說(shuō)明結(jié)果,我們還將定義相關(guān)顏色集和初始標(biāo)記.

    ·CS[COMPETITOR]=recordid:INT*bidnumber:INT;

    ·CS[AUCTION]=recordauc_id:INT*ownnumber:INT;

    ·CS[OLDKING]=recordold_id:INT*oldnumber:INT;

    ·IM[competitor]=1′{id=2,bidnumber=5};

    ·IM[auction]=1′{auc_id=1,ownnumber=4}.

    4.2.2 無(wú)攻擊Bid-CPN模型

    無(wú)攻擊Bid模型如圖4所示.該模型是Auction模型中替代變遷Bid的具體實(shí)現(xiàn).該模型設(shè)置了九個(gè)位置和五個(gè)變遷.除了在上節(jié)中定義的位置和變遷外,我們還定義如下位置,未定義變遷及觸發(fā)操作將在執(zhí)行過(guò)程中進(jìn)行解釋.

    ·P[Competitor_id]:代表競(jìng)爭(zhēng)者的id;

    ·P[Competitor_bid]:代表競(jìng)爭(zhēng)者的投標(biāo)價(jià)格;

    ·P[King_id]:代表“贏家”的id;

    ·P[King_bid]:代表“贏家”的投標(biāo)價(jià)格;

    ·P[oldking_bid]:代表“在位贏家”的投標(biāo)價(jià)格;

    ·P[New_bid]:代表“新贏家”的投標(biāo)價(jià)格.

    接下來(lái),我們將觀察無(wú)攻擊Bid-CPN模型的每步執(zhí)行過(guò)程,如圖5所示,每步執(zhí)行過(guò)程我們將通過(guò)矩形框出,首數(shù)字代表第N(N=0,1,2,3)步執(zhí)行步驟.

    第一步執(zhí)行觸發(fā)的變遷操作為:

    T[Start]≡ {
    P[Competitor_id]=ARC[id],
    P[Competitor_bid]=ARC[bidnumber]
    };
    T[Bind]≡ {
    P[King_id]=ARC[auc_id],
    P[King_bid]=ARC[ownnumber]
    };

    T[Start]和T[Bind]被先后觸發(fā)點(diǎn)火,P[Competitor_id]和P[Competitor_bid]分別綁定競(jìng)爭(zhēng)者的id和bidnumber(傳遞過(guò)程中id表示為accountid,bidnumber表示為accountBalance),P[King_id]和P[King_bid]分別綁定“贏家”的auc_id和ownnumber(傳遞過(guò)程中auc_id表示為kingid,ownnumber表示為kingBalance).

    第二步執(zhí)行觸發(fā)的變遷操作為:

    T[isGreaterThan]≡ {
    P[New_bid]=P[Competitor_bid],
    P[Oldking_bid]=P[King_bid]
    };

    T[isGreaterThan]被觸發(fā)點(diǎn)火,對(duì)比P[Competitor_bid]和P[King_bid],由于P[Competitor_bid]>P[King_bid],所以將P[Competitor_bid]傳遞給P[New_bid],P[King_bid]傳遞給P[Oldking_bid].

    圖4 無(wú)攻擊Bid-CPN模型Fig.4 No-attack Bid-CPN model

    圖5 有攻擊Bid-CPN模型Fig.5 Attack Bid-CPN model

    第三步執(zhí)行觸發(fā)的變遷操作為:

    T[Bid]≡ {
    ARC[auc_id]=ARC[accountid],
    ARC[ownnumber]=ARC[accountBalance]
    };
    T[Refund]≡ {
    ARC[old_id]=ARC[kingid],
    ARC[oldnumber]=ARC[kingBalance]
    };

    T[Bid]和T[Refund]被先后觸發(fā)點(diǎn)火,T[Bid]將ARC[accountid]傳遞給ARC[auc_id],ARC[accountBalance]傳遞給ARC[ownnumber],T[Refund]將ARC[kingid]退還給ARC[old_id],ARC[kingBalance]退還給ARC[oldnumber].

    4.2.3 有攻擊Bid-CPN模型

    有攻擊的Bid模型如圖5所示.該模型為了達(dá)到POC合約中revert()函數(shù)的效果,在圖4的基礎(chǔ)上將位置Oldking由OUT端口改為IN端口.

    有攻擊的Bid模型的前兩步的執(zhí)行過(guò)程與無(wú)攻擊的Bid模型相同,不同之處在于第三步.標(biāo)識(shí)1′4傳遞到P[Oldking_bid]處后就不可再傳遞,標(biāo)識(shí)1′1傳遞到P[King_id]處就不再傳遞,標(biāo)識(shí)1′5和標(biāo)識(shí)1′2經(jīng)傳遞到了P[King_bid]和P[King_id]處.

    4.3 結(jié)果分析

    在4.2節(jié)中,我們首先使用CPN中的建模工具分別對(duì)Auction合約整體、無(wú)攻擊操作和有攻擊操作進(jìn)行建模,然后使用CPN中的仿真工具對(duì)合約的執(zhí)行過(guò)程進(jìn)行仿真.為方便觀察模型執(zhí)行過(guò)程及結(jié)果,我們繪制了無(wú)攻擊Bid-CPN模型仿真過(guò)程標(biāo)識(shí)傳遞圖和有攻擊Bid-CPN模型仿真過(guò)程標(biāo)識(shí)傳遞圖,如圖6和圖7所示.

    圖6 無(wú)攻擊Bid-CPN模型仿真過(guò)程標(biāo)識(shí)傳遞圖Fig.6 No attack Bid-CPN model simulation process identification transfer diagram

    此外,通過(guò)觀察模型執(zhí)行前后的結(jié)果,我們分別將無(wú)攻擊Bid模式和有攻擊Bid模式下Competitor、Auction、Oldking三個(gè)位置的標(biāo)識(shí)變化進(jìn)行總結(jié),如表1和表2所示.

    表1 無(wú)攻擊Bid模式下Competitor、Auction、Oldking三者的標(biāo)識(shí)變化Table 1 Changes label of Competitor,Auction and Oldking in non-attack Bid model

    由表1可知,在無(wú)攻擊Bid模式下,在模型執(zhí)行前,位置Competitor初始ID為2,初始Ether為5,位置Auction初始ID為1,初始Ether為4,位置Oldking初始標(biāo)記為0,初始Ether為0;模型執(zhí)行后,位置Competitor的ID為0,Ether為0,位置Auction的ID為2,Ether為5,位置Oldking的ID為1,Ether為4.由此可知,該模型是按照Auction合約正常的邏輯流程執(zhí)行的,競(jìng)爭(zhēng)者的投標(biāo)價(jià)格大于原“贏家”,所以競(jìng)爭(zhēng)者的ID和投標(biāo)價(jià)格存入Auction,成為新的“贏家”,原“贏家”則被退回ID和投標(biāo)價(jià)格.

    圖7 有攻擊Bid-CPN模型仿真過(guò)程標(biāo)識(shí)傳遞圖Fig.7 Attack Bid-CPN model simulation process identification transfer diagram

    表2可知,在有攻擊Bid模式下,在模型執(zhí)行前,位置Competitor、Auction和Oldking初始標(biāo)記與無(wú)攻擊Bid模式下的相同;模型執(zhí)行后,位置Competitor的ID為0,Ether為0,位置Auction的ID為1和2,Ether為4和5,位置Oldking的ID為0,Ether為0.由此可知,Auction合約中存在兩個(gè)“贏家”,而沒(méi)有退還Oldking,這不符合Auction合約的第二條規(guī)約:Φ2=(W,T),在某一時(shí)刻,Auction合約中只能存在一位“贏家”.由此可見(jiàn)該合約存在漏洞.我們對(duì)此結(jié)果進(jìn)行分析,由于標(biāo)識(shí)1′4傳遞到P[Oldking_bid]處后就不可再傳遞,標(biāo)識(shí)1′1傳遞到P[King_id]處就不再傳遞,我們可知原“贏家”拒絕接受退回的投標(biāo),因此就一直占位Auction.標(biāo)識(shí)1′5和標(biāo)識(shí)1′2經(jīng)傳遞到了P[King_bid]和P[King_id]處,是因?yàn)镃PN Tools是用來(lái)描述并發(fā)系統(tǒng)的工具,因此可以允許兩個(gè)操作同時(shí)進(jìn)行,但是由于Auction合約只允許接受一個(gè)“贏家”,所以Auction合約還是存儲(chǔ)著原“贏家”的投標(biāo).

    表2 有攻擊Bid模式下Competitor、Auction、Oldking三者的標(biāo)識(shí)變化Table 2 Changes label of Competitor,Auction and Oldking in attack Bid model

    從以上形式化驗(yàn)證可以得出如下兩個(gè)結(jié)論.

    結(jié)論 1.Auction的CPN模型發(fā)現(xiàn)和定位了合約的邏輯漏洞.對(duì)比圖4和圖5可發(fā)現(xiàn),在無(wú)攻擊Bid模式下,模型將投標(biāo)低價(jià)者的ID和ETH退回,并將投標(biāo)高價(jià)者的ID和ETH更新到Auction合約,符合Auction合約的正常執(zhí)行流程;在有攻擊Bid模式下,模型并沒(méi)有成功地將投標(biāo)低價(jià)者的ID和ETH退回,可見(jiàn)合約是在投標(biāo)退回過(guò)程中出現(xiàn)了問(wèn)題,由此可將漏洞定位到Auction合約的退回操作中.

    結(jié)論 2.Auction的CPN模型還發(fā)現(xiàn)了合約語(yǔ)言的局限性.通過(guò)圖5,我們將漏洞定位到圖1的第6行require(currentLeader.send(highestBid)),攻擊者利用此漏洞,借助Solidity語(yǔ)言中fallback()函數(shù)的執(zhí)行原則和revert()錯(cuò)誤處理函數(shù)的作用,成功發(fā)動(dòng)拒絕服務(wù)攻擊.這是由于Solidity的局限性造成的.

    5 總 結(jié)

    自區(qū)塊鏈誕生以來(lái),由于其去中心化、匿名性等特性,已成為學(xué)術(shù)各界研究的重要課題.習(xí)近平總書(shū)記也指出:把區(qū)塊鏈作為核心技術(shù)自主創(chuàng)新的重要突破口.在經(jīng)歷了以比特幣為代表的區(qū)塊鏈1.0時(shí)代,2013年底,以太坊創(chuàng)始人Vitalik Buterin發(fā)布白皮書(shū)《以太坊:下一代智能合約和去中心化應(yīng)用平臺(tái)》,使得區(qū)塊鏈的研究方向逐漸往區(qū)塊鏈2.0智能合約時(shí)代發(fā)展,使得區(qū)塊鏈應(yīng)用范圍擴(kuò)展到更多領(lǐng)域.但需要指出的是目前國(guó)內(nèi)外對(duì)智能合約的理論和技術(shù)研究尚處于初始階段,而且智能合約全流程均建立在代碼之上,凡是代碼,就可能存在漏洞,并且一旦部署完成,任何認(rèn)為干預(yù)都將無(wú)法改變合約,這是智能合約的優(yōu)勢(shì),同時(shí)也成為了智能合約不可逆的主要原因.基于以上原因,智能合約的安全性問(wèn)題也成為了不可忽視的主要探討課題.

    針對(duì)智能合約漏洞方面的問(wèn)題,本文采用形式化驗(yàn)證的方法對(duì)智能合約進(jìn)行建模,及時(shí)發(fā)現(xiàn)漏洞位置所在.區(qū)塊鏈智能合約的形式化驗(yàn)證是目前檢測(cè)和防范智能合約漏洞最有效的方法,本文選取具有拒絕服務(wù)攻擊漏洞的Auction智能合約,將形式化驗(yàn)證應(yīng)用于驗(yàn)證智能合約的安全性.基于CPN模型,對(duì)智能合約Auction進(jìn)行了形式化建模,并利用CPN模型中的仿真工具執(zhí)行模型.結(jié)果表明,通過(guò)對(duì)智能合約進(jìn)行CPN建模和模型仿真,可以完整呈現(xiàn)合約的執(zhí)行過(guò)程并發(fā)現(xiàn)漏洞.因此,后續(xù)將會(huì)對(duì)智能合約的形式化驗(yàn)證方向做進(jìn)一步研究.

    猜你喜歡
    以太贏家合約
    以太極為旗,開(kāi)啟新時(shí)代“黃河大合唱”
    少林與太極(2023年7期)2023-08-25 05:27:52
    沒(méi)有贏家的戰(zhàn)斗
    NBA特刊(2018年21期)2018-11-24 02:47:46
    車(chē)易鏈:做汽車(chē)業(yè)的“以太坊”
    真正的贏家
    百通推出入門(mén)級(jí)快速工業(yè)以太網(wǎng)絡(luò)交換器系列
    以太互聯(lián) 高效便捷 經(jīng)濟(jì)、可靠、易用的小型可編程控制器
    合約必守,誰(shuí)能例外!——對(duì)“情勢(shì)變更”制度不可寄于過(guò)高期望
    老司机午夜福利在线观看视频| 日本成人三级电影网站| 能在线免费观看的黄片| 亚洲精品日韩av片在线观看| 真人做人爱边吃奶动态| 非洲黑人性xxxx精品又粗又长| 听说在线观看完整版免费高清| 一区福利在线观看| 国产亚洲精品久久久久久毛片| 最近最新中文字幕大全电影3| 99在线视频只有这里精品首页| 99九九线精品视频在线观看视频| 波多野结衣高清无吗| 看片在线看免费视频| 亚洲四区av| 97在线视频观看| 丰满的人妻完整版| 国产三级中文精品| 欧美激情久久久久久爽电影| 亚洲第一电影网av| 日韩av在线大香蕉| 女人十人毛片免费观看3o分钟| 亚洲av美国av| 日韩精品青青久久久久久| 网址你懂的国产日韩在线| 免费人成在线观看视频色| 最后的刺客免费高清国语| 三级男女做爰猛烈吃奶摸视频| 日本在线视频免费播放| 成人鲁丝片一二三区免费| 97超级碰碰碰精品色视频在线观看| 久久久久久久久久黄片| 免费看a级黄色片| 亚洲国产精品合色在线| 亚洲性久久影院| 亚洲高清免费不卡视频| 日韩制服骚丝袜av| 熟女电影av网| 两性午夜刺激爽爽歪歪视频在线观看| 精品人妻一区二区三区麻豆 | 我要看日韩黄色一级片| 黄色视频,在线免费观看| 观看美女的网站| 免费电影在线观看免费观看| 精品一区二区三区人妻视频| 亚洲性久久影院| 色尼玛亚洲综合影院| 乱系列少妇在线播放| 性插视频无遮挡在线免费观看| 久久精品影院6| 亚洲激情五月婷婷啪啪| 亚洲性久久影院| 亚洲av成人精品一区久久| 精品日产1卡2卡| 最近2019中文字幕mv第一页| 春色校园在线视频观看| 亚洲欧美日韩无卡精品| 亚洲成人av在线免费| 精品一区二区三区av网在线观看| 女人被狂操c到高潮| 在线免费观看不下载黄p国产| 欧美成人一区二区免费高清观看| av在线播放精品| 女生性感内裤真人,穿戴方法视频| 久久精品国产亚洲av香蕉五月| 亚洲自拍偷在线| 波多野结衣高清无吗| 成人毛片a级毛片在线播放| 成年女人看的毛片在线观看| 国内精品一区二区在线观看| 亚洲专区国产一区二区| 中国美白少妇内射xxxbb| 午夜视频国产福利| 日韩大尺度精品在线看网址| 级片在线观看| 精品99又大又爽又粗少妇毛片| 久久精品国产99精品国产亚洲性色| 日韩亚洲欧美综合| 欧美成人一区二区免费高清观看| 禁无遮挡网站| 精品久久久久久久久亚洲| 国产高潮美女av| 国产一级毛片七仙女欲春2| 少妇高潮的动态图| 国内精品一区二区在线观看| 看黄色毛片网站| 欧美潮喷喷水| 中文字幕人妻熟人妻熟丝袜美| 国产淫片久久久久久久久| 欧美一区二区亚洲| 国产精品一区二区三区四区久久| 亚洲欧美成人综合另类久久久 | 免费搜索国产男女视频| 在线免费观看的www视频| 丰满人妻一区二区三区视频av| 丰满的人妻完整版| 久久亚洲精品不卡| 亚洲av二区三区四区| 男女那种视频在线观看| 午夜激情欧美在线| 男人的好看免费观看在线视频| 成人无遮挡网站| 18禁裸乳无遮挡免费网站照片| 偷拍熟女少妇极品色| 99九九线精品视频在线观看视频| 亚洲无线在线观看| 国产精品精品国产色婷婷| 日日干狠狠操夜夜爽| 一区二区三区四区激情视频 | 哪里可以看免费的av片| 波多野结衣高清作品| 国产午夜精品久久久久久一区二区三区 | 欧美成人一区二区免费高清观看| 欧美zozozo另类| 我要搜黄色片| 久久久精品94久久精品| 少妇的逼好多水| 一区福利在线观看| 亚洲精品成人久久久久久| 亚洲精品在线观看二区| 日本免费一区二区三区高清不卡| 看十八女毛片水多多多| 亚洲性久久影院| 国产成人一区二区在线| 精品少妇黑人巨大在线播放 | 长腿黑丝高跟| 国产精品人妻久久久影院| 亚洲综合色惰| 天堂动漫精品| 国产一区二区亚洲精品在线观看| 国产欧美日韩精品亚洲av| 国产精品一区二区三区四区久久| 精品久久久久久久久av| 俄罗斯特黄特色一大片| 在线观看美女被高潮喷水网站| av视频在线观看入口| 久久午夜福利片| 性色avwww在线观看| 别揉我奶头~嗯~啊~动态视频| 国产成人aa在线观看| 性色avwww在线观看| 久99久视频精品免费| 精品免费久久久久久久清纯| 超碰av人人做人人爽久久| 亚洲七黄色美女视频| 国产精品,欧美在线| 亚洲精品日韩av片在线观看| 国产视频一区二区在线看| av在线蜜桃| 无遮挡黄片免费观看| 精品一区二区免费观看| 国产男靠女视频免费网站| 我的老师免费观看完整版| 精品福利观看| 亚洲人成网站在线播放欧美日韩| 欧美三级亚洲精品| 小说图片视频综合网站| 成人亚洲欧美一区二区av| 国内精品美女久久久久久| 人人妻人人澡人人爽人人夜夜 | 欧美性感艳星| 免费不卡的大黄色大毛片视频在线观看 | 三级经典国产精品| 国产精品久久久久久久电影| 成年免费大片在线观看| videossex国产| 国产成人aa在线观看| 日本a在线网址| 丰满人妻一区二区三区视频av| 久久精品人妻少妇| 精品久久久久久久人妻蜜臀av| 国产精品99久久久久久久久| 国产黄片美女视频| 国内少妇人妻偷人精品xxx网站| 欧美一区二区精品小视频在线| 亚洲成人久久性| 又粗又爽又猛毛片免费看| 欧美日本亚洲视频在线播放| 人人妻人人澡欧美一区二区| 国产精品久久久久久亚洲av鲁大| 亚洲国产精品sss在线观看| 一级a爱片免费观看的视频| 免费av毛片视频| 免费高清视频大片| 欧美性猛交╳xxx乱大交人| 免费观看人在逋| 99久久无色码亚洲精品果冻| 午夜福利视频1000在线观看| 国产精品美女特级片免费视频播放器| 性欧美人与动物交配| 午夜久久久久精精品| 成人一区二区视频在线观看| 搡老熟女国产l中国老女人| 免费无遮挡裸体视频| 亚洲一区二区三区色噜噜| 91久久精品电影网| 欧美日本亚洲视频在线播放| 草草在线视频免费看| 女生性感内裤真人,穿戴方法视频| 六月丁香七月| 国内精品宾馆在线| 亚洲第一电影网av| 精品少妇黑人巨大在线播放 | 色吧在线观看| 露出奶头的视频| 国模一区二区三区四区视频| 三级毛片av免费| 成人亚洲精品av一区二区| 男女那种视频在线观看| 伊人久久精品亚洲午夜| 亚洲第一区二区三区不卡| 欧美日本亚洲视频在线播放| 日本 av在线| АⅤ资源中文在线天堂| 天堂动漫精品| 国产精品三级大全| 丰满乱子伦码专区| 少妇猛男粗大的猛烈进出视频 | 悠悠久久av| 日韩中字成人| 亚洲国产欧洲综合997久久,| 日韩成人av中文字幕在线观看 | .国产精品久久| 日韩欧美精品v在线| 黄片wwwwww| 亚洲18禁久久av| 一级毛片久久久久久久久女| 欧美在线一区亚洲| 亚洲欧美日韩高清专用| 99久国产av精品| 一级毛片aaaaaa免费看小| 特级一级黄色大片| 国产精品亚洲一级av第二区| 亚洲精品一区av在线观看| www.色视频.com| 久久精品综合一区二区三区| 欧美在线一区亚洲| 三级毛片av免费| 老女人水多毛片| 国产亚洲精品综合一区在线观看| 日本-黄色视频高清免费观看| 久久婷婷人人爽人人干人人爱| 狠狠狠狠99中文字幕| 亚洲av免费高清在线观看| 精品日产1卡2卡| 国产精品永久免费网站| 啦啦啦观看免费观看视频高清| 国产精品国产高清国产av| 久久精品国产自在天天线| av国产免费在线观看| 日本精品一区二区三区蜜桃| 免费搜索国产男女视频| 免费看av在线观看网站| 可以在线观看毛片的网站| 成人亚洲欧美一区二区av| 欧美日韩在线观看h| 亚洲精品国产成人久久av| 久久国内精品自在自线图片| 成年av动漫网址| 免费av观看视频| 国产视频一区二区在线看| 精品人妻偷拍中文字幕| 国产精品av视频在线免费观看| 久久久精品欧美日韩精品| 久久午夜亚洲精品久久| 直男gayav资源| 真人做人爱边吃奶动态| av福利片在线观看| 国产亚洲精品久久久久久毛片| 男人舔奶头视频| 久久久久久久久久久丰满| 久久精品国产亚洲av涩爱 | 国产探花极品一区二区| 亚洲激情五月婷婷啪啪| 欧美精品国产亚洲| 一个人观看的视频www高清免费观看| 久久99热6这里只有精品| 久久久久久久久久久丰满| 日本一本二区三区精品| 特级一级黄色大片| 精品一区二区三区视频在线观看免费| 一区二区三区高清视频在线| 久久久久久久久大av| 欧美在线一区亚洲| 如何舔出高潮| 特级一级黄色大片| 寂寞人妻少妇视频99o| 亚洲av免费在线观看| 成人无遮挡网站| 91精品国产九色| av在线亚洲专区| 国产精品1区2区在线观看.| 欧美一区二区精品小视频在线| 搡女人真爽免费视频火全软件 | 亚洲精品久久国产高清桃花| 别揉我奶头 嗯啊视频| 日韩国内少妇激情av| 欧美日本亚洲视频在线播放| 久久久精品94久久精品| 一级黄片播放器| 精品99又大又爽又粗少妇毛片| 久久久a久久爽久久v久久| 成年版毛片免费区| 色噜噜av男人的天堂激情| 日日干狠狠操夜夜爽| 99久国产av精品| 国产成人一区二区在线| 深夜a级毛片| 欧美性猛交╳xxx乱大交人| 久久精品夜色国产| 中国美白少妇内射xxxbb| 一区福利在线观看| 久久6这里有精品| 一卡2卡三卡四卡精品乱码亚洲| 看片在线看免费视频| 中文字幕av成人在线电影| 日韩三级伦理在线观看| 亚洲五月天丁香| 91精品国产九色| 欧美+日韩+精品| 精华霜和精华液先用哪个| 日韩欧美免费精品| 久久久国产成人精品二区| 国产精品99久久久久久久久| 亚洲美女黄片视频| 露出奶头的视频| 午夜爱爱视频在线播放| 欧美最黄视频在线播放免费| 亚洲电影在线观看av| 亚洲av免费在线观看| 欧美色视频一区免费| 观看免费一级毛片| 色哟哟哟哟哟哟| 精品午夜福利在线看| 久久久国产成人免费| 真人做人爱边吃奶动态| 色哟哟哟哟哟哟| 深夜精品福利| 禁无遮挡网站| 国产成人a区在线观看| 精品福利观看| 色噜噜av男人的天堂激情| 亚洲七黄色美女视频| 直男gayav资源| 亚洲经典国产精华液单| 国产真实伦视频高清在线观看| 日日干狠狠操夜夜爽| 如何舔出高潮| 伦理电影大哥的女人| avwww免费| 亚洲五月天丁香| av黄色大香蕉| 日本黄色视频三级网站网址| 国产精品一区二区三区四区久久| 18禁在线无遮挡免费观看视频 | 赤兔流量卡办理| 我的老师免费观看完整版| 床上黄色一级片| 午夜激情欧美在线| 特级一级黄色大片| 国内揄拍国产精品人妻在线| videossex国产| 老师上课跳d突然被开到最大视频| 日本-黄色视频高清免费观看| 床上黄色一级片| 99热这里只有是精品在线观看| 成人永久免费在线观看视频| 欧美bdsm另类| 男女之事视频高清在线观看| 狂野欧美白嫩少妇大欣赏| 久久久a久久爽久久v久久| 成人特级黄色片久久久久久久| 五月玫瑰六月丁香| 久99久视频精品免费| 亚洲性久久影院| 看非洲黑人一级黄片| 亚洲精品国产av成人精品 | 少妇丰满av| 在线观看午夜福利视频| 亚洲人成网站高清观看| 国产高清视频在线播放一区| 听说在线观看完整版免费高清| 人妻久久中文字幕网| 又黄又爽又免费观看的视频| 日韩精品有码人妻一区| 亚洲五月天丁香| 国产色爽女视频免费观看| 成人毛片a级毛片在线播放| 在线观看美女被高潮喷水网站| 精品日产1卡2卡| 黄色配什么色好看| 久久精品国产清高在天天线| 成人av在线播放网站| 精品少妇黑人巨大在线播放 | 中文字幕av成人在线电影| 亚州av有码| 最近的中文字幕免费完整| 亚洲国产精品合色在线| 国产私拍福利视频在线观看| 国产片特级美女逼逼视频| 国产午夜精品论理片| eeuss影院久久| 性色avwww在线观看| 精品久久久久久久人妻蜜臀av| 欧美日韩在线观看h| 性色avwww在线观看| 波多野结衣巨乳人妻| 久久久午夜欧美精品| 男女之事视频高清在线观看| 欧美色欧美亚洲另类二区| 久久久久久久久中文| 免费看a级黄色片| 六月丁香七月| 成人精品一区二区免费| 美女免费视频网站| 男插女下体视频免费在线播放| 国产欧美日韩精品一区二区| 三级国产精品欧美在线观看| 一级毛片久久久久久久久女| 久久久久精品国产欧美久久久| 在线观看av片永久免费下载| 搡老妇女老女人老熟妇| 国产 一区 欧美 日韩| 亚洲乱码一区二区免费版| 69人妻影院| 久久久a久久爽久久v久久| 国产高清视频在线播放一区| 狂野欧美激情性xxxx在线观看| 直男gayav资源| 一进一出抽搐gif免费好疼| 日本免费a在线| 亚洲不卡免费看| 国产精品久久久久久亚洲av鲁大| 欧美成人一区二区免费高清观看| 十八禁国产超污无遮挡网站| 精品不卡国产一区二区三区| 变态另类丝袜制服| 国产91av在线免费观看| 12—13女人毛片做爰片一| 69人妻影院| 精品国内亚洲2022精品成人| 一级a爱片免费观看的视频| 亚洲最大成人手机在线| 熟妇人妻久久中文字幕3abv| 色吧在线观看| aaaaa片日本免费| 在线观看66精品国产| 嫩草影院新地址| 国产在线男女| 国产私拍福利视频在线观看| 在线看三级毛片| 日本黄色视频三级网站网址| 乱人视频在线观看| 综合色丁香网| 18禁裸乳无遮挡免费网站照片| 小蜜桃在线观看免费完整版高清| 日韩制服骚丝袜av| 成年免费大片在线观看| 我的老师免费观看完整版| 国产成人a∨麻豆精品| 免费人成在线观看视频色| 欧美日韩在线观看h| 中国美女看黄片| av在线亚洲专区| 国产精品人妻久久久影院| 91精品国产九色| ponron亚洲| 国产成人影院久久av| 国产成人一区二区在线| 久久人人爽人人爽人人片va| 蜜桃亚洲精品一区二区三区| 永久网站在线| 免费人成视频x8x8入口观看| 18+在线观看网站| 亚洲一级一片aⅴ在线观看| a级毛色黄片| 国内精品美女久久久久久| av卡一久久| 女同久久另类99精品国产91| 国产男靠女视频免费网站| 亚洲欧美清纯卡通| 久久久久国产精品人妻aⅴ院| 97热精品久久久久久| 男人舔女人下体高潮全视频| 日韩 亚洲 欧美在线| 久久精品91蜜桃| 午夜免费激情av| 少妇高潮的动态图| АⅤ资源中文在线天堂| 18禁裸乳无遮挡免费网站照片| 亚洲人成网站在线观看播放| 免费不卡的大黄色大毛片视频在线观看 | 久久久午夜欧美精品| 老司机午夜福利在线观看视频| 99久久精品热视频| 一级毛片aaaaaa免费看小| 中国国产av一级| 亚洲无线观看免费| 久久午夜福利片| 久久精品91蜜桃| 欧美色欧美亚洲另类二区| 成人国产麻豆网| 亚洲欧美日韩高清在线视频| 欧美性感艳星| 九九在线视频观看精品| 最近2019中文字幕mv第一页| eeuss影院久久| 亚洲av电影不卡..在线观看| 亚洲熟妇中文字幕五十中出| 亚洲性久久影院| 天天躁日日操中文字幕| 日韩欧美 国产精品| 女人被狂操c到高潮| 91麻豆精品激情在线观看国产| 国产在线男女| 日日摸夜夜添夜夜爱| 高清午夜精品一区二区三区 | 午夜日韩欧美国产| 性插视频无遮挡在线免费观看| 国内精品美女久久久久久| 欧美丝袜亚洲另类| 男女下面进入的视频免费午夜| 成人美女网站在线观看视频| 一级毛片久久久久久久久女| 欧美三级亚洲精品| 色视频www国产| 丰满的人妻完整版| a级一级毛片免费在线观看| 乱人视频在线观看| 成人亚洲欧美一区二区av| 美女 人体艺术 gogo| 男女下面进入的视频免费午夜| 免费人成在线观看视频色| 亚洲七黄色美女视频| 寂寞人妻少妇视频99o| 亚洲一区高清亚洲精品| 美女黄网站色视频| 久久亚洲国产成人精品v| 久久午夜福利片| 国产精品久久久久久亚洲av鲁大| 国产精品一二三区在线看| 国产av在哪里看| 一级毛片电影观看 | av在线老鸭窝| 欧美bdsm另类| 又爽又黄无遮挡网站| 亚洲av中文av极速乱| 日韩欧美精品免费久久| 国产伦一二天堂av在线观看| 国产一区二区亚洲精品在线观看| 真实男女啪啪啪动态图| 国产一区二区在线观看日韩| 中文字幕精品亚洲无线码一区| 高清午夜精品一区二区三区 | 欧美性感艳星| 日日摸夜夜添夜夜添小说| 亚洲熟妇中文字幕五十中出| 国产探花在线观看一区二区| 国产欧美日韩精品亚洲av| 国产在视频线在精品| 18禁黄网站禁片免费观看直播| 久久国内精品自在自线图片| 国产伦在线观看视频一区| 精品午夜福利在线看| 亚洲国产精品久久男人天堂| 日韩人妻高清精品专区| 三级毛片av免费| 国产三级中文精品| 久99久视频精品免费| 国产高清视频在线播放一区| 国产亚洲av嫩草精品影院| 亚洲中文字幕日韩| 夜夜夜夜夜久久久久| 亚洲av免费在线观看| 国产成人freesex在线 | 99国产极品粉嫩在线观看| 丝袜喷水一区| 精品午夜福利在线看| 中文字幕久久专区| 国产av不卡久久| 男女那种视频在线观看| 色综合亚洲欧美另类图片| 成年免费大片在线观看| 国产精品久久久久久久电影| av在线播放精品| 成人高潮视频无遮挡免费网站| 国产精品日韩av在线免费观看| 欧美一级a爱片免费观看看| 亚洲一级一片aⅴ在线观看| 国产精品永久免费网站| 国产精品一及| 尾随美女入室| 日韩亚洲欧美综合| 男女下面进入的视频免费午夜| 亚洲精华国产精华液的使用体验 | 成熟少妇高潮喷水视频| 亚洲无线在线观看| av.在线天堂| 特大巨黑吊av在线直播| a级毛片a级免费在线| 插逼视频在线观看| 国产单亲对白刺激| 麻豆国产97在线/欧美| 99视频精品全部免费 在线| 日本欧美国产在线视频| 此物有八面人人有两片| 欧美3d第一页| 日本与韩国留学比较| 免费看av在线观看网站| 蜜臀久久99精品久久宅男| 最近在线观看免费完整版| 欧美区成人在线视频| 欧美成人一区二区免费高清观看| 99久久九九国产精品国产免费| 丝袜美腿在线中文|