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