智能合約兩階段并發(fā)執(zhí)行協(xié)議
發(fā)布時(shí)間:2022-01-23 16:20
區(qū)塊鏈技術(shù)因其去中心化、防篡改以及可追溯的特點(diǎn)受到各方青睞?删幊痰闹悄芎霞s的出現(xiàn)則將區(qū)塊鏈技術(shù)的應(yīng)用領(lǐng)域拓展到傳統(tǒng)行業(yè)的方方面面。然而單線程串行的智能合約執(zhí)行模型愈發(fā)成為系統(tǒng)的性能瓶頸,如何高效地并發(fā)執(zhí)行智能合約交易進(jìn)而提升系統(tǒng)性能成為現(xiàn)如今區(qū)塊鏈技術(shù)落地的一大挑戰(zhàn)。由于區(qū)塊鏈環(huán)境中拜占庭節(jié)點(diǎn)的存在,智能合約交易的執(zhí)行與傳統(tǒng)數(shù)據(jù)庫(kù)有著很大的區(qū)別,故傳統(tǒng)的數(shù)據(jù)庫(kù)并發(fā)控制協(xié)議不能直接應(yīng)用到智能合約交易的執(zhí)行中。已有的遵循“主節(jié)點(diǎn)執(zhí)行-驗(yàn)證節(jié)點(diǎn)回放”這種兩階段執(zhí)行框架的并發(fā)執(zhí)行工作僅僅考慮了主節(jié)點(diǎn)的執(zhí)行效率,而忽視了針對(duì)驗(yàn)證節(jié)點(diǎn)回放效率的優(yōu)化。本文在沿用上述兩階段并發(fā)框架的前提下,創(chuàng)新性地提出了一種兼顧主節(jié)點(diǎn)執(zhí)行和驗(yàn)證節(jié)點(diǎn)回放的并發(fā)執(zhí)行協(xié)議——2PX(Two-Phase Execution)協(xié)議。在結(jié)合PBFT這種三輪網(wǎng)絡(luò)交互的共識(shí)算法時(shí),本文在執(zhí)行方面進(jìn)一步優(yōu)化了2PX,并在開(kāi)源的拜占庭容錯(cuò)(BFT)系統(tǒng)中實(shí)現(xiàn)該優(yōu)化協(xié)議。具體來(lái)說(shuō)本文的主要貢獻(xiàn)包含如下三點(diǎn):1.本文提出了一種兼顧主節(jié)點(diǎn)執(zhí)行和驗(yàn)證節(jié)點(diǎn)回放的并發(fā)控制協(xié)議2PX。主節(jié)點(diǎn)采用一種批處理的樂(lè)觀并發(fā)控制協(xié)議(Batching OCC...
【文章來(lái)源】:華東師范大學(xué)上海市 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:87 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
以太坊智能合約交易串行執(zhí)行
第一章緒論華東師范大學(xué)碩士學(xué)位論文我們常說(shuō)的挖礦;一輪共識(shí)中,成功解決密碼學(xué)問(wèn)題的節(jié)點(diǎn)(主節(jié)點(diǎn))將區(qū)塊廣播給所有節(jié)點(diǎn)(驗(yàn)證節(jié)點(diǎn))進(jìn)行區(qū)塊的驗(yàn)證工作;驗(yàn)證節(jié)點(diǎn)完成所有智能合約交易的執(zhí)行,驗(yàn)證區(qū)塊的正確性。聯(lián)盟鏈同樣可遵循OX范式實(shí)現(xiàn)智能合約,與公有鏈不同的是,聯(lián)盟鏈的共識(shí)通常是由部分身份確認(rèn)的節(jié)點(diǎn)(排序節(jié)點(diǎn))完成。排序節(jié)點(diǎn)運(yùn)行傳統(tǒng)的共識(shí)協(xié)議,如PBFT算法,對(duì)交易進(jìn)行共識(shí)排序。共識(shí)完成后,執(zhí)行節(jié)點(diǎn)進(jìn)行智能合約交易的執(zhí)行。為簡(jiǎn)單起見(jiàn),智能合約交易在后面的行文中簡(jiǎn)稱為交易。圖1.2:HyperLedgerFabric的XOV范式HyperLedgerFabric則實(shí)現(xiàn)了另一種完全不同的智能合約處理范式——XOV范式,該范式調(diào)換了共識(shí)排序與交易執(zhí)行的順序,采用先執(zhí)行交易,后對(duì)交易進(jìn)行排序,最后驗(yàn)證執(zhí)行結(jié)果的方式。這種范式最初在Kapritsos等人提出的拜占庭容錯(cuò)狀態(tài)機(jī)復(fù)制系統(tǒng)Eve中實(shí)現(xiàn)[15]。這種先執(zhí)行后驗(yàn)證的方式借鑒了樂(lè)觀并發(fā)控制(OCC)的思想。如圖1.2所示,F(xiàn)abric中有三種角色,分別是客戶端、背書節(jié)點(diǎn)和共識(shí)節(jié)點(diǎn),其沿用了Eve這種先執(zhí)行后排序的范式來(lái)處理智能合約:客戶端首先發(fā)送交易到各自通道的背書節(jié)點(diǎn);背書節(jié)點(diǎn)模擬執(zhí)行交易,然后返回客戶端執(zhí)行過(guò)程中收集的讀寫集;當(dāng)客戶端收集到足夠多匹配的模擬執(zhí)行結(jié)果,隨即把交易發(fā)送到共識(shí)節(jié)點(diǎn)進(jìn)行共識(shí)排序;共識(shí)節(jié)點(diǎn)對(duì)交易的全局順序達(dá)成一致后,打包區(qū)塊發(fā)送給各節(jié)點(diǎn);各節(jié)點(diǎn)驗(yàn)證交易的讀寫沖突并更新本地賬本。多通道之間并發(fā)執(zhí)行智5
華東師范大學(xué)碩士學(xué)位論文第一章緒論圖1.3:智能合約兩階段并發(fā)執(zhí)行流程最大化驗(yàn)證節(jié)點(diǎn)的回放并發(fā)度。Zhang等人提出的MVTO協(xié)議要求記錄所有交易在主執(zhí)行階段產(chǎn)生的寫集,并傳輸給驗(yàn)證節(jié)點(diǎn)[21]。驗(yàn)證節(jié)點(diǎn)根據(jù)寫集構(gòu)造數(shù)據(jù)項(xiàng)的版本鏈,所有的交易在并發(fā)回放的過(guò)程中從版本鏈中讀取一致性的數(shù)據(jù)。但是傳輸沖突項(xiàng)所有版本的數(shù)據(jù)帶來(lái)的開(kāi)銷也是不容忽視的。而另一類工作則偏向于使用簡(jiǎn)明扼要的有向圖的方式來(lái)捕捉交易間的沖突關(guān)系。例如,Dickeson等人在[20]使用happen-before圖來(lái)描述主節(jié)點(diǎn)發(fā)現(xiàn)的沖突關(guān)系和可串行化順序。驗(yàn)證節(jié)點(diǎn)則以happen-before圖作為輸入生成fork-join多線程任務(wù)[23],并發(fā)回放所有的交易。這種方式雖然大大降低了通信開(kāi)銷,然而回放交易時(shí)監(jiān)控沖突交易狀態(tài)的開(kāi)銷很大,回放效率低。因此,如何在提升執(zhí)行效率的同時(shí)優(yōu)化傳輸開(kāi)銷是本文解決的一個(gè)具有挑戰(zhàn)性的問(wèn)題。通過(guò)對(duì)智能合約并發(fā)問(wèn)題以及現(xiàn)有工作的分析研究,本文沿用兩階段執(zhí)行流框架,設(shè)計(jì)了一種兼顧主節(jié)點(diǎn)執(zhí)行效率和驗(yàn)證節(jié)點(diǎn)回放效率的并發(fā)控制協(xié)議——8
【參考文獻(xiàn)】:
期刊論文
[1]智能合約:架構(gòu)及進(jìn)展[J]. 歐陽(yáng)麗煒,王帥,袁勇,倪曉春,王飛躍. 自動(dòng)化學(xué)報(bào). 2019(03)
[2]區(qū)塊鏈技術(shù):架構(gòu)及進(jìn)展[J]. 邵奇峰,金澈清,張召,錢衛(wèi)寧,周傲英. 計(jì)算機(jī)學(xué)報(bào). 2018(05)
本文編號(hào):3604722
【文章來(lái)源】:華東師范大學(xué)上海市 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:87 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
以太坊智能合約交易串行執(zhí)行
第一章緒論華東師范大學(xué)碩士學(xué)位論文我們常說(shuō)的挖礦;一輪共識(shí)中,成功解決密碼學(xué)問(wèn)題的節(jié)點(diǎn)(主節(jié)點(diǎn))將區(qū)塊廣播給所有節(jié)點(diǎn)(驗(yàn)證節(jié)點(diǎn))進(jìn)行區(qū)塊的驗(yàn)證工作;驗(yàn)證節(jié)點(diǎn)完成所有智能合約交易的執(zhí)行,驗(yàn)證區(qū)塊的正確性。聯(lián)盟鏈同樣可遵循OX范式實(shí)現(xiàn)智能合約,與公有鏈不同的是,聯(lián)盟鏈的共識(shí)通常是由部分身份確認(rèn)的節(jié)點(diǎn)(排序節(jié)點(diǎn))完成。排序節(jié)點(diǎn)運(yùn)行傳統(tǒng)的共識(shí)協(xié)議,如PBFT算法,對(duì)交易進(jìn)行共識(shí)排序。共識(shí)完成后,執(zhí)行節(jié)點(diǎn)進(jìn)行智能合約交易的執(zhí)行。為簡(jiǎn)單起見(jiàn),智能合約交易在后面的行文中簡(jiǎn)稱為交易。圖1.2:HyperLedgerFabric的XOV范式HyperLedgerFabric則實(shí)現(xiàn)了另一種完全不同的智能合約處理范式——XOV范式,該范式調(diào)換了共識(shí)排序與交易執(zhí)行的順序,采用先執(zhí)行交易,后對(duì)交易進(jìn)行排序,最后驗(yàn)證執(zhí)行結(jié)果的方式。這種范式最初在Kapritsos等人提出的拜占庭容錯(cuò)狀態(tài)機(jī)復(fù)制系統(tǒng)Eve中實(shí)現(xiàn)[15]。這種先執(zhí)行后驗(yàn)證的方式借鑒了樂(lè)觀并發(fā)控制(OCC)的思想。如圖1.2所示,F(xiàn)abric中有三種角色,分別是客戶端、背書節(jié)點(diǎn)和共識(shí)節(jié)點(diǎn),其沿用了Eve這種先執(zhí)行后排序的范式來(lái)處理智能合約:客戶端首先發(fā)送交易到各自通道的背書節(jié)點(diǎn);背書節(jié)點(diǎn)模擬執(zhí)行交易,然后返回客戶端執(zhí)行過(guò)程中收集的讀寫集;當(dāng)客戶端收集到足夠多匹配的模擬執(zhí)行結(jié)果,隨即把交易發(fā)送到共識(shí)節(jié)點(diǎn)進(jìn)行共識(shí)排序;共識(shí)節(jié)點(diǎn)對(duì)交易的全局順序達(dá)成一致后,打包區(qū)塊發(fā)送給各節(jié)點(diǎn);各節(jié)點(diǎn)驗(yàn)證交易的讀寫沖突并更新本地賬本。多通道之間并發(fā)執(zhí)行智5
華東師范大學(xué)碩士學(xué)位論文第一章緒論圖1.3:智能合約兩階段并發(fā)執(zhí)行流程最大化驗(yàn)證節(jié)點(diǎn)的回放并發(fā)度。Zhang等人提出的MVTO協(xié)議要求記錄所有交易在主執(zhí)行階段產(chǎn)生的寫集,并傳輸給驗(yàn)證節(jié)點(diǎn)[21]。驗(yàn)證節(jié)點(diǎn)根據(jù)寫集構(gòu)造數(shù)據(jù)項(xiàng)的版本鏈,所有的交易在并發(fā)回放的過(guò)程中從版本鏈中讀取一致性的數(shù)據(jù)。但是傳輸沖突項(xiàng)所有版本的數(shù)據(jù)帶來(lái)的開(kāi)銷也是不容忽視的。而另一類工作則偏向于使用簡(jiǎn)明扼要的有向圖的方式來(lái)捕捉交易間的沖突關(guān)系。例如,Dickeson等人在[20]使用happen-before圖來(lái)描述主節(jié)點(diǎn)發(fā)現(xiàn)的沖突關(guān)系和可串行化順序。驗(yàn)證節(jié)點(diǎn)則以happen-before圖作為輸入生成fork-join多線程任務(wù)[23],并發(fā)回放所有的交易。這種方式雖然大大降低了通信開(kāi)銷,然而回放交易時(shí)監(jiān)控沖突交易狀態(tài)的開(kāi)銷很大,回放效率低。因此,如何在提升執(zhí)行效率的同時(shí)優(yōu)化傳輸開(kāi)銷是本文解決的一個(gè)具有挑戰(zhàn)性的問(wèn)題。通過(guò)對(duì)智能合約并發(fā)問(wèn)題以及現(xiàn)有工作的分析研究,本文沿用兩階段執(zhí)行流框架,設(shè)計(jì)了一種兼顧主節(jié)點(diǎn)執(zhí)行效率和驗(yàn)證節(jié)點(diǎn)回放效率的并發(fā)控制協(xié)議——8
【參考文獻(xiàn)】:
期刊論文
[1]智能合約:架構(gòu)及進(jìn)展[J]. 歐陽(yáng)麗煒,王帥,袁勇,倪曉春,王飛躍. 自動(dòng)化學(xué)報(bào). 2019(03)
[2]區(qū)塊鏈技術(shù):架構(gòu)及進(jìn)展[J]. 邵奇峰,金澈清,張召,錢衛(wèi)寧,周傲英. 計(jì)算機(jī)學(xué)報(bào). 2018(05)
本文編號(hào):3604722
本文鏈接:http://sikaile.net/kejilunwen/shengwushengchang/3604722.html
最近更新
教材專著