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

    HyperledgerFabric并發(fā)沖突消除機(jī)制

    2025-07-28 00:00:00陳華欽黃冬艷覃環(huán)虎陳涵宇
    關(guān)鍵詞:頂點(diǎn)排序客戶端

    關(guān)鍵詞:HyperledgerFabric;交易沖突;映射;有向無環(huán)圖;沖突消除 中圖分類號(hào):TP393 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1001-3695(2025)07-004-1948-08 doi:10.19734/j.issn.1001-3695.2024.11.0452

    Abstract:HyperledgerFabricisa mainstreamconsortium blockchain platform.When facing multipleconcurrent transactions thatareinterrelated,theexistingarchitecturetendstogeneratealargenumberof invalidtransactionswhichsverelyrduces thesystem’sefectivetransactionprocessingcapability.Toaddressthisisse,thispaperproposedaconflicteliminationechnism that integrated map and directed acyclic graph(DAG),known as the FabricIMD(Fabric integrated with map and DAG) mechanism.The mechanism identified dependencies between transactions atthe per node(endorser)through map andconstructed theserelationshipsusingadirectedacyclicgaphtoadjust theendorsementorderoftransactions,therebyefectivelyavoiding transactionconflicts.Experimentsdemonstratethatwhentherearemultipleinterrelatedconcuenttransactions,F(xiàn)abricIMDmechanismcansignificantlyreduceinvalidtransactionscausedbytransactionconflicts.Withvaryingdegresofconflict among transactions,the system’s effective transaction throughput increased by 15.68% to 96.08% . Moreover,when dealing withunrelatedconcurrnttransactions,the introductionofthis mechanismdidnotsignificantlyimpact systemperfor-mance.In summary,F(xiàn)abricIMDmechanismnotonlyavoidstransactionconflictsbutalsoenhancesthesystem’seffectivetransaction throughout and significantly reduces the number of invalid transactions.

    Key Words:Hyperledger Fabric;transactionconflict;map;directed acyclic graph(DAG);conflict elimination

    0 引言

    區(qū)塊鏈起源于比特幣[1],其實(shí)質(zhì)是集合了對(duì)等(peertopeer,P2P)網(wǎng)絡(luò)、共識(shí)機(jī)制和密碼學(xué)等技術(shù)的分布式數(shù)據(jù)庫系統(tǒng)。區(qū)塊鏈具有去中心化、數(shù)據(jù)不易竄改和可追溯的優(yōu)點(diǎn),能有效建立多方信任以解決數(shù)據(jù)流通和交易的安全問題,已廣泛應(yīng)用于智能電網(wǎng)[2]、車聯(lián)網(wǎng)[3]、物聯(lián)網(wǎng)[4]和邊緣計(jì)算[5]等領(lǐng)域。

    根據(jù)節(jié)點(diǎn)是否可以自由加入,區(qū)塊鏈分為公有鏈、聯(lián)盟鏈和私有鏈。HyperledgerFabric[作為聯(lián)盟鏈的代表之一,具有開源、高度模塊化、可定制、可插拔的特點(diǎn),在數(shù)字化業(yè)務(wù)場景中受到廣泛關(guān)注[7]。HyperledgerFabric采用“執(zhí)行-排序-驗(yàn)證-提交”的架構(gòu),雖然提升了系統(tǒng)交易吞吐量,也帶來了一些問題。這是因?yàn)椋涸谀M執(zhí)行階段,交易并發(fā)且相互隔離,若多筆交易同時(shí)讀取和修改數(shù)據(jù)庫中同一數(shù)據(jù)將會(huì)產(chǎn)生沖突;在驗(yàn)證階段,由于采用多版本并發(fā)控制(MVCC)機(jī)制來保證數(shù)據(jù)庫中數(shù)據(jù)的一致性,這些沖突的交易大多是無效的[8],導(dǎo)致大量網(wǎng)絡(luò)資源和存儲(chǔ)資源的浪費(fèi)。目前解決HyperledgerFabric并發(fā)沖突的方法主要有兩種:一是在排序階段之前減少交易沖突的產(chǎn)生;二是在排序階段及驗(yàn)證階段,最小化沖突交易的數(shù)量。

    在排序階段之前減少交易沖突產(chǎn)生方面,Zhang等人在客戶端處采用緩存策略,對(duì)滿足背書條件的交易進(jìn)行沖突分析。無沖突時(shí),交易直接提交至排序節(jié)點(diǎn);有沖突時(shí),交易被暫存至沖突隊(duì)列,待沖突解決后重新執(zhí)行。然而,該方法并不適用于多客戶端環(huán)境中的交易并發(fā)沖突。王盛姣等人[10提出一種背書節(jié)點(diǎn)緩存策略,用于存儲(chǔ)待驗(yàn)證交易的寫集。在交易模擬執(zhí)行時(shí),背書節(jié)點(diǎn)通過比對(duì)交易背書結(jié)果與緩存信息識(shí)別沖突。無沖突時(shí),背書結(jié)果返回至客戶端;否則,給客戶端返回背書失敗信息。但該方案未考慮客戶端對(duì)背書失敗交易的處理機(jī)制。若客戶端對(duì)失敗交易實(shí)施重發(fā),將導(dǎo)致頻繁的客戶端與背書節(jié)點(diǎn)間的通信,這可能增加網(wǎng)絡(luò)負(fù)載并占用關(guān)鍵通信資源,對(duì)區(qū)塊鏈網(wǎng)絡(luò)性能構(gòu)成潛在影響。 Xu 等人[11]在客戶端處引入鎖機(jī)制以檢測(cè)交易沖突,通過為沖突交易創(chuàng)建臨時(shí)數(shù)據(jù)庫索引,并在驗(yàn)證通過后與原索引歸并。然而,此方案只適用于單客戶端場景,而且在異步區(qū)塊鏈系統(tǒng)中實(shí)現(xiàn)節(jié)點(diǎn)同步的鎖服務(wù)將增加額外的通信成本[10]

    在排序階段及驗(yàn)證階段最小化沖突交易數(shù)量方面,Sharma等人[8提出一種基于交易重排序的策略,該策略通過構(gòu)建區(qū)塊內(nèi)交易依賴關(guān)系圖,識(shí)別并消除循環(huán)依賴,以優(yōu)化交易排序。然而,此策略僅緩解了區(qū)塊內(nèi)的交易沖突,未能解決跨區(qū)塊的沖突問題,且可能引起交易提前終止。 Xu 等人[12]提出了一種節(jié)點(diǎn)排序策略,通過交易按鍵分組并結(jié)合余額驗(yàn)證,實(shí)現(xiàn)沖突交易的有效合并,以避免驗(yàn)證失敗。然而,該方法對(duì)賬戶余額的依賴可能限制智能合約的靈活性。吳海博等人[13]為解決區(qū)塊內(nèi)交易沖突,提出了一種高效的事務(wù)調(diào)度機(jī)制,通過依賴鏈和危險(xiǎn)結(jié)構(gòu)檢測(cè)來識(shí)別并中止?jié)撛谘h(huán)依賴的事務(wù)。同時(shí),為解決區(qū)塊間沖突,建議在排序節(jié)點(diǎn)構(gòu)建緩存區(qū)進(jìn)行交易沖突檢測(cè)。但這種方法可能削弱了系統(tǒng)的隱私保護(hù)優(yōu)勢(shì)。Gorenflo等人[14]提出了一種\"執(zhí)行-排序-執(zhí)行”的交易流程,通過依賴性分析在驗(yàn)證階段識(shí)別沖突交易,并基于最新數(shù)據(jù)庫狀態(tài)重新執(zhí)行,然后更新賬本。這種機(jī)制繞過了MVCC驗(yàn)證機(jī)制,可能影響系統(tǒng)安全性。Nasirifard等人[15]提出了FabricCRDT方法,結(jié)合HyperledgerFabric與CRDT。在背書節(jié)點(diǎn)驗(yàn)證時(shí),對(duì)CRDT交易跳過MVCC驗(yàn)證,使用CRDT技術(shù)合并提交。但這種方法需要定義特定數(shù)據(jù)結(jié)構(gòu),且繞過MVCC機(jī)制可能限制其適用性。

    可見,現(xiàn)有在排序階段之前減少交易沖突產(chǎn)生的方法通常限于單客戶端環(huán)境或缺乏對(duì)背書失敗交易的客戶端處理機(jī)制,導(dǎo)致適用性不強(qiáng)。而在排序階段及驗(yàn)證階段最小化沖突交易數(shù)量的方法,如在排序節(jié)點(diǎn)處采用交易重排序策略,雖然解決了沖突問題,但可能需要對(duì)系統(tǒng)架構(gòu)進(jìn)行調(diào)整,影響隱私性。事實(shí)上,原HyperledgerFabric架構(gòu)中的排序服務(wù)通過不參與交易的驗(yàn)證與執(zhí)行,實(shí)現(xiàn)了共識(shí)與交易處理的分離,既增強(qiáng)了共識(shí)部分的模塊化,也確保了交易隱私[。因此,迫切需要一種新的沖突消除機(jī)制,它應(yīng)具有廣泛的適用性,同時(shí)不改變系統(tǒng)架構(gòu)。

    沖突的本質(zhì)在于交易之間的相互依賴性,而有向無環(huán)圖(directedacyclicgraph,DAG)是表征這種依賴性的有力工具。例如,文獻(xiàn)[16,17]通過考慮每筆交易執(zhí)行時(shí)所需的互斥資源,構(gòu)建了DAG來確定區(qū)塊內(nèi)交易的執(zhí)行順序。每筆交易執(zhí)行后,依賴于此交易的其他交易的人度將減少1。當(dāng)交易的入度降至0時(shí),表明其依賴的所有前置條件均已滿足,這些交易可以獨(dú)立并發(fā)執(zhí)行,從而充分利用多核CPU的計(jì)算資源。

    受到上述研究的啟發(fā),本文提出一種融合映射與DAG的沖突消除機(jī)制FabricIMD,旨在減少系統(tǒng)中因交易沖突導(dǎo)致出現(xiàn)無效交易的同時(shí)最大程度保留系統(tǒng)在隱私保護(hù)方面的優(yōu)勢(shì)。該機(jī)制適宜于采用“執(zhí)行-排序-驗(yàn)證\"架構(gòu)的系統(tǒng),因?yàn)樵趫?zhí)行階段便能獲取交易需要讀取或者修改的賬戶信息,用于識(shí)別交易間依賴關(guān)系。相較之下,在遵循“排序-執(zhí)行\(zhòng)"架構(gòu)的平臺(tái)上,通常需要增加額外機(jī)制,如文獻(xiàn)16]所述由智能合約開發(fā)者定義接口的互斥參數(shù),或文獻(xiàn)[17]中提出對(duì)智能合約進(jìn)行標(biāo)記的方法,以判定交易的依賴性。本文的主要貢獻(xiàn)有:

    a)提出一種融合映射與DAG的交易沖突消除機(jī)制Fa-bricIMD。該機(jī)制通過鍵值對(duì)映射的方法追蹤系統(tǒng)中賬戶的變動(dòng)情況,記錄引起賬戶變動(dòng)的交易信息,并確定交易間的依賴關(guān)系。然后,將所有未完成交易之間的依賴關(guān)系構(gòu)建為DAG,并根據(jù)DAG確定交易的背書順序。此機(jī)制能夠在保持系統(tǒng)高吞吐量的同時(shí),顯著減少因交易沖突而產(chǎn)生的無效交易數(shù)量。

    b)搭建實(shí)驗(yàn)測(cè)試系統(tǒng),驗(yàn)證了在無交易沖突條件下,引入FabricIMD機(jī)制對(duì)系統(tǒng)性能的影響較??;在存在不同程度交易沖突的情況下,F(xiàn)abricIMD機(jī)制能有效提升系統(tǒng)有效交易吞吐量,并減少無效交易。

    1HyperledgerFabric交易流程及沖突問題分析

    1.1HyperledgerFabric交易流程簡介

    在HyperledgerFabric框架中,交易流程由客戶端發(fā)起,向背書節(jié)點(diǎn)提交交易提案。滿足背書策略要求后,交易被發(fā)送至排序節(jié)點(diǎn),該節(jié)點(diǎn)負(fù)責(zé)按時(shí)間順序和通道ID對(duì)交易進(jìn)行排序并打包成區(qū)塊,隨后分發(fā)至所有對(duì)等節(jié)點(diǎn)。對(duì)等節(jié)點(diǎn)在此架構(gòu)中扮演多重角色,包括背書、提交、主節(jié)點(diǎn)和錨節(jié)點(diǎn),分別負(fù)責(zé)交易背書、賬本更新、區(qū)塊廣播及跨組織通信。賬本由“世界狀態(tài)\"和“區(qū)塊鏈\"構(gòu)成,前者存儲(chǔ)當(dāng)前賬本狀態(tài),后者記錄所有交易變更。組織由信任的對(duì)等節(jié)點(diǎn)組成,至少包含一個(gè)背書節(jié)點(diǎn),其背書行為體現(xiàn)了組織的交易認(rèn)可。背書策略明確了交易背書的組織要求,確保了交易的合法性和有效性。

    HyperledgerFabric交易流程如圖1所示,包括執(zhí)行、排序和驗(yàn)證階段。

    a)執(zhí)行階段:客戶端向組織內(nèi)的背書節(jié)點(diǎn)提交交易提案,提案中包括客戶端簽名、調(diào)用的鏈碼及其參數(shù)等信息。背書節(jié)點(diǎn)根據(jù)提案中的參數(shù),調(diào)用本地部署的鏈碼與賬本進(jìn)行交互,模擬執(zhí)行交易提案,但在此階段不對(duì)賬本進(jìn)行更新。

    b)排序階段:排序節(jié)點(diǎn)收到客戶端提交的交易后,不驗(yàn)證交易的有效性,而是根據(jù)交易所屬通道和到達(dá)時(shí)間等因素,對(duì)交易進(jìn)行排序并打包成區(qū)塊。排序節(jié)點(diǎn)之間就生成的區(qū)塊達(dá)成共識(shí),隨后將區(qū)塊發(fā)送至各對(duì)等節(jié)點(diǎn)。

    c)驗(yàn)證階段:對(duì)等節(jié)點(diǎn)接收排序節(jié)點(diǎn)發(fā)送的區(qū)塊,依次對(duì)區(qū)塊內(nèi)交易進(jìn)行驗(yàn)證。首先,執(zhí)行VSCC(驗(yàn)證系統(tǒng)鏈碼)以檢查交易是否符合背書策略。接著,利用MVCC機(jī)制,驗(yàn)證交易讀集中的鍵版本號(hào)是否與賬本中的世界狀態(tài)一致。驗(yàn)證通過后,對(duì)等節(jié)點(diǎn)將有效交易的寫集更新至世界狀態(tài)數(shù)據(jù)庫,并最終將區(qū)塊記錄到區(qū)塊鏈賬本中。

    1.2 交易沖突問題分析

    在進(jìn)行沖突問題分析前,先給出兩個(gè)基本概念:

    a)讀寫集[18:在基于最新賬本狀態(tài)的背景下,背書節(jié)點(diǎn)通過模擬執(zhí)行交易提案中的參數(shù),生成交易的讀寫集。讀集囊括了模擬執(zhí)行中訪問的所有唯一鍵及其對(duì)應(yīng)的已提交版本號(hào)。寫集記錄了模擬執(zhí)行期間對(duì)鍵的更新,包括鍵的新值和若被刪除的標(biāo)志。

    b)交易依賴:如果有兩筆交易 TXi 和 Txj,Txi 寫集中的鍵與Txj 讀集中的鍵重疊,則交易 Txi 和交易 Txj 之間存在交易依賴。

    HyperledgerFabric在執(zhí)行階段支持節(jié)點(diǎn)并發(fā)處理來自一個(gè)或多個(gè)客戶端的交易。然而,在存在交易依賴的情況下,如果多筆交易同時(shí)執(zhí)行,系統(tǒng)中可能出現(xiàn)交易沖突問題,導(dǎo)致在驗(yàn)證階段大量交易被標(biāo)記為無效,從而影響系統(tǒng)性能。

    產(chǎn)生上述現(xiàn)象的原因在于,當(dāng)存在依賴關(guān)系的兩筆交易TXi 和 Txj 并發(fā)執(zhí)行,若交易 Txi 在交易 Txj 之前完成驗(yàn)證并更新世界狀態(tài)數(shù)據(jù)庫,則交易 Txj 在驗(yàn)證階段因讀集中鍵的版本與當(dāng)前世界狀態(tài)中的版本不一致,即交易 Txj 與交易 Txi 產(chǎn)生“讀-寫\"沖突,從而被標(biāo)記為無效。當(dāng)這兩筆交易被納入同一區(qū)塊或分別進(jìn)人不同區(qū)塊時(shí),將分別觸發(fā)區(qū)塊內(nèi)交易沖突和區(qū)塊間交易沖突問題。

    2 融合映射與DAG的沖突消除機(jī)制FabricIMD

    2.1 交易流程

    FabricIMD機(jī)制分為背書和提交兩個(gè)階段。引入該機(jī)制后,交易流程如圖2所示。

    2.2 FabricIMD機(jī)制-背書階段

    該階段在背書節(jié)點(diǎn)部署映射和構(gòu)建DAG。

    2.2.1 部署映射

    1)映射背書節(jié)點(diǎn)根據(jù)交易背書結(jié)果讀寫集中的鍵來判斷當(dāng)前交易與之前的交易是否存在依賴。若只構(gòu)建DAG,背書節(jié)點(diǎn)需要遍歷DAG中所有頂點(diǎn)對(duì)應(yīng)的交易才能判斷依賴性,導(dǎo)致效率很低。通過構(gòu)建讀寫集映射,無須遍歷DAG中的所有頂點(diǎn)就能判斷當(dāng)前交易與之前交易的依賴關(guān)系,因此需要建立讀寫集映射以提高檢索效率。

    圖2引人FabricIMD機(jī)制后的交易流程 Fig.2Transactionflow with incorporated FabricIMDmechanism

    此外,在交易背書結(jié)果中,還存在讀集和寫集中的鍵不一致的情況。如果僅構(gòu)建寫集鍵映射而不構(gòu)建讀集鍵映射,可能會(huì)產(chǎn)生沖突。例如,交易 Txi 因與之前交易存在依賴關(guān)系需等待DAG更新之后再執(zhí)行。背書節(jié)點(diǎn)收到新的交易 Txj ,其讀集中的鍵與之前所有待處理交易的寫集中的鍵均不相同,但其寫集中的鍵與交易 Txi 讀集中的鍵相同。在僅構(gòu)建寫集鍵映射的情況下,該交易將會(huì)被判斷為沒有依賴性,直接進(jìn)入后續(xù)交易流程。但實(shí)際上,由于交易 Txj 寫集中的鍵與交易 Txi 讀集中的鍵相同,若這兩筆交易同時(shí)執(zhí)行,將產(chǎn)生沖突??紤]到這個(gè)問題,F(xiàn)abricIMD機(jī)制中不但建立寫集鍵映射,還需要建立讀集鍵映射。

    2)構(gòu)建映射映射分為讀集鍵映射和寫集鍵映射,使用交易讀寫集中的鍵作為鍵,交易的集合作為值,從而追蹤當(dāng)前時(shí)刻的鍵讀寫操作。背書節(jié)點(diǎn)獲取新交易 Txi 的背書結(jié)果后,對(duì)讀寫集映射進(jìn)行如下處理:

    a)背書節(jié)點(diǎn)首先遍歷背書結(jié)果讀集中的鍵。

    (a)在讀集鍵映射中獲取該鍵對(duì)應(yīng)的值,即當(dāng)前讀取該鍵狀態(tài)的交易集合 TxSet={Txa,Txb,Txc,…} ;

    (b)將交易 Txi 加入到該交易集合中,即 TxSet={Txa ,Txb,Txc,…,Txi} ,并將其作為該鍵在讀集鍵映射中的值。

    b)接下來,背書節(jié)點(diǎn)遍歷背書結(jié)果寫集中的鍵。

    (a)在寫集鍵映射中獲取該鍵對(duì)應(yīng)的值,即當(dāng)前修改該鍵狀態(tài)的交易集合 TxSet1={Txd,Txe,Txj,…} :

    (b)將交易 Txi 加入到該集合中,即 TxSet1={Txd,Txe ,Txj,…,Txi} ,并將其作為該鍵在寫集鍵映射中的值。

    2.2.2 構(gòu)建DAG

    令每筆交易對(duì)應(yīng)DAG中的每個(gè)頂點(diǎn),背書節(jié)點(diǎn)根據(jù)交易的依賴關(guān)系在DAG中動(dòng)態(tài)添加有向邊,構(gòu)建并更新圖結(jié)構(gòu)。

    如算法1所示流程,背書節(jié)點(diǎn)獲取新交易 Txi 的背書結(jié)果后,在DAG中新增與其對(duì)應(yīng)的頂點(diǎn) Vn ,并將依賴關(guān)系檢測(cè)碼初始化為0,然后啟動(dòng)對(duì)此筆交易的處理。

    a)背書節(jié)點(diǎn)首先遍歷背書結(jié)果讀集中的鍵。

    (a)若寫集鍵映射中該鍵對(duì)應(yīng)的值存在,表明當(dāng)前交易TXi 與映射中交易 Txm 存在依賴關(guān)系。背書節(jié)點(diǎn)定位交易 TXm 在DAG中對(duì)應(yīng)的頂點(diǎn) Vm 。

    (b)若頂點(diǎn) Vm 與新增頂點(diǎn) Vn 之間不存在有向邊,則在DAG中添加頂點(diǎn) Vm 指向頂點(diǎn) Vn 的有向邊,并將依賴關(guān)系檢測(cè)碼更新為1。

    (c)遍歷過程中,背書節(jié)點(diǎn)對(duì)讀集鍵映射進(jìn)行更新。

    b)接下來,背書節(jié)點(diǎn)遍歷背書結(jié)果寫集中的鍵:

    (a)若讀集鍵映射中該鍵對(duì)應(yīng)的值非空,表明當(dāng)前交易與之前的交易存在依賴關(guān)系。背書節(jié)點(diǎn)執(zhí)行與上述相同的操作。

    (b)遍歷過程中,背書節(jié)點(diǎn)對(duì)寫集鍵映射進(jìn)行更新。

    c)遍歷結(jié)束后,如果依賴關(guān)系檢測(cè)碼為0,該筆交易的背書結(jié)果將返回至客戶端,否則等待后續(xù)處理。

    算法1FabricIMD機(jī)制—背書階段

    輸人:交易 Txi 的讀寫集 TxRwSet ;讀集鍵映射RKM;寫集鍵映射WKM;交易間依賴關(guān)系 DAG 輸出:讀集鍵映射RKM;寫集鍵映射WKM;交易間依賴關(guān)系DAG;依賴關(guān)系檢測(cè)碼Code。初始化 Code=0,DAG 頂點(diǎn) Vn for鍵 keyi∈TxRwSet 的讀集doif鍵 keyi 在WKM中對(duì)應(yīng)的值非空dofor交易 Txm∈ 鍵 keyi 在WKM中對(duì)應(yīng)的值doVm 為交易 Txm 在DAG中對(duì)應(yīng)的頂點(diǎn);if Vm 與 Vn 之間不存在有向邊then在DAG中添加頂點(diǎn) Vm 指向頂點(diǎn) Vn 的有向邊;end ifend for(204號(hào) Code=1 :end if將交易 Txi 添加到鍵 keyi 在RKM對(duì)應(yīng)的值中;end forfor鍵 keyj∈TxRwSet 的寫集doif鍵keyj在RKM中對(duì)應(yīng)的值非空thenfor交易 Txa∈ 鍵 keyj 在RKM中對(duì)應(yīng)的值doVa 為交易 Txa 在DAG中對(duì)應(yīng)的頂點(diǎn);if Va 與 Vn 之間不存在有向邊then在DAG中添加頂點(diǎn) Va 指向頂點(diǎn) Vn 的有向邊;endifend forCode=1 end if將交易 TXi 添加到鍵 keyj 在WKM對(duì)應(yīng)的值中;end forreturnRKM,WKM,DAG,Code;

    c)下面將通過舉例和圖形化的方式展示DAG的變化過程。

    背書節(jié)點(diǎn)先后收到交易1\~5共5筆交易,每筆交易讀集與寫集中的鍵如表1所示。

    表1交易讀集與寫集中鍵的集合Tab.1Set of keysin the transaction’sread and write sets

    DAG構(gòu)建過程如圖3所示。

    (a)交易1為首筆交易,新建其對(duì)應(yīng)的頂點(diǎn) V1 后,該筆交易直接進(jìn)入后續(xù)交易流程。

    (b)對(duì)于交易2,由于需要基于交易1對(duì)鍵 K2 和 K3 的狀態(tài)更新,所以在DAG中添加從頂點(diǎn) V1 指向頂點(diǎn) V2 的有向邊。同理,鑒于交易3依賴于交易1和2,因此在DAG中分別添加頂點(diǎn) V1 和 V2 指向頂點(diǎn) V3 的有向邊。

    (c)交易4與前面三筆交易不存在交易依賴,因此新建該筆交易對(duì)應(yīng)的頂點(diǎn) V4 后,交易可以直接進(jìn)入后續(xù)交易流程。

    (d)交易5分別與交易2和4存在交易依賴,因此在DAG中分別添加頂點(diǎn) V2 和 V4 指向頂點(diǎn) V5 的有向邊,同時(shí)交易5需要等待后續(xù)處理。

    圖3DAG構(gòu)建過程 Fig.3DAG construction process

    2.3 FabricIMD機(jī)制一提交階段

    背書節(jié)點(diǎn)接收到區(qū)塊后,首先驗(yàn)證區(qū)塊內(nèi)交易并更新賬本,隨后對(duì)區(qū)塊內(nèi)交易進(jìn)行遍歷以更新映射和DAG。過程如下:

    a)更新映射。背書節(jié)點(diǎn)分別遍歷交易讀集和寫集的鍵,并依據(jù)鍵在映射中移除該筆交易。

    b)更新DAG。背書節(jié)點(diǎn)刪除DAG中該筆交易所對(duì)應(yīng)的頂點(diǎn)及其指向其他頂點(diǎn)的有向邊,然后檢查是否新增入度為0的頂點(diǎn)。若有,重新模擬執(zhí)行該新增頂點(diǎn)所對(duì)應(yīng)的交易并將背書結(jié)果返回給客戶端;否則,等待DAG的后續(xù)更新。

    算法2FabricIMD機(jī)制—提交階段

    輸人:區(qū)塊 B ;讀集鍵映射RKM;寫集鍵映射WKM;交易間依賴關(guān)系 DAG 輸出:讀集鍵映射RKM;寫集鍵映射WKM;交易間依賴關(guān)系 DAG 。for交易 TXi∈B dofor鍵 keyi∈Txi 的寫集do將 TXi 從鍵 keyi 在WKM對(duì)應(yīng)的值中刪除;end forfor鍵 keyi∈Txi 的讀集do將 TXi 從鍵 keyj 在RKM對(duì)應(yīng)的值中刪除;endforVi 為交易 Txi 在DAG中對(duì)應(yīng)的頂點(diǎn);for頂點(diǎn) Vn 為 Vi 的后繼頂點(diǎn)do刪除DAG中頂點(diǎn) Vi 指向頂點(diǎn) Vn 的有向邊;if頂點(diǎn) Vn 的入度為0then模擬執(zhí)行頂點(diǎn) Vn 對(duì)應(yīng)的交易 Txn ,并將背書結(jié)果返回給客戶端;end ifend for在DAG中刪除頂點(diǎn) Vi end forreturnRKM,WKM,DAG;c)圖形化示例DAG更新過程。DAG更新過程如圖4所示。

    圖4DAG更新過程 Fig.4DAG update process

    (a)背書節(jié)點(diǎn)在驗(yàn)證并提交包含交易1和4的區(qū)塊后,從DAG中移除頂點(diǎn) V1 和 V4 及這兩個(gè)頂點(diǎn)指向其他頂點(diǎn)的有向邊。

    (b)此時(shí)頂點(diǎn) V2 不再有來自其他頂點(diǎn)的有向邊,即入度為0,表明此時(shí)交易2與系統(tǒng)中正在執(zhí)行的交易不存在沖突。因此,交易2可以重新執(zhí)行。頂點(diǎn) V3 和 V5 的入度不為0,所對(duì)應(yīng)的交易3和5需要等待后續(xù)處理。

    (c)當(dāng)交易2完成后,在DAG中刪除頂點(diǎn) V2 指向其他頂點(diǎn)的有向邊及該頂點(diǎn)自身,此時(shí)頂點(diǎn) V3 和 V5 的人度變?yōu)?,可以同時(shí)執(zhí)行交易3和5。

    2.4FabricIMD機(jī)制的復(fù)雜度和安全性分析

    2.4.1 復(fù)雜度分析

    設(shè)每筆交易讀集和寫集中鍵的數(shù)量分別為 n1 和 n2 。對(duì)于任意特定鍵,通過讀寫集映射進(jìn)行值的查找操作具有 O(1) 的時(shí)間復(fù)雜度。該值是一個(gè)交易集合,反映了當(dāng)前正在讀取或者修改該鍵狀態(tài)的交易,設(shè)該交易集合的大小平均為 m 。

    在構(gòu)建讀寫集映射和DAG階段,外層循環(huán)首先遍歷 n1 個(gè)讀集中的鍵,對(duì)于每個(gè)鍵,內(nèi)層循環(huán)遍歷其在寫集鍵映射中關(guān)聯(lián)的 ∣m∣ 筆交易,判斷每筆交易對(duì)應(yīng)的頂點(diǎn)是否與當(dāng)前交易對(duì)應(yīng)的頂點(diǎn)間存在有向邊。若無,則在DAG中添加有向邊;若有,則向下進(jìn)行。此判斷步驟旨在防止因當(dāng)前交易讀取的兩個(gè)或多個(gè)鍵與之前某筆交易需要修改的鍵相同,從而導(dǎo)致在對(duì)鍵遍歷的過程中重復(fù)添加有向邊的情況出現(xiàn)。內(nèi)循環(huán)中每次進(jìn)行判斷和添加有向邊操作的時(shí)間復(fù)雜度為 O(1) 。在整個(gè)循環(huán)過程中進(jìn)行判斷操作的次數(shù)為 n1?m* 每次內(nèi)層循環(huán)結(jié)束后將當(dāng)前交易添加到讀集鍵映射中,所需的時(shí)間復(fù)雜度為 O(1) 。綜上所述,對(duì)每筆交易讀集中鍵的操作所需的時(shí)間復(fù)雜度為 O(n1? m )。對(duì)交易寫集中鍵的操作與讀集中類似。因此,在該階段對(duì)每筆交易操作的整體時(shí)間復(fù)雜度為 O((n1+n2)?m) 。

    在更新讀寫集映射和DAG階段,外層循環(huán)首先遍歷 n1 個(gè)讀集中的鍵,對(duì)于每個(gè)鍵,內(nèi)層循環(huán)遍歷其在讀集鍵映射中關(guān)聯(lián)的 m 筆交易,以移除當(dāng)前已完成的交易。類似地,遍歷寫集中的鍵,其數(shù)量為 n2 。對(duì)于每個(gè)鍵,循環(huán)遍歷其在寫集鍵映射中關(guān)聯(lián)的 m 筆交易,以移除當(dāng)前已完成的交易。因此,在更新讀寫集映射時(shí)所需的時(shí)間復(fù)雜度為 。接下來,在DAG中遍歷當(dāng)前交易對(duì)應(yīng)頂點(diǎn)指向其他頂點(diǎn)的有向邊,其數(shù)量為 Q ,并逐一刪除這些邊。刪除每條有向邊的操作所需的時(shí)間復(fù)雜度為 O(1) ,因此總的時(shí)間復(fù)雜度為 O(Q) 。最后,刪除當(dāng)前交易對(duì)應(yīng)的頂點(diǎn),所需的時(shí)間復(fù)雜度為 O(1) 。綜上所述,在此階段對(duì)每筆交易操作的整體時(shí)間復(fù)雜度為 O((n1+ 。

    2.4.2安全性分析

    在HyperledgerFabric中,背書節(jié)點(diǎn)接收到來自客戶端的交易提案后將進(jìn)行一系列驗(yàn)證。這些驗(yàn)證包括交易提案的格式是否正確、通過核對(duì)賬本數(shù)據(jù)檢查交易是否被重復(fù)提交過以防范重放攻擊、交易提案簽名是否有效以及客戶端是否有權(quán)限執(zhí)行鏈碼操作[18]。如果驗(yàn)證通過,背書節(jié)點(diǎn)將調(diào)用智能合約模擬執(zhí)行交易提案。本文所提的FabricIMD機(jī)制是在模擬執(zhí)行交易提案步驟后實(shí)施,即該交易提案已經(jīng)被驗(yàn)證通過。因此,該機(jī)制不會(huì)對(duì)系統(tǒng)的安全性問題造成影響。而且,無論是經(jīng)過沖突消除機(jī)制處理后直接進(jìn)人后續(xù)交易流程的交易,還是等待DAG更新后重新執(zhí)行的交易,都將和未引人該機(jī)制時(shí)的系統(tǒng)一樣需要經(jīng)過排序和驗(yàn)證階段,從而減少對(duì)系統(tǒng)的安全性影響。

    3 實(shí)驗(yàn)和分析

    為驗(yàn)證所提出方法的有效性,構(gòu)建了一個(gè)實(shí)驗(yàn)系統(tǒng)。該系統(tǒng)基于HyperledgerFabric的“執(zhí)行-排序-驗(yàn)證”架構(gòu),由以下主要組件構(gòu)成:

    a)客戶端:用于與系統(tǒng)進(jìn)行交互。b)排序部分:五個(gè)節(jié)點(diǎn)組成,負(fù)責(zé)交易的排序打包過程。c)組織:三個(gè)組織,每個(gè)組織內(nèi)各包含一個(gè)背書節(jié)點(diǎn),用

    于交易背書。d)共識(shí)算法:排序節(jié)點(diǎn)間采用Raft共識(shí)算法。系統(tǒng)部署在服務(wù)器上,具體配置如下:a)處理器:Intel@ CoreTMi7-9700 CPU @ ,共8

    個(gè)核心;b)內(nèi)存:16GBDDR4RAM;c)操作系統(tǒng):Ubuntu22.04.2LTS;d)開發(fā)環(huán)境:使用Go1.21.3Linux/amd64;此外,通過端口映射技術(shù),在單一服務(wù)器上模擬多節(jié)點(diǎn)運(yùn)

    行環(huán)境。鑒于本文主要關(guān)注“讀-寫\"交易沖突問題且只讀交易

    通常不會(huì)被提交至排序服務(wù)節(jié)點(diǎn)[18],因此在實(shí)驗(yàn)中設(shè)置的交

    易均涉及對(duì)賬本的讀寫操作。為了量化實(shí)驗(yàn)效果,采用以下指

    標(biāo)作為系統(tǒng)性能評(píng)價(jià)指標(biāo):a)有效交易吞吐量:一段時(shí)間內(nèi),系統(tǒng)平均每秒提交的有

    效交易數(shù)量。b)平均有效交易時(shí)延:客戶端發(fā)起交易到收到交易成功

    上鏈信息所需的時(shí)間。

    c)無效交易數(shù)量:一段時(shí)間內(nèi),系統(tǒng)內(nèi)產(chǎn)生的無效交易數(shù)量。

    本章測(cè)試了在不同交易沖突程度和背書策略下,引入FabricIMD機(jī)制后系統(tǒng)性能的變化。

    3.1 無交易沖突

    在組織中的節(jié)點(diǎn)處初始化生成10000個(gè)賬戶。令客戶端在同一時(shí)間發(fā)送的交易訪問不同的賬戶,因此避免了交易沖突。系統(tǒng)參數(shù)配置如表2所示。

    表2系統(tǒng)參數(shù)配置Tab.2System parameter configuration

    如圖5所示,無交易沖突時(shí),引入FabricIMD機(jī)制后,系統(tǒng)有效交易吞吐量略有下降。這是因?yàn)橐薋abricIMD機(jī)制后,在背書階段增加了沖突消除的操作,而此時(shí)系統(tǒng)中又沒有沖突交易,導(dǎo)致相比于未引入時(shí),系統(tǒng)在相同時(shí)間內(nèi)完成的交易數(shù)量減少。盡管如此,當(dāng)區(qū)塊大小從20增加至100時(shí),有效交易吞吐量的降低幅度最高僅為 2.94% 。原因在于本文提出的Fab-ricIMD機(jī)制能夠有效地處理交易,同時(shí)對(duì)系統(tǒng)資源的占用保持在較低水平。如表3所示,F(xiàn)abricIMD機(jī)制對(duì)每筆交易的處理時(shí)間在 6~9μs ,且該機(jī)制所占用的內(nèi)存空間較小且保持穩(wěn)定。

    圖5不同區(qū)塊大小下系統(tǒng)有效交易吞吐量 Fig.5System effective transaction throughput under varying block sizes
    表3不同區(qū)塊大小下FabricIMD機(jī)制平均耗時(shí)及占用空間 Tab.3Average time and memory space occupancy of fabricimd mechanismunder varyingblock sizes

    如圖6所示,引人FabricIMD機(jī)制后,有效交易的平均時(shí)延未有顯著波動(dòng)。上述表明,盡管引人FabricIMD機(jī)制可能會(huì)引入額外的處理開銷,但其對(duì)系統(tǒng)整體性能的影響是有限的。

    圖6不同區(qū)塊大小下系統(tǒng)平均有效交易時(shí)延Fig.6Averagelatency ofvalid transactionsundervaryingblocksizes

    3.2 不同程度交易沖突

    3.2.1不同Zipfian分布參數(shù)對(duì)系統(tǒng)性能的影響

    本實(shí)驗(yàn)旨在測(cè)試在不同程度交易沖突條件下,引入Fa-bricIMD機(jī)制后系統(tǒng)的性能。此外,實(shí)驗(yàn)還將評(píng)估無沖突消除機(jī)制的兩種情況(無效交易不重發(fā)和無效交易重發(fā)),以及Fabric ++[8] 和FabricDT[10]兩種方案的性能,作為對(duì)比分析。其中,F(xiàn)abric ++ 為在排序節(jié)點(diǎn)處進(jìn)行交易沖突處理的經(jīng)典方法,F(xiàn)abricDT與FabricIMD一樣,均在背書節(jié)點(diǎn)對(duì)交易進(jìn)行處理。

    在表2的系統(tǒng)配置基礎(chǔ)上,本實(shí)驗(yàn)將區(qū)塊內(nèi)最大交易數(shù)量固定為20,通過Zipfian分布函數(shù)[19選擇交易訪問的賬戶。表4為不同Zipfian分布參數(shù)下的交易沖突程度。隨著Zipfian分布參數(shù)的增加,交易間出現(xiàn)沖突的概率增加。

    表4不同Zipfian分布參數(shù)下的交易沖突程度[ab.4Transaction conflict intensity under varying Zipfiardistributionparameters

    如圖7所示,隨著Zipfian分布參數(shù)的增加,五種方案下的有效交易吞吐量均呈現(xiàn)下降趨勢(shì)。這一現(xiàn)象的根源在于系統(tǒng)處理交易的能力是有限的。在無沖突處理機(jī)制時(shí),無效交易的數(shù)量隨著交易間沖突概率的增大而增多,導(dǎo)致有效交易占比下降。加人沖突處理機(jī)制后,由于需要分配額外的資源來檢測(cè)和消除沖突交易,也導(dǎo)致了有效交易吞吐量的下降。盡管如此,在FabricIMD機(jī)制下,系統(tǒng)有效交易吞吐量下降最少,隨著Zipfian分布參數(shù)從1.01增加到10,吞吐量僅下降了 10.93% ,遠(yuǎn)低于無沖突消除機(jī)制(無效交易不重發(fā))的 47.46% 和Fa-bricDT的 30% 。當(dāng)Zipfian分布參數(shù)為10時(shí),引入FabricIMD機(jī)制后,系統(tǒng)的有效交易吞吐量是無沖突消除機(jī)制且無效交易不重發(fā)時(shí)的1.96倍,是FabricDT的1.44倍。如表5所示,交易在FabricIMD機(jī)制部分的處理耗時(shí)始終在微秒級(jí)別。

    圖7不同Zipfian分布參數(shù)下有效交易吞吐量Fig.7Effective transaction throughput under varyingZipfiandistributionparameters
    表5不同Zipfian分布參數(shù)下FabricIMD機(jī)制平均耗時(shí)及占用空間 Tab.5Average time and memory space occupancy of FabricIMD mechanism under varying Zipfiandistribution parameters

    如圖8所示,無沖突消除機(jī)制(無效交易不重發(fā))、FabricDT和Fabric ++ 方案的平均有效交易時(shí)延隨Zipfian分布參數(shù)的增加而降低,而FabricIMD機(jī)制的平均有效交易時(shí)延隨Zipfian分布參數(shù)的增加而略微增加。這是因?yàn)閷?duì)比方案在交易流程的驗(yàn)證階段或之前因交易沖突而提前中止了大量交易,從而加速了有效交易的處理。而引入FabricIMD機(jī)制后,由于部分沖突交易的背書順序被調(diào)整,需等待其前置交易執(zhí)行完畢,導(dǎo)致處理時(shí)延增加。與無效交易重發(fā)相比,當(dāng)Zipfian分布參數(shù)小于4時(shí),引人FabricIMD后的時(shí)延與其相當(dāng);當(dāng)Zipfian分布參數(shù)大于4時(shí),引入該機(jī)制下的額外時(shí)延約為 2s (20

    圖8不同Zipfian分布參數(shù)下平均有效交易時(shí)延Fig.8Average latency of valid transactions under varyingZipfian distributionparameters

    盡管如此,引人FabricIMD機(jī)制的系統(tǒng)在無效交易產(chǎn)生數(shù)量上始終為零,優(yōu)于其他方案,如圖9所示。這是因?yàn)镕abric-IMD機(jī)制通過優(yōu)化交易背書順序,確保交易在無沖突環(huán)境下進(jìn)行背書。這一策略不僅避免了因交易沖突而產(chǎn)生無效交易,還減少了無效交易重發(fā)導(dǎo)致的系統(tǒng)交易沖突加劇問題,從而提高了系統(tǒng)的整體效率。

    圖9不同Zipfian分布參數(shù)下無效交易產(chǎn)生的數(shù)量Fig.9Number of invalid transactions under varyingZipfian distributionparameters

    3.2.2區(qū)塊大小對(duì)系統(tǒng)性能的影響

    為評(píng)估區(qū)塊大小對(duì)系統(tǒng)性能的影響,實(shí)驗(yàn)以步長40將區(qū)塊內(nèi)最大交易數(shù)量從40增加到200,觀察五種方案下系統(tǒng)各項(xiàng)指標(biāo)。在測(cè)試過程中以Zipfian分布參數(shù)為4來選擇交易修改的賬戶,使系統(tǒng)中保持一定的交易沖突。

    圖10和11為系統(tǒng)在不同區(qū)塊大小下的有效交易吞吐量和無效交易數(shù)量。隨著區(qū)塊內(nèi)最大交易數(shù)量的增加,系統(tǒng)的有效交易吞吐量上升。然而,區(qū)塊大小的增大也加劇了交易間的沖突,從而增加了無效交易的產(chǎn)生,此情形在無沖突消除機(jī)制的系統(tǒng)中尤為明顯。

    在資源受限的環(huán)境下,對(duì)區(qū)塊內(nèi)交易采用交易重排序策略的Fabric +θ+θ 方案由于需要更多的計(jì)算資源而遭遇了性能瓶頸。與此同時(shí),F(xiàn)abricDT方案通過在背書節(jié)點(diǎn)拒絕對(duì)更多的沖突交易背書來減少無效交易的產(chǎn)生,展現(xiàn)出良好性能。相比之下,引入FabricIMD機(jī)制的系統(tǒng)在背書節(jié)點(diǎn)處通過對(duì)交易背書順序進(jìn)行調(diào)整,相比于其他方案擁有更好的表現(xiàn)。

    實(shí)驗(yàn)結(jié)果表明,當(dāng)區(qū)塊大小從40增加到120時(shí),引入Fa-bricIMD機(jī)制的系統(tǒng)其有效交易吞吐量是無該機(jī)制時(shí)的1.48倍,并且相較于FabricDT方案提升了 24%~28% 。然而,當(dāng)區(qū)塊大小超過120時(shí),由于FabricIMD需要更多時(shí)間來調(diào)整交易背書順序以滿足出塊條件,使有效交易吞吐量有所下降。盡管如此,在區(qū)塊大小為160和200時(shí),引入FabricIMD機(jī)制的系統(tǒng)的有效交易吞吐量仍然比無沖突消除機(jī)制且無效交易不重發(fā)時(shí)高出 30% 以上。此外,該機(jī)制確保系統(tǒng)不產(chǎn)生無效交易,避免了其他方案中因無效交易而需進(jìn)行的后續(xù)處理,從而減少了資源浪費(fèi)。

    圖10不同區(qū)塊大小下系統(tǒng)有效交易吞吐量 Fig.10System effective transaction throughput under varying block sizes
    圖11不同區(qū)塊大小下無效交易產(chǎn)生數(shù)量Fig.11Number of invalid transactionsunder varyingblock sizes

    3.2.3共識(shí)節(jié)點(diǎn)數(shù)量對(duì)系統(tǒng)性能的影響

    在本項(xiàng)實(shí)驗(yàn)中將共識(shí)節(jié)點(diǎn)數(shù)量從3個(gè)逐步增加到15個(gè),Zipfian分布參數(shù)固定為4,以評(píng)估共識(shí)節(jié)點(diǎn)數(shù)量對(duì)系統(tǒng)性能的影響。隨著共識(shí)節(jié)點(diǎn)數(shù)量從3增加至15,如圖12和13所示,五種方案下系統(tǒng)的有效交易吞吐量均降低,同時(shí)平均時(shí)延均增加。這是因?yàn)殡S著共識(shí)節(jié)點(diǎn)數(shù)量的增加,排序節(jié)點(diǎn)達(dá)成交易共識(shí)的時(shí)間延長。對(duì)于FabricIMD機(jī)制來說,共識(shí)時(shí)間的延長導(dǎo)致背書節(jié)點(diǎn)處的映射和DAG更新速度減緩。但是如圖12所示,F(xiàn)abricIMD機(jī)制的有效交易吞吐量遠(yuǎn)優(yōu)于對(duì)比方案。與無沖突消除機(jī)制(無效交易不重發(fā))相比,所提方案有效交易吞吐量提升了 37%~77% ;與FabricDT相比,有效交易吞吐量增加了 16%~50% 。

    圖13不同共識(shí)節(jié)點(diǎn)數(shù)量下平均有效交易時(shí)延Fig.13Averagelatency of valid transactionsundervaryingconsensus node counts

    3.3 不同背書策略

    本節(jié)實(shí)驗(yàn)旨在評(píng)估引人沖入消除機(jī)制后,不同背書策略對(duì)系統(tǒng)性能的影響。實(shí)驗(yàn)環(huán)境擴(kuò)展至包含三個(gè)客戶端和五個(gè)組織,Zipfian分布參數(shù)固定為2。變量 k 表示需要對(duì)交易進(jìn)行背書的組織數(shù)量。如圖14和15所示,引人FabricIMD機(jī)制顯著增強(qiáng)了系統(tǒng)在不同背書策略下的有效交易吞吐量,提升幅度為13.08%~36.79% ,并且顯著降低了無效交易產(chǎn)生數(shù)量。此外,如圖16所示,由于增加FabricIMD機(jī)制對(duì)交易的處理,系統(tǒng)的平均有效交易時(shí)延略有上升。在背書策略調(diào)整過程中,引人FabricIMD機(jī)制對(duì)系統(tǒng)的有效交易吞吐量和無效交易數(shù)量產(chǎn)生了以下影響:

    在 k=1 時(shí),有效交易吞吐量相比無沖突消除機(jī)制時(shí)有所提升,同時(shí)也有無效交易產(chǎn)生。這歸因于在此背書策略下,每個(gè)背書節(jié)點(diǎn)僅收到部分交易信息,限制了FabricIMD機(jī)制識(shí)別交易依賴的能力,導(dǎo)致部分交易在驗(yàn)證階段被中止。隨著 k 值的增加,F(xiàn)abricIMD機(jī)制對(duì)交易間依賴關(guān)系識(shí)別能力得到增強(qiáng)。例如,當(dāng) k=2 時(shí),系統(tǒng)的有效交易吞吐量比 k=1 時(shí)提高了5.26% ,無效交易數(shù)量減少了 54.5% 。

    當(dāng) k=3 時(shí),至少有一個(gè)組織的背書節(jié)點(diǎn)能夠收到所有客戶端發(fā)出的交易信息,從而全面識(shí)別交易間依賴關(guān)系并調(diào)整背書順序,避免了交易沖突。然而,由于交易僅需部分組織背書,某些交易可能需要多輪背書。具體而言,當(dāng)交易提交至三個(gè)組織時(shí),兩個(gè)組織的背書節(jié)點(diǎn)可能因缺少全部交易信息而對(duì)該交易進(jìn)行背書。但第三個(gè)組織中的背書節(jié)點(diǎn)由于擁有全部交易信息,若識(shí)別該筆交易與之前交易存在交易依賴,則調(diào)整其背書順序。隨著DAG的更新,第三個(gè)組織中的背書節(jié)點(diǎn)基于最新賬本狀態(tài)對(duì)該筆交易重新背書,但可能與前兩個(gè)背書節(jié)點(diǎn)的背書結(jié)果不一致,導(dǎo)致交易需要重新背書。因此, k=3 和 k=4 時(shí),系統(tǒng)有效交易吞吐量出現(xiàn)下降。

    當(dāng) k=5 時(shí),每個(gè)組織中的背書節(jié)點(diǎn)都擁有來自客戶端的全部交易信息,避免了部分交易需多次背書的情況。相比 k= 4時(shí),有效交易吞吐量提高了 17.01% 。

    圖14不同背書策略下系統(tǒng)有效交易吞吐量Fig.14Effective transaction throughput under varying endorsement policies
    圖15不同背書策略下無效交易產(chǎn)生數(shù)量
    圖16不同背書策略下平均有效交易時(shí)延Fig.16Averagelatency of valid transactions under varying endorsement policies

    4結(jié)束語

    本文對(duì)HyperledgerFabric中交易并發(fā)沖突產(chǎn)生的原因進(jìn)行了分析,并提出一種無須修改現(xiàn)有系統(tǒng)架構(gòu)的沖突消除機(jī)制FabricIMD。該機(jī)制在背書節(jié)點(diǎn)處引入,通過融合映射與DAG,對(duì)交易間依賴關(guān)系進(jìn)行識(shí)別,并使用DAG對(duì)此關(guān)系進(jìn)行構(gòu)建,以調(diào)整交易背書順序,從而使無依賴關(guān)系的交易并發(fā)執(zhí)行,存在依賴的交易等待后續(xù)處理。引入此機(jī)制顯著提升了系統(tǒng)性能,相比無此機(jī)制時(shí),有效交易吞吐量的增幅最高提升至96.08% ,同時(shí)顯著降低了無效交易的數(shù)量。此外,本文還探討了不同背書策略下該機(jī)制的性能表現(xiàn)。分析表明,無論采用何種背書策略,引人該機(jī)制均能有效提升有效交易吞吐量,減少無效交易。當(dāng)背書策略要求超過組織數(shù)量的 60% 需對(duì)交易進(jìn)行背書時(shí),引入FabricIMD機(jī)制可完全消除因交易沖突導(dǎo)致的無效交易。在后續(xù)工作中,筆者計(jì)劃針對(duì)多樣化的交易場景,進(jìn)一步驗(yàn)證FabricIMD機(jī)制的優(yōu)勢(shì)和局限性,并進(jìn)行優(yōu)化,例如采用圖形數(shù)據(jù)庫來構(gòu)建DAG,以此減少對(duì)系統(tǒng)內(nèi)存的占用并保證數(shù)據(jù)的訪問速度,或者采用動(dòng)態(tài)識(shí)別DAG規(guī)模的方法,當(dāng)其達(dá)到設(shè)定的閾值后對(duì)后續(xù)識(shí)別到依賴關(guān)系的交易拒絕背書,待DAG的規(guī)模隨著不斷的更新減小后再重新對(duì)交易進(jìn)行FabricIMD機(jī)制處理。此外,還將深入分析該機(jī)制在不同網(wǎng)絡(luò)規(guī)模下的有效性和適用性。

    參考文獻(xiàn):

    [1]Nakamoto S.Bitcoin:a peer-to-peer electronic cash system[EB/OL]. (2008-10-31)[2024-10-31].https://bitcoin.org/bitcoin.pdf.

    [2]MollahMB,ZhaoJun,NiyatoD,etal.Blockchain for future smart grid:a comprehensive survey[J]. IEEE Internet of Things Journal, 2021,8(1):18-43.

    [3]包俊,張新有,馮力,等.一種基于區(qū)塊鏈的車聯(lián)網(wǎng)安全認(rèn)證協(xié)議 [J].計(jì)算機(jī)應(yīng)用研究,2023,40(10):2908-2915,2921.(Bao Jun,ZhangXinyou,F(xiàn)engLi,etal.Securityauthenticationprotocol for Internet ofVehiclesbased onblockchain[J].ApplicationResearch ofComputers,2023,40(10) :2908-2915,2921.)

    [4]Li Lang,Huang Dongyan,Zhang Chengyao.An eficient DAG blockchain architecture for IoT[J]. IEEE Internet of Things Journal, 2022,10(2) :1286-1296.

    [5]Fan Wenhao,Hao Zhibo,Tang Bihua,et al. Resource matching for blockchain-assted edge computing networks[J]. IEEE Internet of Things Jourmal,2024,11(8):14460-14471.

    [6]Androulaki E,Barger A,Bortnikov V,et al. Hyperledger Fabric :a distributed operating system for permissioned blockchains[C]//Proc of the13th EuroSys Conference.New York:ACM Press,2018:1-15.

    [7]馬超群,姚錚,盧新國,等.Hyperledger Fabric 分布式賬本技術(shù)原 理與應(yīng)用[M].北京:科學(xué)出版社,2022.(MaChaoqun,Yao Zheng,Lu Xinguo,etal.Hyperledger Fabric: principlesandapplications of distributed ledger technology[M]. Beijing: China Science Publishing amp; Media Ltd.,2022.)

    [8]Sharma A,Schuhknecht FM,Agrawal D,et al. Bluring the lines between blockchains and database systems:the case of Hyperledger Fabric[C]//Proc of International Conference on Management of Data. New York:ACM Press,2019:105-122.

    [9]Zhang Shenbin,Zhou Ence,Pi Bingfeng,et al. A solution for the risk ofnon-deterministic transactionsinHyperledgerFabric[C]//Proc of IEEE International Conference on Blockchain and Cryptocurrency. Piscataway,NJ: IEEE Press,2019:253-261.

    [10]王盛姣,董建亮,熊航,等.基于緩存機(jī)制的 Hyperledger Fabric 并 發(fā)沖突檢測(cè)方法[J].信息技術(shù)與網(wǎng)絡(luò)安全,2022,41(6):94-101, 108.(Wang Shengjiao,Dong Jianliang,Xiong Hang,etal. Hyperledger Fabric concurrency conflict detection method based on caching mechanism[J].Information Technology and Network Security,2022,41(6) :94-101,108.)

    [11]Xu Lu,Chen Wei,Li Zhixu,et al. Solutions for concurrency conflict problem on Hyperledger Fabric[J].World Wide Web,2021,24 (1):463-482.

    [12] Xu Xiaoqiong,Wang Xiaonan,Li Zonghang,et al. Mitigatingconflicting transactions in Hyperledger Fabric-permissoned blockchain for delay-sensitive IoT applications[J]. IEEE Internet of Things Journal,2021,8(13) :10596-10607.

    [13]吳海博,劉輝,孫毅,等.一種面向聯(lián)盟鏈 Hyperledger Fabric 的并 發(fā)沖突事務(wù)優(yōu)化方法[J].計(jì)算機(jī)研究與發(fā)展,2024,61(8):2110- 2126.(Wu Haibo,Liu Hui,Sun Yi,et al.A concurrent conflict transaction optimization method for consortium blockchain Hyperledger Fabric[J].Journal of Computer Research and Development, 2024,61(8):2110-2126.)

    [14]Gorenflo C,Golab L,Keshav S.XOX Fabric:a hybrid approach to blockchain transaction execution[C]//Proc of IEEE International Conference on Blockchain and Cryptocurrency.Piscataway,NJ:IEEE Press,2020:1-9.

    [15]Nasirifard P,Mayer R,Jacobsen HA.FabricCRDT:a conflict-free replicated datatypes approach to permissioned blockchains[C]//Proc of the0thInteatioalidlewareConerec.NeYork:Cres, 2019:110-122.

    [16]李輝忠,李陳希,李昊軒,等.FISCO BCOS 技術(shù)應(yīng)用實(shí)踐[J].信 息通信技術(shù)與政策,2020,46(1):52-60.(Li Huizhong,Li Chenxi,Li Haoxuan,et al.An overview on practice of FISCO BCOS technology and application[J]. Information and Communications Technology and Policy,2020,46(1):52-60.)

    [17]王行行,鄧浩,丘志杰,等.基于沖突檢測(cè)的區(qū)塊鏈交易執(zhí)行方法: 中國,CN202210718485.2[P]. 2022-10-11.(Wang Hanghang,Deng Hao,Qiu Zhijie,et al.Blockchain transaction execution method based on conflict detection:China,CN202210718485.2[P].2022-10-11.)

    [18]Hyperledger.Hyperledger Fabric documentation[EB/OL].[2024-10- 31]. ttps ://hyperledger-fabric. readthedocs.io/en/release-2.5.

    [19]Go Authors. zipf. go[EB/OL].[2024-10-31]. htps://github.com/ golang/go/blob/master/src/math/rand/zipf. go? name release#37 .

    猜你喜歡
    頂點(diǎn)排序客戶端
    遠(yuǎn)程嵌入式系統(tǒng)實(shí)驗(yàn)室設(shè)計(jì)
    常規(guī)求解二次函數(shù)解析式的不同技巧例析
    ”數(shù)對(duì)”病例分析
    初中數(shù)學(xué)二次函數(shù)解題方法探究
    從“客戶端”到“大平臺(tái)”
    從主流到頂流 繪就正能量高質(zhì)量大流量新畫卷
    點(diǎn)亮“中國—中亞精神” 致力永久睦鄰友好
    人民周刊(2025年13期)2025-08-06 00:00:00
    排序不等式
    恐怖排序
    節(jié)日排序
    亚洲成人久久性| 18禁裸乳无遮挡免费网站照片| 国产一区二区在线av高清观看| 国产国拍精品亚洲av在线观看| 日本黄大片高清| 国语自产精品视频在线第100页| 中文字幕精品亚洲无线码一区| 亚洲最大成人手机在线| 人妻少妇偷人精品九色| 国产美女午夜福利| 久久久国产成人精品二区| 久久国产精品人妻蜜桃| 免费人成在线观看视频色| 欧美绝顶高潮抽搐喷水| 国产一级毛片七仙女欲春2| 亚洲专区中文字幕在线| 亚洲精品亚洲一区二区| 悠悠久久av| 最好的美女福利视频网| 18禁黄网站禁片免费观看直播| 精品人妻1区二区| 日本色播在线视频| 99热网站在线观看| 露出奶头的视频| 亚洲国产欧美人成| av视频在线观看入口| 午夜精品在线福利| 欧美xxxx性猛交bbbb| 欧美3d第一页| 麻豆av噜噜一区二区三区| 久久久久久久久久久丰满 | 淫妇啪啪啪对白视频| av在线亚洲专区| 婷婷精品国产亚洲av| 两人在一起打扑克的视频| 一区二区三区免费毛片| 国产精品久久久久久久久免| 天堂av国产一区二区熟女人妻| 亚洲中文字幕日韩| 少妇被粗大猛烈的视频| 亚洲av日韩精品久久久久久密| 中亚洲国语对白在线视频| 国产视频内射| 高清在线国产一区| 黄色配什么色好看| 国产精品综合久久久久久久免费| 精品国产三级普通话版| 乱人视频在线观看| 亚洲欧美清纯卡通| 亚洲avbb在线观看| 日日摸夜夜添夜夜添av毛片 | 长腿黑丝高跟| av在线天堂中文字幕| 黄色视频,在线免费观看| 最近中文字幕高清免费大全6 | 99久久成人亚洲精品观看| 欧美最黄视频在线播放免费| 看免费成人av毛片| 麻豆成人av在线观看| 国产三级中文精品| 久久精品夜夜夜夜夜久久蜜豆| 哪里可以看免费的av片| 日韩强制内射视频| 久久午夜福利片| 午夜激情欧美在线| 99久久成人亚洲精品观看| 国产探花在线观看一区二区| 久久精品国产亚洲av涩爱 | 尤物成人国产欧美一区二区三区| 午夜精品一区二区三区免费看| 99热精品在线国产| 天堂网av新在线| 波多野结衣巨乳人妻| 亚洲av二区三区四区| 国产一区二区三区视频了| 亚洲精品日韩av片在线观看| 国产精品三级大全| 美女高潮的动态| 国产精品亚洲美女久久久| 亚洲成人中文字幕在线播放| 亚洲av熟女| 日韩欧美在线二视频| 麻豆成人av在线观看| 国产精品国产三级国产av玫瑰| 亚洲av免费高清在线观看| 免费在线观看日本一区| 最好的美女福利视频网| 男女之事视频高清在线观看| 国产精品永久免费网站| 国产高清不卡午夜福利| 亚洲精品粉嫩美女一区| 欧美丝袜亚洲另类 | 亚洲欧美日韩卡通动漫| 色av中文字幕| 麻豆成人av在线观看| 久久久久久久久久黄片| 99精品久久久久人妻精品| 小蜜桃在线观看免费完整版高清| 搡老岳熟女国产| 亚洲av熟女| 国产一区二区在线观看日韩| 一区二区三区免费毛片| 国产伦精品一区二区三区四那| 日韩人妻高清精品专区| 嫩草影院新地址| 欧美极品一区二区三区四区| 久久香蕉精品热| 美女高潮喷水抽搐中文字幕| 久久精品国产亚洲网站| 老司机深夜福利视频在线观看| 免费看a级黄色片| а√天堂www在线а√下载| 国产v大片淫在线免费观看| 国产免费男女视频| 久久久午夜欧美精品| 五月伊人婷婷丁香| 久久久国产成人免费| 最近在线观看免费完整版| aaaaa片日本免费| 又爽又黄a免费视频| 日韩在线高清观看一区二区三区 | av国产免费在线观看| 日韩强制内射视频| 麻豆成人午夜福利视频| 别揉我奶头 嗯啊视频| 人人妻人人看人人澡| 色哟哟哟哟哟哟| a级毛片免费高清观看在线播放| 啦啦啦啦在线视频资源| 亚洲电影在线观看av| 精品久久久久久久久av| aaaaa片日本免费| 欧美日韩瑟瑟在线播放| 欧美精品国产亚洲| 蜜桃亚洲精品一区二区三区| 国产精品久久久久久久电影| 俄罗斯特黄特色一大片| 国产又黄又爽又无遮挡在线| av在线观看视频网站免费| 欧美激情在线99| 午夜久久久久精精品| 国产高潮美女av| 嫩草影院精品99| 色av中文字幕| 国产一级毛片七仙女欲春2| a级毛片a级免费在线| 如何舔出高潮| 三级男女做爰猛烈吃奶摸视频| 少妇的逼好多水| 久久精品国产亚洲网站| 一区二区三区激情视频| 国产伦人伦偷精品视频| 亚洲欧美日韩高清在线视频| 五月伊人婷婷丁香| 国产成人aa在线观看| 一个人看视频在线观看www免费| 国产免费av片在线观看野外av| 99在线视频只有这里精品首页| 18+在线观看网站| 精品久久久久久久久亚洲 | 亚洲专区中文字幕在线| 中国美女看黄片| a级一级毛片免费在线观看| 深夜a级毛片| 一区二区三区免费毛片| 成人永久免费在线观看视频| 99久久精品热视频| 麻豆精品久久久久久蜜桃| 老熟妇乱子伦视频在线观看| 久久人人爽人人爽人人片va| 校园春色视频在线观看| 老熟妇仑乱视频hdxx| 国产黄色小视频在线观看| 99热这里只有精品一区| 此物有八面人人有两片| 国产伦人伦偷精品视频| 亚洲av不卡在线观看| .国产精品久久| 国内揄拍国产精品人妻在线| 亚洲黑人精品在线| 久久久久久久久中文| 精品久久久久久久久亚洲 | 亚洲成人精品中文字幕电影| 日本欧美国产在线视频| 国产成人一区二区在线| 十八禁网站免费在线| 久久精品国产99精品国产亚洲性色| 一级黄色大片毛片| a级毛片a级免费在线| 日本在线视频免费播放| 欧美日本亚洲视频在线播放| 国内精品宾馆在线| 国产黄片美女视频| 亚洲性夜色夜夜综合| 日本三级黄在线观看| 一进一出抽搐gif免费好疼| 男女之事视频高清在线观看| 天堂av国产一区二区熟女人妻| 男女下面进入的视频免费午夜| 国产淫片久久久久久久久| 日韩欧美 国产精品| 一个人免费在线观看电影| 国产在视频线在精品| 1000部很黄的大片| 国产精品久久视频播放| 国产伦一二天堂av在线观看| 国产一区二区在线av高清观看| 校园春色视频在线观看| 国产三级在线视频| 免费观看的影片在线观看| 伦精品一区二区三区| 深夜精品福利| 欧美3d第一页| 亚洲 国产 在线| 日本 欧美在线| 久久久久久久久中文| 他把我摸到了高潮在线观看| 欧美丝袜亚洲另类 | 精品无人区乱码1区二区| av天堂中文字幕网| 观看美女的网站| 久久久久久久亚洲中文字幕| 成人国产麻豆网| 午夜激情福利司机影院| 在线观看66精品国产| 久久人人爽人人爽人人片va| 乱码一卡2卡4卡精品| 午夜福利18| 免费观看的影片在线观看| 欧美绝顶高潮抽搐喷水| or卡值多少钱| 国产精品电影一区二区三区| 久久中文看片网| 美女高潮的动态| 身体一侧抽搐| 久久久久国内视频| 成人国产综合亚洲| 免费大片18禁| 赤兔流量卡办理| 国产精品久久久久久精品电影| 少妇人妻精品综合一区二区 | 国产在视频线在精品| 欧美日本亚洲视频在线播放| 狂野欧美白嫩少妇大欣赏| 欧美区成人在线视频| 日韩欧美免费精品| 国产精品人妻久久久久久| 日日撸夜夜添| 精品久久久久久成人av| 国产午夜精品久久久久久一区二区三区 | 波野结衣二区三区在线| 日日干狠狠操夜夜爽| 国产av麻豆久久久久久久| 99久久精品热视频| 中文字幕免费在线视频6| 中文字幕av成人在线电影| 18禁裸乳无遮挡免费网站照片| 91狼人影院| 国产亚洲91精品色在线| 欧美成人免费av一区二区三区| av福利片在线观看| 日韩欧美一区二区三区在线观看| 3wmmmm亚洲av在线观看| 最近视频中文字幕2019在线8| 国产真实乱freesex| 可以在线观看毛片的网站| 男女啪啪激烈高潮av片| 久久久久久大精品| 婷婷丁香在线五月| 国产精品人妻久久久久久| 日韩欧美精品v在线| 一区二区三区四区激情视频 | 国产精品三级大全| 在线免费观看不下载黄p国产 | 校园人妻丝袜中文字幕| 亚洲av电影不卡..在线观看| 麻豆成人av在线观看| 国产国拍精品亚洲av在线观看| 99热6这里只有精品| 欧美最新免费一区二区三区| 欧美日韩中文字幕国产精品一区二区三区| 干丝袜人妻中文字幕| 国产精品98久久久久久宅男小说| 国产一区二区三区在线臀色熟女| 欧美另类亚洲清纯唯美| 色综合婷婷激情| 国产不卡一卡二| 男人和女人高潮做爰伦理| 国产伦在线观看视频一区| 亚洲乱码一区二区免费版| 免费人成视频x8x8入口观看| 精品久久久噜噜| 亚洲乱码一区二区免费版| 亚洲四区av| 欧美激情国产日韩精品一区| 欧美精品国产亚洲| 亚洲人成网站在线播| 嫩草影视91久久| 精品免费久久久久久久清纯| 精品人妻一区二区三区麻豆 | 在线天堂最新版资源| 久久久久久国产a免费观看| 久久久国产成人精品二区| 国产成人一区二区在线| 久久精品久久久久久噜噜老黄 | 免费黄网站久久成人精品| 国产熟女欧美一区二区| 床上黄色一级片| 亚洲欧美激情综合另类| .国产精品久久| 男女边吃奶边做爰视频| 性欧美人与动物交配| 国产老妇女一区| 露出奶头的视频| 日本三级黄在线观看| 国产爱豆传媒在线观看| 两个人视频免费观看高清| 国产成人a区在线观看| 男人舔奶头视频| 欧美激情在线99| 成人综合一区亚洲| 美女免费视频网站| 欧美色视频一区免费| 欧美精品啪啪一区二区三区| 哪里可以看免费的av片| 成熟少妇高潮喷水视频| 久久精品国产自在天天线| 成年免费大片在线观看| 午夜福利18| 久久精品国产亚洲网站| 2021天堂中文幕一二区在线观| 热99re8久久精品国产| 人妻夜夜爽99麻豆av| 99久久精品国产国产毛片| 麻豆成人av在线观看| 欧美黑人巨大hd| 少妇熟女aⅴ在线视频| 99九九线精品视频在线观看视频| 在线观看舔阴道视频| 欧美日韩中文字幕国产精品一区二区三区| 麻豆一二三区av精品| 免费高清视频大片| 99久久精品一区二区三区| 国产亚洲91精品色在线| av专区在线播放| 长腿黑丝高跟| 免费一级毛片在线播放高清视频| 久久精品综合一区二区三区| 中出人妻视频一区二区| 美女免费视频网站| 亚洲久久久久久中文字幕| eeuss影院久久| 亚洲精品456在线播放app | 亚洲美女搞黄在线观看 | 欧美zozozo另类| 国产精品乱码一区二三区的特点| 亚洲av熟女| 欧美日韩瑟瑟在线播放| 欧美成人a在线观看| 又黄又爽又免费观看的视频| 天天躁日日操中文字幕| 黄色日韩在线| a在线观看视频网站| 99视频精品全部免费 在线| 亚洲五月天丁香| 亚洲av五月六月丁香网| 午夜福利在线观看吧| 波野结衣二区三区在线| 春色校园在线视频观看| 我的老师免费观看完整版| 精品欧美国产一区二区三| 亚洲电影在线观看av| 亚洲四区av| 色哟哟哟哟哟哟| 99在线视频只有这里精品首页| 免费在线观看影片大全网站| 午夜激情福利司机影院| 2021天堂中文幕一二区在线观| 色视频www国产| 最好的美女福利视频网| 特大巨黑吊av在线直播| 黄色女人牲交| 男女那种视频在线观看| 国产成人福利小说| 亚洲中文日韩欧美视频| 88av欧美| 国产久久久一区二区三区| 欧美高清成人免费视频www| 久久久久久久久久久丰满 | 亚洲成人免费电影在线观看| 亚洲精品国产成人久久av| 日本在线视频免费播放| 国产午夜精品久久久久久一区二区三区 | 亚洲成av人片在线播放无| www.色视频.com| 久久99热6这里只有精品| 国产极品精品免费视频能看的| 最近中文字幕高清免费大全6 | 日本五十路高清| 国产欧美日韩一区二区精品| 欧美不卡视频在线免费观看| 有码 亚洲区| 别揉我奶头 嗯啊视频| 99国产极品粉嫩在线观看| 男人的好看免费观看在线视频| 欧美人与善性xxx| 长腿黑丝高跟| 亚洲精品乱码久久久v下载方式| 午夜福利在线在线| 国产亚洲精品久久久com| 国内精品一区二区在线观看| 国产一区二区在线av高清观看| 亚洲人成网站高清观看| 精品一区二区免费观看| 成年女人毛片免费观看观看9| 国产乱人伦免费视频| 日日夜夜操网爽| 少妇人妻一区二区三区视频| 国模一区二区三区四区视频| 亚洲午夜理论影院| 国内揄拍国产精品人妻在线| 非洲黑人性xxxx精品又粗又长| 欧美区成人在线视频| 欧美日韩乱码在线| 国产欧美日韩精品一区二区| 97人妻精品一区二区三区麻豆| 能在线免费观看的黄片| 小说图片视频综合网站| 超碰av人人做人人爽久久| 啦啦啦观看免费观看视频高清| www.色视频.com| 国产精品久久久久久久久免| 91久久精品电影网| 亚洲精华国产精华精| 亚洲性久久影院| 少妇的逼好多水| 国产大屁股一区二区在线视频| 3wmmmm亚洲av在线观看| 97超级碰碰碰精品色视频在线观看| 国产一级毛片七仙女欲春2| 日韩欧美精品免费久久| 白带黄色成豆腐渣| 久久九九热精品免费| 一区二区三区高清视频在线| 成人鲁丝片一二三区免费| 日韩精品有码人妻一区| 午夜精品一区二区三区免费看| 成人特级av手机在线观看| 尾随美女入室| 亚洲黑人精品在线| 色哟哟哟哟哟哟| 免费在线观看成人毛片| 午夜福利欧美成人| 久久国产精品人妻蜜桃| 国国产精品蜜臀av免费| 欧美绝顶高潮抽搐喷水| 俺也久久电影网| 在线观看av片永久免费下载| 91麻豆av在线| 国产精品国产三级国产av玫瑰| 午夜老司机福利剧场| 永久网站在线| 夜夜夜夜夜久久久久| 在线观看一区二区三区| 黄色欧美视频在线观看| 超碰av人人做人人爽久久| 国产精品98久久久久久宅男小说| 麻豆成人午夜福利视频| 亚洲精品日韩av片在线观看| 国产综合懂色| 噜噜噜噜噜久久久久久91| 成人高潮视频无遮挡免费网站| 18禁裸乳无遮挡免费网站照片| ponron亚洲| 欧美3d第一页| 我的女老师完整版在线观看| 日韩欧美在线乱码| 欧美黑人巨大hd| 国产免费一级a男人的天堂| 久久99热6这里只有精品| 久久这里只有精品中国| 国产欧美日韩精品一区二区| 两个人视频免费观看高清| 国产精品久久久久久久电影| 免费在线观看成人毛片| 黄色女人牲交| 成人精品一区二区免费| 男女视频在线观看网站免费| 1000部很黄的大片| 中出人妻视频一区二区| 亚洲自偷自拍三级| 欧美+日韩+精品| 性色avwww在线观看| 国内少妇人妻偷人精品xxx网站| 91精品国产九色| 97超视频在线观看视频| netflix在线观看网站| 亚洲aⅴ乱码一区二区在线播放| 亚洲中文字幕一区二区三区有码在线看| x7x7x7水蜜桃| 久久婷婷人人爽人人干人人爱| 日日夜夜操网爽| 亚洲七黄色美女视频| 999久久久精品免费观看国产| 韩国av在线不卡| 99久久精品热视频| 中文字幕av在线有码专区| 色播亚洲综合网| 身体一侧抽搐| 亚洲欧美精品综合久久99| 免费不卡的大黄色大毛片视频在线观看 | 久久精品国产99精品国产亚洲性色| 久久精品国产清高在天天线| 在线国产一区二区在线| 毛片一级片免费看久久久久 | 成人无遮挡网站| 国内少妇人妻偷人精品xxx网站| 欧美成人免费av一区二区三区| 国产高清视频在线观看网站| 特级一级黄色大片| 国产亚洲av嫩草精品影院| 国产精品福利在线免费观看| 别揉我奶头~嗯~啊~动态视频| 婷婷精品国产亚洲av在线| 免费黄网站久久成人精品| 变态另类丝袜制服| 国产精品国产高清国产av| 在线免费十八禁| 欧美bdsm另类| 99久久精品一区二区三区| 欧美在线一区亚洲| 人妻夜夜爽99麻豆av| 91麻豆av在线| 亚洲精品粉嫩美女一区| 欧美日韩瑟瑟在线播放| 成人性生交大片免费视频hd| 一a级毛片在线观看| 亚洲三级黄色毛片| 欧美在线一区亚洲| 成人国产一区最新在线观看| 日韩欧美在线二视频| 成人特级av手机在线观看| av天堂中文字幕网| xxxwww97欧美| 国产私拍福利视频在线观看| 亚洲,欧美,日韩| 亚洲av免费高清在线观看| 97人妻精品一区二区三区麻豆| 成人综合一区亚洲| 亚洲aⅴ乱码一区二区在线播放| 国产精品综合久久久久久久免费| 亚洲美女搞黄在线观看 | 很黄的视频免费| 丰满的人妻完整版| netflix在线观看网站| 高清毛片免费观看视频网站| 国产精品无大码| 亚洲欧美日韩高清在线视频| 久久6这里有精品| 精品人妻偷拍中文字幕| 国产av一区在线观看免费| 国产黄a三级三级三级人| 久久久久国产精品人妻aⅴ院| 熟女人妻精品中文字幕| 日韩欧美一区二区三区在线观看| 日日摸夜夜添夜夜添av毛片 | 人人妻人人澡欧美一区二区| 国产精品一区二区免费欧美| 天美传媒精品一区二区| 成人毛片a级毛片在线播放| 日韩欧美在线二视频| 噜噜噜噜噜久久久久久91| 在线天堂最新版资源| 91精品国产九色| 精品久久国产蜜桃| 欧美最新免费一区二区三区| 麻豆av噜噜一区二区三区| 亚洲熟妇中文字幕五十中出| 免费无遮挡裸体视频| 国产成人av教育| 他把我摸到了高潮在线观看| 欧美人与善性xxx| 在线免费十八禁| 精品一区二区免费观看| 国产伦一二天堂av在线观看| 麻豆成人午夜福利视频| 久久99热这里只有精品18| 在线国产一区二区在线| 国产亚洲精品久久久com| 久久精品国产自在天天线| 中文字幕高清在线视频| 国产精华一区二区三区| 欧美日韩精品成人综合77777| 精品久久久久久久人妻蜜臀av| 成人无遮挡网站| 少妇人妻一区二区三区视频| 国产伦精品一区二区三区四那| 在线观看午夜福利视频| 日韩欧美精品v在线| 99久久精品一区二区三区| 99riav亚洲国产免费| 精品人妻视频免费看| 欧美最黄视频在线播放免费| 欧美成人一区二区免费高清观看| 国产三级在线视频| 成人一区二区视频在线观看| 亚洲精品久久国产高清桃花| 深夜a级毛片| 麻豆一二三区av精品| 男人的好看免费观看在线视频| 黄片wwwwww| 欧美日本视频| 日韩亚洲欧美综合| 日本 av在线| 国产成人一区二区在线|