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

    基于Fabric 的海量交易數(shù)據(jù)上鏈預(yù)處理機(jī)制

    2024-01-18 13:56:52劉穎馬玉鵬趙凡王軼蔣同海
    計算機(jī)工程 2024年1期
    關(guān)鍵詞:排序

    劉穎,馬玉鵬,趙凡,王軼,蔣同海

    (1.中國科學(xué)院新疆理化技術(shù)研究所,新疆烏魯木齊 830011;2.中國科學(xué)院大學(xué),北京 100049;3.新疆民族語音語言信息處理實驗室,新疆烏魯 木齊 830011)

    0 引言

    區(qū)塊鏈作為一種分布式賬本,集成了P2P 網(wǎng)絡(luò)、密碼學(xué)、分布式共識協(xié)議、智能合約、數(shù)據(jù)庫和虛擬機(jī)等技術(shù),具有去中心化、防篡改、可追溯、可共享、可信驗證和隱私保護(hù)等特點[1]。由于企業(yè)對不同應(yīng)用場景的信任需求有所差異,使得區(qū)塊鏈需要權(quán)衡去中心化、一致性和擴(kuò)展性之間的關(guān)系[2]。目前,由于聯(lián)盟鏈在隱私保護(hù)、訪問控制等方面的優(yōu)勢,更適合多參與方數(shù)據(jù)交互的需求[3],因此被應(yīng)用于供應(yīng)鏈、數(shù)據(jù)共享等領(lǐng)域,其中由IBM 開發(fā)的Hyperledger Fabric 是當(dāng)前廣泛使用的聯(lián)盟鏈框架[4]。RAUCHS 等[5]研究表明,48%的聯(lián)盟鏈項目都是基于Fabric 平臺實現(xiàn)。因此,F(xiàn)abric 在學(xué)術(shù)和工業(yè)上都具有較高的研究價值。

    由于聯(lián)盟鏈基于共識的網(wǎng)絡(luò)環(huán)境[6],智能合約的運行必須是確定性程序,在每筆交易和區(qū)塊處理后,所有節(jié)點都要達(dá)到相同的狀態(tài)[7]。聯(lián)盟鏈不允許不確定因素進(jìn)入網(wǎng)絡(luò),導(dǎo)致智能合約僅限于從區(qū)塊鏈網(wǎng)絡(luò)內(nèi)部訪問數(shù)據(jù),與第三方業(yè)務(wù)系統(tǒng)之間無法實現(xiàn)安全的數(shù)據(jù)交互,對不同企業(yè)或組織間的數(shù)據(jù)共享造成了阻礙。針對該問題,研究者引入了預(yù)言機(jī),其負(fù)責(zé)從外界獲取數(shù)據(jù)并對數(shù)據(jù)進(jìn)行驗證和預(yù)處理,相當(dāng)于在聯(lián)盟鏈和外部世界之間形成安全通道,避免破壞鏈內(nèi)數(shù)據(jù)的安全性[8],預(yù)言機(jī)工作場景多為價格預(yù)測、IoT 等領(lǐng)域。但是,當(dāng)預(yù)言機(jī)授權(quán)多個機(jī)構(gòu)協(xié)同管理數(shù)據(jù)上鏈操作時,其數(shù)據(jù)更新周期較短、規(guī)模較大且存在并發(fā)沖突問題,即同一時間段內(nèi)修改大量相同主鍵的交易數(shù)據(jù)。針對預(yù)言機(jī)獲取鏈外海量交易數(shù)據(jù)上鏈存在并發(fā)沖突的情況,F(xiàn)abric 系統(tǒng)采用多版本并發(fā)控制(MVCC)機(jī)制解決該問題,通過快速讀取交易數(shù)據(jù)版本來提高讀取效率和并發(fā)性,導(dǎo)致大量并發(fā)沖突的交易數(shù)據(jù)被延遲發(fā)現(xiàn)并標(biāo)記為無效。研究[9]表明,F(xiàn)abric 處理并發(fā)交易數(shù)據(jù)時,成功率不足25%。目前改進(jìn)方法有Fabric++[9]、StreamChain[10]和FabricSharp[11],但仍不能完全解決沖突交易數(shù)據(jù)上鏈問題,且占用大量Fabric 系統(tǒng)計算和存儲資源。XU 等[12]提出LMLS算法,通過在Fabric 系統(tǒng)內(nèi)對沖突交易數(shù)據(jù)的主鍵改為復(fù)合鍵的方式,在一定程度上解決了并發(fā)沖突問題,但其更改了賬本數(shù)據(jù)庫中業(yè)務(wù)的關(guān)聯(lián)性,影響歷史狀態(tài)數(shù)據(jù)庫信息,同時解碼復(fù)合鍵又增加Fabric的資源消耗,不適合實際業(yè)務(wù)場景應(yīng)用。因此,合理解決并發(fā)沖突問題并提高交易成功率成為亟待解決的問題。

    本文自主研發(fā)了Fabric 預(yù)言機(jī)作為測試平臺。在預(yù)言機(jī)中設(shè)計了海量數(shù)據(jù)預(yù)處理(MCPP)方法,通過實時監(jiān)聽沖突交易數(shù)據(jù)在聯(lián)盟鏈中的上鏈完成度,減少高爭用對Fabric 造成的工作負(fù)載,提高了數(shù)據(jù)傳輸過程中Fabric 處理事務(wù)的高效性和安全性。

    1 相關(guān)工作

    1.1 預(yù)言機(jī)

    預(yù)言機(jī)概念最早由圖靈提出,在計算機(jī)復(fù)雜理論與可計算理論中,用來研究圖靈機(jī)系統(tǒng)內(nèi)確定性問題的黑盒子。區(qū)塊鏈領(lǐng)域借鑒了圖靈所提出的概念,將向區(qū)塊鏈提供確定性信息的人、硬件或軟件統(tǒng)稱為預(yù)言機(jī)[13]。預(yù)言機(jī)在獲取外部數(shù)據(jù)源的選取機(jī)制方面已經(jīng)取得一定研究成果。SATA 等[14]在以太坊中提出一種人工智能與預(yù)言機(jī)相結(jié)合的機(jī)制。ADLER 等[15]提出一種基于投票博弈的預(yù)言機(jī),解決獲取命題真假的問題。CAI 等[16]提出一種基于非線性鎖定規(guī)則,通過預(yù)測評分方案來選取結(jié)果。SOBER 等[17]和NELATURU 等[18]提出一種基于閾值簽名的投票預(yù)言機(jī),通過參與者的投票情況來選取結(jié)果。MERLINI 等[19]提出一種預(yù)言機(jī)協(xié)議,解決配對問題中選民的懶惰均衡問題。

    上述研究在預(yù)言機(jī)選取數(shù)據(jù)源上取得了進(jìn)展,主要貢獻(xiàn)為獎懲機(jī)制、投票機(jī)制及信譽(yù)機(jī)制等,但局限于特定領(lǐng)域采取針對性措施來解決問題,并未考慮預(yù)言機(jī)獲取海量交易數(shù)據(jù)后,接入聯(lián)盟鏈的服務(wù)質(zhì)量問題。

    為了保證數(shù)據(jù)獲取的可用性、準(zhǔn)確性和安全性,研究者們在預(yù)言機(jī)功能擴(kuò)展方面進(jìn)行了研究。GAO等[20]在預(yù)言機(jī)中增加選擇存儲功能,提高區(qū)塊鏈獲取數(shù)據(jù)的速度。WANG 等[21]提出一種對多源數(shù)據(jù)的提取和分析方法。ZHANG 等[22]提出一種數(shù)據(jù)聚合方案,對預(yù)言機(jī)獲取的數(shù)據(jù)加強(qiáng)了隱私保護(hù)。WANG 等[23]提出一種可擴(kuò)展的安全分析框架,在攻擊發(fā)生之前檢測漏洞。KUMAR 等[24]提出一種處理金融數(shù)據(jù)的方法。

    綜上所述,預(yù)言機(jī)的擴(kuò)展功能發(fā)展至今,實現(xiàn)了對外部數(shù)據(jù)源的存儲、分析、聚合及檢測等方法,但預(yù)言機(jī)在獲取的海量交易數(shù)據(jù)存在并發(fā)沖突問題時,并未考慮不同規(guī)模數(shù)據(jù)對Fabric 網(wǎng)絡(luò)環(huán)境及服務(wù)質(zhì)量的影響,缺少鏈上實際應(yīng)用的運行與測試。

    1.2 并發(fā)沖突

    目前,在學(xué)術(shù)界與工業(yè)界中已有很多針對Fabric并發(fā)沖突交易數(shù)據(jù)上鏈的研究。GOEL 等[25]提出一種基于優(yōu)先級的事務(wù)驗證模型,用于支持交易的差異化服務(wù)質(zhì)量。GORENFLO 等[26]通過提高交易吞吐量更改Fabric 架構(gòu),減少交易排序和驗證期間的計算和I/O 開銷。RUAN 等[11]提出一種增強(qiáng)執(zhí)行交易驗證架構(gòu)的方法,通過生成沖突圖并對其進(jìn)行序列化減少無效交易。THAKKAR 等[27]通過對背書階段的改進(jìn),將狀態(tài)數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)改為哈希表來提高吞吐量。SHARMA 等[28]提出用數(shù)據(jù)庫技術(shù)對事務(wù)重新排序和早期中止,以提高Fabric 性能,但沒有討論背書失敗和虛讀問題。SOUSA 等[29]通過在Fabric 中實現(xiàn)BFT-SMART 共識協(xié)議來提高吞吐量。RAMAN 等[30]提出一種有損壓縮的方式來降低背書和驗證階段的通信成本,但這種方法只適用于對有損壓縮不敏感的大型數(shù)據(jù)集存儲的場景。NASIRIFARD 等[31]提出用無沖突復(fù)制數(shù)據(jù)類型(CRDT)的概念來解決沖突,但該方法只適用于CRDT 建模的用例。

    綜上所述,現(xiàn)有方法通過提高吞吐量來減少交易失敗數(shù)據(jù)數(shù)量,同時注重延遲的影響,即通過優(yōu)化Fabric 中MVCC 機(jī)制,解決了沖突交易失敗的問題,而在實際應(yīng)用場景中,通過犧牲Fabric 系統(tǒng)計算和存儲資源來解決并發(fā)沖突問題會降低Fabric 性能。因此,本文提出一種基于Fabric 預(yù)言機(jī)的數(shù)據(jù)上鏈預(yù)處理機(jī)制,將數(shù)據(jù)獲取和沖突檢測方法相結(jié)合,通過提前發(fā)現(xiàn)并對沖突交易數(shù)據(jù)進(jìn)行預(yù)處理,保證海量交易數(shù)據(jù)完整上鏈。

    2 基礎(chǔ)知識

    2.1 Fabric 中EOV 技術(shù)流程

    Fabric 平臺作為最具代表性的聯(lián)盟鏈,通過多個組織的聯(lián)盟組成網(wǎng)絡(luò),并且為了提高系統(tǒng)并發(fā)能力,組織節(jié)點之間并發(fā)處理交易。Fabric 的MVCC 機(jī)制在處理并發(fā)沖突時會出現(xiàn)交易延遲中止現(xiàn)象,即在執(zhí)行階段就已經(jīng)違反驗證標(biāo)準(zhǔn)的交易直到驗證階段才被會發(fā)現(xiàn),降低了系統(tǒng)性能。Fabric 的交易處理流程遵循EOV 三階段原則,具體如下:

    1)執(zhí)行階段??蛻舳讼虮硶?jié)點發(fā)送交易請求,背書節(jié)點在本地獨立地驗證每一筆交易,然后將帶有驗證結(jié)果的交易返回給客戶端。

    2)排序階段??蛻舳耸紫葘Ⅱ炞C結(jié)果發(fā)送給排序節(jié)點并建立全局順序,然后排序節(jié)點將交易結(jié)果按順序打包成規(guī)定交易數(shù)量的區(qū)塊,最后發(fā)送給驗證節(jié)點。

    3)驗證階段。驗證節(jié)點獨立串行化驗證塊中的每筆交易,根據(jù)驗證系統(tǒng)鏈碼(VSCC)機(jī)制驗證交易是否遵循背書策略以及根據(jù)MVCC 機(jī)制驗證每個讀寫集密鑰的版本是否與當(dāng)前世界狀態(tài)中密鑰的版本相同。

    Fabric 聯(lián)盟鏈作為典型的分布式系統(tǒng),各節(jié)點在網(wǎng)絡(luò)中獨立部署和維護(hù)賬本,利用Gossip 通信實現(xiàn)狀態(tài)同步。根據(jù)分布式系統(tǒng)中的CAP 定理的原則,不能同時兼顧一致性、可用性、分區(qū)容錯性三要素。Fabric 在保證一致性和分區(qū)容錯性的前提下無法確保一致性,因此Fabric 直到驗證階段,通過節(jié)點共識和驗證來確保所有節(jié)點中世界狀態(tài)數(shù)據(jù)庫的最終一致性。Fabric 為滿足一致性原則,在高并發(fā)情況下,所有交易數(shù)據(jù)都執(zhí)行EOV 流程,受到鏈碼邏輯復(fù)雜度、數(shù)據(jù)訪問頻率、排序算法效率、服務(wù)規(guī)模、背書策略的復(fù)雜度等因素產(chǎn)生的訪問延遲的影響,使其驗證階段的平均時延增加,主要原因為當(dāng)前區(qū)塊校驗為順序串行執(zhí)行,無法充分利用多核資源。因此,在同一出塊時間內(nèi),相同主鍵的交易數(shù)據(jù)只有一條驗證成功,并且直到驗證結(jié)束才會被發(fā)現(xiàn),失敗交易數(shù)據(jù)需重復(fù)執(zhí)行EOV 流程才能完成成功上鏈操作。在文獻(xiàn)[32]中開展了改變節(jié)點數(shù)量分析EOV 流程對Fabric 性能影響的實驗,實驗結(jié)果表明,當(dāng)Peer 節(jié)點數(shù)量從1 增加到4 時,吞吐量僅增加了1.5 倍,而CPU 占用率增加了4 倍。這是由于每個Peer 節(jié)點都對塊中交易執(zhí)行驗證流程而產(chǎn)生組織內(nèi)的冗余工作。在EOV 流程中,只有驗證階段符合背書策略的交易才能實現(xiàn)負(fù)載平衡,因此高并發(fā)場景下會降低CPU 利用率。由于驗證階段進(jìn)行多個簽名驗證和對磁盤的同步輸入輸出操作,成本高于執(zhí)行階段,因此吞吐量的增量并不顯著:當(dāng)超過每個組織4 個Peer 節(jié)點后,吞吐量沒有增加;當(dāng)Peer 節(jié)點不變,CPU 數(shù)量從1 增加到16 時,吞吐量增加了5.5 倍,而CPU 利用率降低了55%。這是由于當(dāng)CPU 較少時,執(zhí)行階段與驗證階段對CPU 的爭奪導(dǎo)致其利用率較高。當(dāng)CPU 數(shù)量增加時,驗證階段可利用多個CPU 并行處理事務(wù)從而提高吞吐量。此外,驗證階段提交的交易可能存在在執(zhí)行階段更改世界狀態(tài)數(shù)據(jù)庫的情況,導(dǎo)致驗證階段讀取過時數(shù)據(jù)狀態(tài)。

    綜上所述,通過添加Peer 節(jié)點來擴(kuò)展Fabric 網(wǎng)絡(luò)可以幫助減少執(zhí)行階段的工作負(fù)載,但對驗證和提交階段沒有太大幫助。此外,通過增加CPU 數(shù)量提升性能并增加額外基礎(chǔ)設(shè)施成本是不合理的。當(dāng)多個組織協(xié)同工作時,組織內(nèi)的冗余工作會增加,為了提高效率和降低成本,海量數(shù)據(jù)沖突預(yù)處理通過鏈下提前檢測沖突交易數(shù)據(jù)并對其重排序,利用分區(qū)歸并的思路,提升EOV 流程中驗證階段的一致性吞吐量,減少無效交易數(shù)據(jù)在執(zhí)行、排序和驗證階段對CPU 的占用率和無效時延,避免了失敗交易數(shù)據(jù)重復(fù)執(zhí)行EOV 流程,為Fabric 在海量交易場景下獲得了更高的成功率。

    2.2 并發(fā)沖突原理

    為了更加直觀地理解Fabric 中MVCC 機(jī)制處理沖突的原理和細(xì)節(jié),通過圖1 進(jìn)行詳細(xì)說明。

    圖1 Fabric 沖突處理原理Fig.1 Principle of handling conflicts in Fabric

    首先,客戶端在同一時間段內(nèi),分別發(fā)送兩條交易提案Tx1 和Tx2,且主鍵修改相同??蛻舳烁鶕?jù)背書策略將Tx1 和Tx2 打包發(fā)送給背書節(jié)點,通過驗證數(shù)字簽名來確定節(jié)點是否有權(quán)限執(zhí)行該交易,驗證通過后模擬智能合約,將結(jié)果返回給客戶端。接著,客戶端依次驗證節(jié)點身份并對比返回的結(jié)果是否一致,當(dāng)結(jié)果一致時將提案結(jié)果和之前的交易提案一起打包成交易并簽名,反饋給排序節(jié)點,否則中止處理。然后,排序節(jié)點將接收到的交易進(jìn)行簽名驗證并按照共識策略排序,根據(jù)區(qū)塊生成策略將Tx1 和Tx2 打包生成新的區(qū)塊。最后,排序節(jié)點把這些區(qū)塊發(fā)送給記賬節(jié)點并對塊中每筆交易進(jìn)行狀態(tài)校驗。Tx1 率先驗證,驗證成功后將結(jié)果寫入世界狀態(tài)數(shù)據(jù)庫,密鑰版本也隨之更新。當(dāng)Tx2 到達(dá)驗證階段時,檢測到與Tx2 背書時的結(jié)果不同,導(dǎo)致Tx2 被標(biāo)記為無效。Fabric 在執(zhí)行排序之前模擬了事務(wù)所需運行的智能合約,影響了事務(wù)之間的序列化沖突交易數(shù)據(jù)的數(shù)量,使交易執(zhí)行與交易提交分開處理,導(dǎo)致違反背書原則的交易直到驗證結(jié)束才被發(fā)現(xiàn),如果想要全部交易數(shù)據(jù)成功上鏈,需要再次推送失敗交易重新執(zhí)行EOV 流程,增加了高爭用給Fabric 帶來的工作負(fù)載,降低了數(shù)據(jù)傳輸過程中并發(fā)沖突交易數(shù)據(jù)的成功率。因此,本文提出的數(shù)據(jù)上鏈預(yù)處理機(jī)制在EOV 流程執(zhí)行前檢測出沖突交易,避免無效交易占用系統(tǒng)資源,提高了Fabric 性能。

    3 數(shù)據(jù)上鏈預(yù)處理機(jī)制

    3.1 整體架構(gòu)

    本節(jié)提出一種基于預(yù)言機(jī)的數(shù)據(jù)上鏈預(yù)處理機(jī)制,整體架構(gòu)由三部分組成,分別為外部組織、預(yù)言機(jī)和Fabric,如圖2 所示??蛻舳俗鳛橥獠拷M織,負(fù)責(zé)提供可信的數(shù)據(jù)源。預(yù)言機(jī)作為第三方服務(wù),負(fù)責(zé)接收外部組織和區(qū)塊鏈的數(shù)據(jù)交互請求,為Fabric提供安全可用的交易數(shù)據(jù)。預(yù)言機(jī)作為連接真實世界和Fabric 聯(lián)盟鏈的接口,將外部數(shù)據(jù)傳輸至聯(lián)盟鏈內(nèi)和將鏈內(nèi)數(shù)據(jù)發(fā)送給外部組織,具體功能包括:事件處理負(fù)責(zé)對數(shù)據(jù)過濾聚合,留痕服務(wù)保障交易數(shù)據(jù)的行為可追溯,訂閱推送實現(xiàn)了自動化調(diào)用智能合約等。Fabric 聯(lián)盟鏈內(nèi)3 個節(jié)點部署了聯(lián)盟鏈智能合約和用于與預(yù)言機(jī)進(jìn)行數(shù)據(jù)交互的智能合約,每個節(jié)點都要監(jiān)聽和執(zhí)行網(wǎng)絡(luò)中發(fā)生的事務(wù)。

    圖2 整體架構(gòu)Fig.2 Overall architecture

    預(yù)言機(jī)作為Fabric 與外部世界進(jìn)行數(shù)據(jù)互操作傳輸?shù)幕A(chǔ),為聯(lián)盟鏈與外部組織之間實現(xiàn)多種模式的數(shù)據(jù)交互提供了安全基礎(chǔ),主要集成了兩種數(shù)據(jù)傳輸機(jī)制,分別為輸入式預(yù)言機(jī)和輸出式預(yù)言機(jī),是區(qū)別于聯(lián)盟鏈的第三方服務(wù),由權(quán)限管理、事件處理、留痕服務(wù)、訂閱推送和MCPP 這五部分協(xié)同組成。權(quán)限管理模塊負(fù)責(zé)對外部組織身份調(diào)用智能合約的權(quán)限進(jìn)行驗證,以保障數(shù)據(jù)源可信和安全;事件處理模塊負(fù)責(zé)將預(yù)言機(jī)獲取的數(shù)據(jù)進(jìn)行過濾、聚合等整合操作;留痕服務(wù)保證數(shù)據(jù)傳輸行為的可追溯性;訂閱推薦即自定義訂閱推送器,用戶通過設(shè)置參數(shù),獲取鏈上數(shù)據(jù)周期,定時調(diào)用智能合約讀取鏈上數(shù)據(jù),實現(xiàn)主動推送的輸出式預(yù)言機(jī)功能;MCPP 解決了海量上鏈交易數(shù)據(jù)中的并發(fā)沖突情況。

    3.2 海量數(shù)據(jù)沖突預(yù)處理方法

    在大量應(yīng)用場景下有海量交易數(shù)據(jù)上鏈的需求,但Fabric 中MVCC 機(jī)制會使沖突交易延遲發(fā)現(xiàn)并被標(biāo)記為無效,為減少無效交易占用Fabric 系統(tǒng)計算和存儲資源,解決上鏈?zhǔn)聞?wù)在進(jìn)入EOV 流程前可能觸發(fā)Fabric 中MVCC 機(jī)制的沖突問題,基于預(yù)言機(jī)提出一種基于加鎖和重排序的方法,將沖突交易數(shù)據(jù)按批次延遲處理,并將其緩存于預(yù)言機(jī)隊列中,從而確保交易數(shù)據(jù)總量的完整性和同主鍵交易數(shù)據(jù)的序列化一致性,以提高Fabric 處理沖突交易數(shù)據(jù)的成功率。

    MCPP 通過檢測、監(jiān)聽、延時提交、事務(wù)加鎖和重排序緩存方法實現(xiàn)塊內(nèi)沖突交易數(shù)據(jù)數(shù)量的最小化。該方法解決海量交易數(shù)據(jù)上鏈中存在并發(fā)沖突現(xiàn)象的交易流程如圖3 所示。預(yù)言機(jī)獲取海量交易數(shù)據(jù)后,判斷交易主鍵是否加鎖,即是否為正在執(zhí)行的交易,如果加鎖則對其序列化重排序加入緩存,否則對該主鍵加鎖再檢測下一條可執(zhí)行交易,當(dāng)可執(zhí)行交易滿足批量打包交易數(shù)量時,推送至Fabric 中監(jiān)聽上鏈完成度,監(jiān)聽到上鏈成功后對加鎖主鍵解鎖。循環(huán)訪問緩存內(nèi)不同主鍵的無沖突交易執(zhí)行上鏈操作,直到緩存內(nèi)交易為空。

    圖3 MCPP 沖突處理流程Fig.3 Procedure of MCPP for handling conflicts

    3.2.1 加鎖機(jī)制及交易延時提交

    在本文所涉及的交易數(shù)據(jù)形式化定義中,T為交易,P為背書節(jié)點,KW為修改交易的主鍵,VW為修改交易的值,Ei為需要上鏈交易的寫集合,u為Ei中包含的KW主鍵數(shù)量,ci為Ei主鍵需要修改的次數(shù),將每個交易主鍵成功交易的次數(shù)記為N。當(dāng)交易總數(shù)一定時,KW越多,每條KW對應(yīng)的交易沖突數(shù)越少,反之,KW越少,并發(fā)沖突的數(shù)據(jù)越多。當(dāng)預(yù)言機(jī)獲取外部組織發(fā)送的數(shù)據(jù)集Ei后,由于每筆交易在Fabric的EOV 流程中并行獨立模擬,驗證階段會更新本地狀態(tài)數(shù)據(jù)庫,如果短時間內(nèi)發(fā)起多筆同主鍵交易,可能導(dǎo)致世界狀態(tài)數(shù)據(jù)庫瞬時變化,因此直到驗證階段才發(fā)現(xiàn)背書響應(yīng)中的讀寫集不匹配的無效交易,即如果交易Ti中的和交易Tj中的相等,則存在并發(fā)沖突,計算方法如下:

    在重排序階段前,針對同一出塊時間內(nèi),如果相同主鍵的交易數(shù)據(jù)更新到同一個塊的賬本中,則會出現(xiàn)新交易正在讀取的數(shù)據(jù)版本號被執(zhí)行階段的交易更新的現(xiàn)象,導(dǎo)致新交易讀取了無效數(shù)據(jù)版本號,從而上鏈?zhǔn)?。通過在交易數(shù)據(jù)進(jìn)入排序階段前,將當(dāng)前事務(wù)要更新的主鍵執(zhí)行加鎖并對該交易啟動監(jiān)聽操作,將鎖定階段出現(xiàn)的同主鍵交易緩存在預(yù)言機(jī)內(nèi)存中。當(dāng)前交易在執(zhí)行和驗證階段需要一段時間間隔,防止其他沖突交易讀取錯誤數(shù)據(jù)狀態(tài)版本號。為了保障對符合要求的主鍵交易加鎖的準(zhǔn)確性,使用Semaphore 設(shè)置同主鍵交易中只允許一個許可的二元信號量方法。加鎖和解鎖過程調(diào)用AQS框架的共享模式鎖,其主要特點是不會出現(xiàn)阻塞線程的現(xiàn)象,只須判斷當(dāng)前值與預(yù)期值是否相等即可。如圖4 所示,設(shè)定每個塊內(nèi)最大交易數(shù)據(jù)的值為n,當(dāng)n=10 時,在加鎖機(jī)制中索引交易主鍵的最大值即為10。通過循環(huán)塊內(nèi)事務(wù)得到5 條無沖突交易數(shù)據(jù),對其依次加鎖后執(zhí)行上鏈操作,當(dāng)檢索到同主鍵交易時,則加入重排序機(jī)制的待處理階段,防止這些沖突交易占用系統(tǒng)資源。

    圖4 主鍵加鎖原理Fig.4 Primary key locking principle

    3.2.2 重排序緩存

    當(dāng)同一區(qū)塊中包含多筆交易時,前一筆交易在后一筆交易前提交并更改了數(shù)據(jù)狀態(tài)的版本號,導(dǎo)致后一筆交易在執(zhí)行階段讀取了舊版本的數(shù)據(jù),則這樣的交易數(shù)據(jù)構(gòu)成了依賴關(guān)系,存在并發(fā)沖突現(xiàn)象。在面臨高并發(fā)沖突情況時,F(xiàn)abric 系統(tǒng)中的EOV 流程效率較低的根本原因是大量沖突交易在驗證階段耗時長且直到驗證結(jié)束才被發(fā)現(xiàn)。本文在預(yù)言機(jī)中提出的MCPP 對交易數(shù)據(jù)集Ei中檢測到的沖突交易進(jìn)行序列化重排序緩存,確保相同主鍵的數(shù)據(jù)以非沖突的全局序列化順序提交至鏈上。在預(yù)言機(jī)中提前檢測到并發(fā)沖突交易,有效預(yù)防沖突交易進(jìn)入Fabric 排序階段生成在同一塊內(nèi),減少多次執(zhí)行失敗交易的次數(shù),且MCPP 在不影響同一主鍵串行執(zhí)行順序的情況下,以最佳全局順序?qū)崿F(xiàn)重排序。排序后的交易以鍵值對的形式存儲在預(yù)言機(jī)緩存中,沖突的交易數(shù)據(jù)以序列化方式延時提交上鏈。當(dāng)緩存內(nèi)交易上鏈成功后及時刪除交易數(shù)據(jù)信息,避免重復(fù)上鏈操作。

    如圖5 所示,假設(shè)在同一出塊時間內(nèi)發(fā)起6 筆交易,其中第1、2、3 筆交易和第4、5、6 筆交易存在兩組并發(fā)沖突現(xiàn)象。當(dāng)T1 到達(dá)時,由于K1 第1 次出現(xiàn),滿足待上鏈交易要求,根據(jù)依賴關(guān)系,T2、T3 沖突交易進(jìn)入重排序沖突交易緩存中。同理,在與主鍵K2相關(guān)的T4、T5、T6 交易中,T4 為無沖突交易且可直接上鏈,T5、T6 進(jìn)入重排序沖突交易緩存中且待上鏈。在重排序緩存中,建立同主鍵索引循環(huán),防止多個沖突交易上鏈后再次觸發(fā)MVCC 機(jī)制,通過循環(huán)索引重排序緩存中不同主鍵的無沖突交易數(shù)據(jù),對其執(zhí)行上鏈操作,并在成功上鏈后刪除緩存中該筆交易記錄。綜上分析,該重排序緩存方法只需對所有待上鏈交易數(shù)據(jù)執(zhí)行單次遍歷,利用線性規(guī)模的緩存空間對無沖突交易和待排序沖突交易進(jìn)行預(yù)處理,并分批執(zhí)行上鏈操作,因此該算法的時間復(fù)雜度和空間復(fù)雜度均為O(n),其中,n為交易數(shù)據(jù)總量,表明了該算法在處理大規(guī)模海量沖突交易數(shù)據(jù)時具有良好的擴(kuò)展性。

    圖5 依賴關(guān)系圖Fig.5 Dependency graph

    本文研究了重排序緩存方法對基于Fabric 的海量交易數(shù)據(jù)上鏈預(yù)處理機(jī)制的整體實時性的影響,通常用延遲時間作為衡量標(biāo)準(zhǔn)。重排序緩存方法通過對沖突交易預(yù)處理并循環(huán)上鏈無沖突主鍵的交易數(shù)據(jù),減少無效交易進(jìn)入EOV 流程,提高了交易處理效率和吞吐量。通過分析重排序緩存方法的時間復(fù)雜度可知,對整體流程的實時性影響主要取決于同主鍵沖突交易數(shù)據(jù)的數(shù)量、系統(tǒng)特性等因素。當(dāng)沖突交易較多時,重排序緩存方法通過有效降低鏈碼執(zhí)行、交易排序、驗證等環(huán)節(jié)的訪問延遲,從而提高海量交易數(shù)據(jù)整體上鏈的實時性能。

    通過序列化重排序緩存機(jī)制,在驗證階段發(fā)生前使用重排序方式識別無效交易,并且在不影響相同主鍵序列化順序的前提下,所有交易僅執(zhí)行一次EOV 流程就實現(xiàn)成功上鏈,使Fabric 系統(tǒng)中上鏈成功的有效事務(wù)數(shù)量顯著增加,減少了不必要的EOV流程對Fabric 的資源消耗。

    3.2.3 核心算法描述

    算法1 給出了MCPP 的沖突檢測與解決方法,該算法將檢測到的沖突交易數(shù)據(jù)緩存在預(yù)言機(jī)中待處理,防止主鍵相同的交易觸發(fā)MVCC 機(jī)制導(dǎo)致交易失敗的問題,實現(xiàn)了相同主鍵的交易在Fabric 內(nèi)的執(zhí)行順序為串行序列化,保障了同主鍵交易發(fā)起順序不被改變。

    算法1MCPP 算法

    3.3 數(shù)據(jù)傳輸保障措施

    盡管聯(lián)盟鏈技術(shù)受到關(guān)注和推廣,但目前并未被全面應(yīng)用于各個領(lǐng)域,大部分構(gòu)想仍處于測試階段,并且聯(lián)盟鏈技術(shù)中的共識機(jī)制限制了其吞吐量和實時效率,導(dǎo)致大部分有價值信息仍存儲在鏈外世界。如果不同外部組織或機(jī)構(gòu)能夠有效利用聯(lián)盟鏈技術(shù)協(xié)同管理系統(tǒng),合理利用鏈內(nèi)與鏈外數(shù)據(jù),增強(qiáng)多領(lǐng)域信息交互并擴(kuò)大資源共享范圍,則將有利于構(gòu)建相互融合的價值生態(tài)。因此,如何在不影響聯(lián)盟鏈系統(tǒng)特點的前提下,使外部組織安全合理地調(diào)用鏈碼從而實現(xiàn)數(shù)據(jù)傳輸成為亟待解決的問題。本文改進(jìn)了文獻(xiàn)[33]的數(shù)據(jù)遷移機(jī)制,通過綜合考慮外部組織行為的信任度和當(dāng)前鏈內(nèi)環(huán)境的安全性,對外部組織的身份增加了規(guī)范的權(quán)限認(rèn)證,限制了外部組織調(diào)用智能合約的身份。同時,在預(yù)言機(jī)中設(shè)計不同節(jié)點間使用非對稱加密技術(shù)建立密鑰,保障數(shù)據(jù)傳輸過程中的安全性和完整性。

    3.3.1 外部組織權(quán)限驗證

    評估和驗證外部組織行為的信任度指聯(lián)盟鏈網(wǎng)絡(luò)中外部組織與其他機(jī)構(gòu)或企業(yè)進(jìn)行數(shù)據(jù)互操作行為的真實性、合法性和有效性。身份認(rèn)證要確保參與者身份可信、數(shù)據(jù)訪問受限、接口調(diào)用受控,數(shù)據(jù)交互要確保數(shù)據(jù)的一致性和可追溯性。對外部組織信任度研究有助于提高Fabric 網(wǎng)絡(luò)的安全性、互操作性和可擴(kuò)展性,促進(jìn)了聯(lián)盟鏈與其他領(lǐng)域的融合和創(chuàng)新。因此,本文通過AES 算法來加密令牌,當(dāng)外部組織調(diào)用預(yù)言機(jī)拉取或推送數(shù)據(jù)時,需要攜帶預(yù)言機(jī)發(fā)放的令牌,以確保外部組織的行為經(jīng)過預(yù)言機(jī)授權(quán),實現(xiàn)了外部組織對Fabric 中鏈碼調(diào)用行為的合法性限制。預(yù)言機(jī)驗證令牌通過后處理外部組織的業(yè)務(wù)請求。

    3.3.2 數(shù)據(jù)傳輸安全性保障

    為了保證數(shù)據(jù)傳輸過程的安全性,通過RSA非對稱算法來加密外部組織與預(yù)言機(jī)之間的通信數(shù)據(jù),預(yù)言機(jī)和外部組織分別擁有一對密鑰。當(dāng)聯(lián)盟鏈請求預(yù)言機(jī)獲取可信外部組織的數(shù)據(jù)時,聯(lián)盟鏈向預(yù)言機(jī)發(fā)送外部數(shù)據(jù)上鏈請求,通過預(yù)言機(jī)的公鑰對傳輸?shù)臄?shù)據(jù)加密,預(yù)言機(jī)收到數(shù)據(jù)后,使用本地保存的私鑰進(jìn)行解密數(shù)據(jù)內(nèi)容,利用TLS 技術(shù)產(chǎn)生的密鑰加密執(zhí)行上鏈操作。當(dāng)通過預(yù)言機(jī)將聯(lián)盟鏈內(nèi)數(shù)據(jù)輸出給可信外部組織時,預(yù)言機(jī)調(diào)用智能合約讀取數(shù)據(jù)后,使用外部組織的公鑰加密數(shù)據(jù),當(dāng)外部組織收到數(shù)據(jù)后,使用本地保存的私鑰進(jìn)行解密操作,保證了數(shù)據(jù)傳輸過程的安全性。

    同時,為了保障數(shù)據(jù)傳輸過程中鏈內(nèi)環(huán)境安全,在設(shè)計數(shù)據(jù)傳輸保障措施的過程中,主要從以下3 個方面進(jìn)行考量:1)在聯(lián)盟鏈內(nèi)部實施身份認(rèn)證和權(quán)限控制機(jī)制,確保每個外部組織通過預(yù)言機(jī)與Fabric 進(jìn)行數(shù)據(jù)交互時,都具有合法的數(shù)字證書和訪問權(quán)限,從而防范偽造、冒充和篡改等惡意行為;2)在聯(lián)盟鏈中編寫和執(zhí)行安全的鏈碼,確保智能合約能夠正確安全地調(diào)用預(yù)言機(jī)中的數(shù)據(jù),從而避免智能合約的漏洞問題;3)在聯(lián)盟鏈內(nèi)部對其行為進(jìn)行監(jiān)督和審計,確保交易的可驗證性和可追溯性。因此,在數(shù)據(jù)交互過程中,不僅需要平衡數(shù)據(jù)隱私和業(yè)務(wù)效率,而且需要考慮鏈內(nèi)不同層次和角度的安全措施。

    如圖6 所示,以輸入式預(yù)言機(jī)為例,詳細(xì)解釋在數(shù)據(jù)傳輸過程中如何保證數(shù)據(jù)上鏈過程的完整性和安全性。在準(zhǔn)備階段,預(yù)言機(jī)利用AES 算法將權(quán)限令牌的ID 加密后分發(fā)給不同的外部組織,用來設(shè)定外部組織調(diào)用聯(lián)盟鏈內(nèi)鏈碼的合法權(quán)限,預(yù)言機(jī)和外部組織之間利用RSA 產(chǎn)生一對密鑰,用來保證數(shù)據(jù)傳輸過程的安全性和完整性。在執(zhí)行過程中:首先聯(lián)盟鏈向預(yù)言機(jī)發(fā)起數(shù)據(jù)請求命令,預(yù)言機(jī)將請求發(fā)送給外部組織,外部組織通過公鑰PK1 將事先發(fā)放的權(quán)限令牌和數(shù)據(jù)加密發(fā)送給預(yù)言機(jī);然后預(yù)言機(jī)通過自身私鑰PR1 解密令牌和數(shù)據(jù),再利用AES 解密令牌id 驗證外部組織身份是否合法,在驗證通過后,聯(lián)盟鏈和預(yù)言機(jī)之間通過TLS 產(chǎn)生的通信密鑰PK2 將數(shù)據(jù)加密傳遞給聯(lián)盟鏈;最后聯(lián)盟鏈利用PR2 進(jìn)行解密,F(xiàn)abric 獲取數(shù)據(jù)并完成上鏈操作。

    圖6 數(shù)據(jù)傳輸保障措施Fig.6 Data transmission guarantee measure

    4 實驗與結(jié)果分析

    4.1 環(huán)境設(shè)置

    為了驗證研究方案的可行性、安全性和高效性,通過實驗?zāi)M了海量交易數(shù)據(jù)上鏈的場景,將原始Fabric 系統(tǒng)處理的海量交易數(shù)據(jù)與基于Fabric 預(yù)言機(jī)獲取的海量交易數(shù)據(jù)進(jìn)行比較。設(shè)計并實現(xiàn)MCPP 并測試了3 組實驗,對預(yù)言機(jī)在短時間內(nèi)處理海量交易數(shù)據(jù)的有效性進(jìn)行全面分析。由于目前在聯(lián)盟鏈領(lǐng)域沒有權(quán)威的數(shù)據(jù)集作為參考,因此實驗通過數(shù)據(jù)生成器生成交易集合,在該集合中每條數(shù)據(jù)代表一條交易,每筆交易以鍵值對的形式存儲。實驗環(huán)境所使用的服務(wù)器配置與Fabric 網(wǎng)絡(luò)配置如表1 所示。

    表1 服務(wù)器與Fabric 網(wǎng)絡(luò)配置Table 1 Server and Fabric network configuration

    實驗評價指標(biāo)為:1)總時間,表示處理所有交易數(shù)據(jù)的時間成本;2)交易成功率,表示成功寫入賬本的交易與所有交易數(shù)據(jù)的比例;3)交易到達(dá)率,表示單位時間內(nèi)成功寫入賬本的交易數(shù)據(jù)量。

    4.2 MCPP 對Fabric 性能的影響

    為了驗證數(shù)據(jù)上鏈預(yù)處理機(jī)制在沒有并發(fā)沖突場景下對整體性能的影響,設(shè)定交易數(shù)據(jù)總量為5 000~20 000,該數(shù)據(jù)集中所有交易數(shù)據(jù)的主鍵都不同,即短時間內(nèi)沒有相同的交易修改同一筆數(shù)據(jù),不存在并發(fā)沖突。

    如圖7 所示,測試兩種方法處理不同交易數(shù)量的時延情況,分別為Fabric 中MVCC 方法直接處理交易和使用MCPP 處理交易的時延。實驗結(jié)果表明,在沒有并發(fā)沖突的情況下,兩種方法隨著交易總數(shù)的增加,MCPP 與MVCC 的時延相差不多。盡管MCPP 增加了檢測沖突交易的流程,但沒有沖突交易存在時系統(tǒng)不會增加額外開銷,與Fabric 系統(tǒng)中MVCC 方法處理交易時所需的時間相比效率沒有明顯降低。因此,MCPP 適用于沒有并發(fā)沖突的海量交易數(shù)據(jù)場景。

    圖7 不同交易數(shù)據(jù)總量的時延對比Fig.7 Comparison of delay of total amount of different transaction data

    4.3 海量交易數(shù)據(jù)大規(guī)模和常規(guī)沖突

    為了更好地模擬高并發(fā)實例中,在海量交易數(shù)據(jù)中用戶主題較少的場景,即同一時間段內(nèi)出現(xiàn)大量的交易數(shù)據(jù)對相同主鍵進(jìn)行修改操作的情況。對不同的交易到達(dá)率進(jìn)行實驗,即每秒從客戶端發(fā)送的事務(wù)總數(shù)分別為50、250、500 和1 000,大規(guī)模交易數(shù)據(jù)總量為20 000,涉及的交易主鍵數(shù)量K分別為250、500、1 000 和2 000,每個主鍵中交易數(shù)據(jù)量分布相對均勻。

    如圖8 所示,交易中主鍵數(shù)量越多,即同一時間段內(nèi)需要修改的相同主鍵的交易數(shù)量越少,兩種方法處理交易的總時間相對越多。由于K越大所產(chǎn)生的沖突交易數(shù)量越少,導(dǎo)致同主鍵沖突交易所占用塊內(nèi)空間減少,為避免觸發(fā)MVCC 機(jī)制,沖突交易分在不同塊內(nèi)上鏈,因此當(dāng)K越大時,MCPP 機(jī)制為解決沖突交易數(shù)據(jù)成功上鏈,耗時相較于Fabric 中的MVCC方法增多。通過分析得出,MCPP 的實際時間與Fabric處理交易數(shù)據(jù)的時間有關(guān),形式化定義如下:

    圖8 不同交易到達(dá)率下總時延和交易成功率對比Fig.8 Comparison of total delay and transaction success rate under different transaction arrival rates

    其中:Tb為出塊時間;BTx為塊內(nèi)最大交易數(shù)據(jù)量;Tm為MCPP 處理交易時延;Tf為Fabric 系統(tǒng)處理交易時延。出塊時間誤差來源于預(yù)言機(jī)中其他數(shù)據(jù)處理模塊在處理數(shù)據(jù)時的額外開銷。

    由圖8 可知,隨著交易到達(dá)率的增加,不同K值下MCPP 的交易成功率接近100%,但Fabric 的成功率僅為10%。這表明在大規(guī)模沖突情況下通過預(yù)言機(jī)獲取海量交易數(shù)據(jù)時,無論交易中包含多少主鍵,都可以解決海量沖突數(shù)據(jù)成功上鏈的問題。由圖8中時延曲線可知,MCPP 雖然犧牲了一些時間,但在可接受范圍內(nèi),MVCC 雖然處理了所有交易數(shù)據(jù),但將大部分并發(fā)交易數(shù)據(jù)都被標(biāo)記為無效。因此,在海量交易數(shù)據(jù)高并發(fā)場景下MCPP 性能優(yōu)于MVCC。

    為了更直觀地驗證MCPP 在實際應(yīng)用中解決常規(guī)并發(fā)沖突的有效性,實驗?zāi)M了海量交易數(shù)據(jù)存在常規(guī)沖突情況下兩種方法處理交易的時延情況,即海量交易數(shù)據(jù)中只存在少量沖突交易數(shù)據(jù)。該實驗大規(guī)模交易數(shù)據(jù)總量為20 000,設(shè)計包含不同沖突主鍵數(shù)量的數(shù)據(jù)集,分別為20、50、100 和200,每條主鍵包含的沖突數(shù)據(jù)量為2,沖突交易分布相對均勻。

    如圖9 所示,當(dāng)處理20 000 條交易數(shù)據(jù)且存在少量沖突交易數(shù)據(jù)時,MCPP 處理交易時延與MVCC 平均時延相似。如表2 所示,在MCPP 中沖突交易數(shù)據(jù)全部上鏈成功,MVCC 則將沖突交易數(shù)據(jù)標(biāo)記為無效。這表明MCPP 在處理少量沖突數(shù)據(jù)時沒有降低系統(tǒng)交易效率,成功率接近100%,而Fabric 通過MVCC 方法對沖突交易數(shù)據(jù)處理的上鏈成功率幾乎為0%,即將所有同主鍵沖突交易數(shù)據(jù)標(biāo)記為無效。由于在實驗過程中沖突交易數(shù)據(jù)隨機(jī)分布,當(dāng)帶有沖突的交易主鍵數(shù)量增加時,處理沖突交易數(shù)據(jù)所觸發(fā)的鎖機(jī)制和重排序緩存占用了系統(tǒng)資源,同時網(wǎng)絡(luò)時延產(chǎn)生的不穩(wěn)定性對系統(tǒng)執(zhí)行交易的總時間產(chǎn)生了影響,使得MCPP 在測試過程中的平均時延略高于MVCC,但MCPP 的執(zhí)行時間較為穩(wěn)定,在可接受范圍內(nèi)。

    表2 成功上鏈的交易數(shù)據(jù)對比Table 2 Comparison of successful up-chain transaction data

    圖9 常規(guī)沖突時延分析Fig.9 Delay analysis of conventional conflicts

    4.4 數(shù)據(jù)傳輸保障措施安全性分析

    在實驗環(huán)境下模擬海量數(shù)據(jù)上鏈操作,測試身份認(rèn)證和通信密鑰在協(xié)同工作時數(shù)據(jù)的完整性和安全性。數(shù)據(jù)由誠實設(shè)備生成,在所有交易數(shù)據(jù)有效的前提下,為了保護(hù)數(shù)據(jù)信息的完整性,采用AES和RSA 加密算法對傳輸數(shù)據(jù)加密保護(hù),經(jīng)實驗運算后,當(dāng)惡意節(jié)點偽造認(rèn)證信息攻擊有效信息時,由于無法獲取由預(yù)言機(jī)管理者生成的私鑰,惡意節(jié)點最終無法通過認(rèn)證。此外,當(dāng)預(yù)言機(jī)向聯(lián)盟鏈發(fā)布交易數(shù)據(jù)時,通過TLS 技術(shù)避免了惡意用戶實施攻擊。

    為了進(jìn)一步評估數(shù)據(jù)傳輸保障措施在數(shù)據(jù)傳輸過程中的性能,分別對5 000、10 000、15 000、20 000條的交易數(shù)據(jù)規(guī)模進(jìn)行實驗,并與未采用權(quán)限驗證方法的外部組織進(jìn)行對比分析。由表3 可以看出,通過實驗評估發(fā)現(xiàn),數(shù)據(jù)傳輸保障措施能夠有效地保證交易數(shù)據(jù)在鏈外的處理結(jié)果為完整密文,并且數(shù)據(jù)的一致性和安全性得到保障,同時引入驗證外部組織身份的方法對時延的影響非常小,且在可接受范圍內(nèi),不會影響系統(tǒng)整體性能。

    表3 權(quán)限驗證時延分析Table 3 Delay analysis of permission verification

    4.5 對比實驗

    為了進(jìn)一步驗證MCPP 在檢測沖突交易數(shù)據(jù)時的性能優(yōu)勢,與LMLS[12]在處理不同規(guī)模的交易數(shù)據(jù)下進(jìn)行對比實驗,且每個主鍵中包含的沖突交易數(shù)量分布相對均勻。由圖10 可以看出,當(dāng)交易數(shù)據(jù)規(guī)模達(dá)到1 000 時,MCPP 運行時間比LMLS 縮短了38%,當(dāng)數(shù)據(jù)規(guī)模達(dá)到10 000 時,MCPP 的運行時間縮短了21.4%,因此MCPP 在處理大規(guī)模交易數(shù)據(jù)存在沖突時的性能顯著優(yōu)于LMLS。這是因為LMLS需要占用鏈上的Fabric 系統(tǒng)資源檢測和處理沖突交易數(shù)據(jù),并在EOV 流程中對沖突交易數(shù)據(jù)創(chuàng)建副本緩存,同時改變了沖突交易的存儲方式,導(dǎo)致重復(fù)上鏈沖突交易的時間開銷增加。相比之下,MCPP 無需修改Fabric 中底層代碼,就能實現(xiàn)對沖突交易的檢測和處理,具有較高的可擴(kuò)展性和靈活性,且其優(yōu)勢隨交易數(shù)據(jù)規(guī)模增大更加明顯。此外,MCPP 還增加了對交易數(shù)據(jù)的保障機(jī)制,在保證交易數(shù)據(jù)安全上鏈的同時,不影響系統(tǒng)整體性能。

    圖10 MCPP 與LMLS 運行時間對比Fig.10 Comparison of running time of MCPP and LMLS

    5 結(jié)束語

    本文設(shè)計并實現(xiàn)一種基于Fabric 預(yù)言機(jī)的數(shù)據(jù)上鏈預(yù)處理機(jī)制,在不影響相同主鍵串行執(zhí)行順序的情況下,通過對沖突交易數(shù)據(jù)檢測、監(jiān)聽、延時提交、事務(wù)加鎖、重排序緩存等方式,在EOV 流程開始前檢測出沖突交易數(shù)據(jù),使得多沖突的交易數(shù)據(jù)完整上鏈,提高了不同機(jī)構(gòu)或組織協(xié)同管理交易數(shù)據(jù)的工作效率。實驗結(jié)果表明,在確保交易數(shù)據(jù)有效的基礎(chǔ)上,MCPP 在處理海量交易數(shù)據(jù)執(zhí)行上鏈時,無論上鏈交易數(shù)據(jù)存在大規(guī)模沖突還是常規(guī)沖突的現(xiàn)象,數(shù)據(jù)上鏈預(yù)處理機(jī)制都可以有效提高沖突交易數(shù)據(jù)的成功率,且在處理無并發(fā)沖突的海量交易數(shù)據(jù)時保持高效性,同時在傳輸過程中保障交易數(shù)據(jù)的安全性和完整性。MCPP 通過實驗得到有效驗證后,在中科興疆鏈供應(yīng)鏈管理系統(tǒng)中進(jìn)行實際應(yīng)用,主要運用于工業(yè)互聯(lián)網(wǎng)、司法協(xié)同等數(shù)據(jù)共享管理業(yè)務(wù),在處理復(fù)雜事件時同一時間段內(nèi)推送至鏈上的交易數(shù)據(jù)接近20 000 條。下一步將對比分析不同的聯(lián)盟鏈并結(jié)合預(yù)言機(jī)特點,改進(jìn)適用于不同聯(lián)盟鏈的高性能通用并發(fā)處理技術(shù),加強(qiáng)系統(tǒng)擴(kuò)展性。

    猜你喜歡
    排序
    排排序
    排序不等式
    作者簡介
    名家名作(2021年9期)2021-10-08 01:31:36
    作者簡介
    名家名作(2021年4期)2021-05-12 09:40:02
    恐怖排序
    律句填空排序題的備考策略
    節(jié)日排序
    刻舟求劍
    兒童繪本(2018年5期)2018-04-12 16:45:32
    作者簡介(按文章先后排序)
    名家名作(2017年2期)2017-08-30 01:34:24
    按特定規(guī)律排序
    兒童與健康(2012年1期)2012-04-12 00:00:00
    欧美乱妇无乱码| 亚洲中文字幕一区二区三区有码在线看 | 欧美成人一区二区免费高清观看 | 妹子高潮喷水视频| 男女做爰动态图高潮gif福利片 | 黄片播放在线免费| 777久久人妻少妇嫩草av网站| 国产精品久久久久久亚洲av鲁大| 久久香蕉国产精品| 如日韩欧美国产精品一区二区三区| 99久久综合精品五月天人人| 国产熟女xx| 成人特级黄色片久久久久久久| 午夜福利18| 长腿黑丝高跟| 如日韩欧美国产精品一区二区三区| 久久午夜综合久久蜜桃| 777久久人妻少妇嫩草av网站| 亚洲第一av免费看| cao死你这个sao货| www.精华液| 久久精品国产综合久久久| 免费在线观看影片大全网站| 色综合亚洲欧美另类图片| 久久久精品欧美日韩精品| 国产熟女午夜一区二区三区| 50天的宝宝边吃奶边哭怎么回事| 国产一区二区三区视频了| 国产av一区二区精品久久| 亚洲一码二码三码区别大吗| 久久香蕉激情| 免费在线观看日本一区| 久久精品91蜜桃| 日本 av在线| 国产伦人伦偷精品视频| 色av中文字幕| 免费无遮挡裸体视频| 国产又爽黄色视频| 亚洲一码二码三码区别大吗| 亚洲国产精品久久男人天堂| 亚洲自偷自拍图片 自拍| 欧美+亚洲+日韩+国产| 国产午夜精品久久久久久| 国产精华一区二区三区| 啦啦啦观看免费观看视频高清 | 在线观看免费午夜福利视频| 亚洲色图综合在线观看| 国产一级毛片七仙女欲春2 | 男人的好看免费观看在线视频 | 国产麻豆69| 日日摸夜夜添夜夜添小说| 国产午夜福利久久久久久| 91麻豆精品激情在线观看国产| 亚洲黑人精品在线| 欧美另类亚洲清纯唯美| 黑人巨大精品欧美一区二区mp4| 巨乳人妻的诱惑在线观看| 免费观看人在逋| 日本撒尿小便嘘嘘汇集6| 精品久久久久久久人妻蜜臀av | 国产成人影院久久av| 亚洲男人的天堂狠狠| 咕卡用的链子| 波多野结衣高清无吗| 欧美一级毛片孕妇| 啦啦啦韩国在线观看视频| 久久精品91蜜桃| 日韩欧美三级三区| 一边摸一边抽搐一进一小说| 人妻丰满熟妇av一区二区三区| 在线观看www视频免费| 欧美激情 高清一区二区三区| 国产亚洲av嫩草精品影院| 久久人妻av系列| 成人特级黄色片久久久久久久| 精品乱码久久久久久99久播| 久久久精品国产亚洲av高清涩受| 熟妇人妻久久中文字幕3abv| 午夜福利一区二区在线看| 一级,二级,三级黄色视频| 色尼玛亚洲综合影院| 变态另类成人亚洲欧美熟女 | 一级毛片精品| 久久久国产欧美日韩av| АⅤ资源中文在线天堂| 亚洲人成电影免费在线| 一级毛片高清免费大全| 女人高潮潮喷娇喘18禁视频| 免费观看人在逋| www国产在线视频色| 国产免费男女视频| 精品国产美女av久久久久小说| 欧美在线一区亚洲| 中文字幕色久视频| 欧美激情久久久久久爽电影 | 亚洲欧洲精品一区二区精品久久久| 97人妻天天添夜夜摸| 亚洲片人在线观看| 青草久久国产| 久久久久久久久中文| 婷婷精品国产亚洲av在线| 香蕉丝袜av| 欧美日韩一级在线毛片| 亚洲一卡2卡3卡4卡5卡精品中文| 男人舔女人的私密视频| 国产成人欧美| 激情视频va一区二区三区| 999久久久国产精品视频| 亚洲国产精品999在线| 免费少妇av软件| 深夜精品福利| 一区二区日韩欧美中文字幕| 精品乱码久久久久久99久播| 少妇裸体淫交视频免费看高清 | 精品国产国语对白av| 身体一侧抽搐| 亚洲片人在线观看| 少妇裸体淫交视频免费看高清 | 99久久久亚洲精品蜜臀av| 亚洲视频免费观看视频| or卡值多少钱| 国产成人影院久久av| 中文字幕色久视频| 一级毛片高清免费大全| 身体一侧抽搐| 亚洲熟妇中文字幕五十中出| 亚洲aⅴ乱码一区二区在线播放 | 日韩视频一区二区在线观看| 黄色丝袜av网址大全| 欧美成人午夜精品| 久久久久久国产a免费观看| 亚洲人成伊人成综合网2020| xxx96com| 色婷婷久久久亚洲欧美| 欧美+亚洲+日韩+国产| 午夜福利,免费看| 久久中文字幕人妻熟女| www.www免费av| 老司机午夜福利在线观看视频| 熟妇人妻久久中文字幕3abv| 天天躁狠狠躁夜夜躁狠狠躁| 黑丝袜美女国产一区| 日韩av在线大香蕉| www.精华液| 又紧又爽又黄一区二区| 在线观看免费视频网站a站| 黄频高清免费视频| 可以在线观看的亚洲视频| 性欧美人与动物交配| 久久国产精品人妻蜜桃| 久久精品亚洲熟妇少妇任你| 亚洲精品在线美女| 久久精品aⅴ一区二区三区四区| 丝袜美腿诱惑在线| av在线天堂中文字幕| 中国美女看黄片| 大码成人一级视频| 久久久久久久久中文| 国产精品综合久久久久久久免费 | 欧美在线一区亚洲| 国产成人欧美在线观看| 老司机午夜福利在线观看视频| 一区二区三区国产精品乱码| 不卡一级毛片| 亚洲国产毛片av蜜桃av| 美女高潮喷水抽搐中文字幕| 国产成人精品久久二区二区91| 女警被强在线播放| 人妻久久中文字幕网| 免费无遮挡裸体视频| 午夜a级毛片| 1024香蕉在线观看| 亚洲国产欧美一区二区综合| 精品熟女少妇八av免费久了| 国产亚洲欧美精品永久| 在线播放国产精品三级| 91成年电影在线观看| 日本a在线网址| 国产成人精品无人区| 亚洲伊人色综图| 美女高潮喷水抽搐中文字幕| 久久精品91无色码中文字幕| 亚洲av电影不卡..在线观看| 老司机深夜福利视频在线观看| 女人高潮潮喷娇喘18禁视频| 91成年电影在线观看| 国产极品粉嫩免费观看在线| 亚洲欧美日韩高清在线视频| 在线观看免费视频日本深夜| 久久中文看片网| 一级片免费观看大全| 亚洲精品国产一区二区精华液| 欧美 亚洲 国产 日韩一| 免费少妇av软件| 性色av乱码一区二区三区2| 麻豆av在线久日| 97超级碰碰碰精品色视频在线观看| 国产熟女xx| 91麻豆精品激情在线观看国产| 国产成人一区二区三区免费视频网站| 亚洲三区欧美一区| 99在线人妻在线中文字幕| 久久亚洲真实| 亚洲国产精品久久男人天堂| 久久久久久大精品| 国产免费av片在线观看野外av| 亚洲av电影在线进入| 欧美日韩福利视频一区二区| 一级毛片高清免费大全| 午夜免费成人在线视频| 亚洲狠狠婷婷综合久久图片| 国产97色在线日韩免费| 欧美 亚洲 国产 日韩一| 国产xxxxx性猛交| 高清黄色对白视频在线免费看| 婷婷丁香在线五月| 欧美日韩精品网址| 久久天堂一区二区三区四区| 又大又爽又粗| 级片在线观看| 少妇 在线观看| 1024香蕉在线观看| 亚洲成av人片免费观看| 91老司机精品| 色哟哟哟哟哟哟| 老汉色av国产亚洲站长工具| 可以在线观看的亚洲视频| 亚洲av片天天在线观看| 国产男靠女视频免费网站| 99国产综合亚洲精品| 夜夜夜夜夜久久久久| 免费在线观看视频国产中文字幕亚洲| 天天躁狠狠躁夜夜躁狠狠躁| 国产成人精品无人区| 成人18禁在线播放| 精品不卡国产一区二区三区| 宅男免费午夜| 如日韩欧美国产精品一区二区三区| 怎么达到女性高潮| 国产高清视频在线播放一区| 国产亚洲欧美在线一区二区| 精品国产一区二区久久| 国产成+人综合+亚洲专区| 亚洲国产看品久久| 久久亚洲真实| 欧洲精品卡2卡3卡4卡5卡区| 欧美成人午夜精品| 国产午夜精品久久久久久| 色综合欧美亚洲国产小说| 国产精品一区二区精品视频观看| 一区福利在线观看| 制服诱惑二区| 级片在线观看| 久久香蕉精品热| 亚洲激情在线av| 香蕉丝袜av| 在线观看免费日韩欧美大片| 国产成人欧美在线观看| 欧美不卡视频在线免费观看 | 日本vs欧美在线观看视频| 久久久久久久久中文| 国产成人系列免费观看| 亚洲五月天丁香| 日本在线视频免费播放| 亚洲 欧美 日韩 在线 免费| 99国产精品免费福利视频| bbb黄色大片| 久久精品国产综合久久久| 天天躁狠狠躁夜夜躁狠狠躁| av网站免费在线观看视频| 日韩欧美国产在线观看| 久久香蕉精品热| 久久精品国产亚洲av香蕉五月| or卡值多少钱| 校园春色视频在线观看| 成人三级做爰电影| 亚洲中文字幕日韩| 亚洲精华国产精华精| 精品久久久精品久久久| 日韩视频一区二区在线观看| 国产成人精品久久二区二区免费| 在线天堂中文资源库| 国产精品永久免费网站| 精品一品国产午夜福利视频| 久久精品国产99精品国产亚洲性色 | 国产免费av片在线观看野外av| 久久久国产成人精品二区| 97人妻天天添夜夜摸| 香蕉丝袜av| 精品久久久久久久人妻蜜臀av | 欧美中文日本在线观看视频| 亚洲电影在线观看av| 少妇被粗大的猛进出69影院| 啪啪无遮挡十八禁网站| 狠狠狠狠99中文字幕| 51午夜福利影视在线观看| 精品欧美一区二区三区在线| 老司机在亚洲福利影院| 欧美黄色片欧美黄色片| 很黄的视频免费| 欧美不卡视频在线免费观看 | 一边摸一边抽搐一进一出视频| 久久中文看片网| 无人区码免费观看不卡| 午夜日韩欧美国产| 亚洲国产精品sss在线观看| 日本 欧美在线| 看免费av毛片| 亚洲成人精品中文字幕电影| 日韩高清综合在线| 亚洲精品粉嫩美女一区| 国产高清激情床上av| 亚洲美女黄片视频| 俄罗斯特黄特色一大片| 国产精品美女特级片免费视频播放器 | 视频区欧美日本亚洲| 一进一出抽搐动态| 久久精品亚洲精品国产色婷小说| 亚洲精品久久成人aⅴ小说| 成年人黄色毛片网站| 咕卡用的链子| 在线观看免费视频网站a站| 香蕉国产在线看| 9191精品国产免费久久| 在线观看一区二区三区| tocl精华| 国产伦一二天堂av在线观看| 一区二区日韩欧美中文字幕| 精品熟女少妇八av免费久了| 老司机深夜福利视频在线观看| 亚洲成人国产一区在线观看| 亚洲成国产人片在线观看| 侵犯人妻中文字幕一二三四区| 亚洲精品在线观看二区| 两性午夜刺激爽爽歪歪视频在线观看 | 亚洲男人天堂网一区| 午夜福利视频1000在线观看 | 欧美老熟妇乱子伦牲交| 黄色片一级片一级黄色片| 岛国在线观看网站| 国产精品久久久久久精品电影 | 久久久久久久久久久久大奶| www.精华液| 999久久久国产精品视频| 日日干狠狠操夜夜爽| 丰满人妻熟妇乱又伦精品不卡| 久久人人97超碰香蕉20202| 男女之事视频高清在线观看| 淫妇啪啪啪对白视频| 精品久久久久久,| 男人的好看免费观看在线视频 | 国产色视频综合| 成人永久免费在线观看视频| 亚洲av美国av| 成人亚洲精品av一区二区| 亚洲国产欧美日韩在线播放| 香蕉丝袜av| 久久久久久久久免费视频了| 天堂动漫精品| 久久国产亚洲av麻豆专区| АⅤ资源中文在线天堂| 成人精品一区二区免费| 精品久久久久久久毛片微露脸| 热re99久久国产66热| 久久久国产精品麻豆| 免费观看精品视频网站| 欧美日韩中文字幕国产精品一区二区三区 | 老汉色∧v一级毛片| 午夜福利视频1000在线观看 | 亚洲成a人片在线一区二区| 日本五十路高清| 日本一区二区免费在线视频| av中文乱码字幕在线| 久久香蕉激情| 黑人巨大精品欧美一区二区蜜桃| 最新在线观看一区二区三区| 丁香欧美五月| 亚洲av电影不卡..在线观看| 丰满的人妻完整版| 黄色a级毛片大全视频| 亚洲av美国av| 日日摸夜夜添夜夜添小说| 一二三四社区在线视频社区8| 人人澡人人妻人| 亚洲第一青青草原| 夜夜躁狠狠躁天天躁| 国产精品二区激情视频| 国产99久久九九免费精品| 黄色视频不卡| 亚洲中文日韩欧美视频| 大陆偷拍与自拍| 一本大道久久a久久精品| 女性生殖器流出的白浆| 9191精品国产免费久久| 日本a在线网址| 亚洲午夜精品一区,二区,三区| 国产精品 国内视频| 在线观看免费视频日本深夜| 国产色视频综合| 亚洲成人久久性| bbb黄色大片| 精品人妻1区二区| 欧美中文日本在线观看视频| 国产主播在线观看一区二区| 欧美久久黑人一区二区| 美女高潮到喷水免费观看| 看黄色毛片网站| 欧美日韩亚洲综合一区二区三区_| 亚洲va日本ⅴa欧美va伊人久久| 日韩欧美免费精品| 97人妻天天添夜夜摸| 久久精品成人免费网站| 精品国产亚洲在线| 91国产中文字幕| 又紧又爽又黄一区二区| 亚洲国产精品成人综合色| 欧美日韩亚洲国产一区二区在线观看| 精品国产超薄肉色丝袜足j| 精品免费久久久久久久清纯| 啦啦啦观看免费观看视频高清 | e午夜精品久久久久久久| 国产精品1区2区在线观看.| 久久久水蜜桃国产精品网| av片东京热男人的天堂| 999精品在线视频| 欧美在线一区亚洲| 亚洲午夜理论影院| 国产精品,欧美在线| 成人国语在线视频| 精品国产超薄肉色丝袜足j| 满18在线观看网站| 可以在线观看毛片的网站| 一区福利在线观看| av片东京热男人的天堂| 一级a爱视频在线免费观看| 日韩三级视频一区二区三区| 人妻久久中文字幕网| 99国产极品粉嫩在线观看| 国产熟女午夜一区二区三区| 亚洲五月色婷婷综合| 亚洲欧美一区二区三区黑人| 一级毛片高清免费大全| 国产精品二区激情视频| 国产伦一二天堂av在线观看| 中文字幕av电影在线播放| 天天躁狠狠躁夜夜躁狠狠躁| 一级毛片女人18水好多| 午夜免费观看网址| 免费久久久久久久精品成人欧美视频| 村上凉子中文字幕在线| 女警被强在线播放| 亚洲国产欧美日韩在线播放| 在线观看免费日韩欧美大片| 国产精品免费视频内射| 久久久久久久精品吃奶| 搞女人的毛片| av在线天堂中文字幕| 精品高清国产在线一区| 国产一区二区三区综合在线观看| 欧美大码av| 国产精品久久久人人做人人爽| 一卡2卡三卡四卡精品乱码亚洲| 国产三级在线视频| 很黄的视频免费| 亚洲伊人色综图| 免费在线观看亚洲国产| 伊人久久大香线蕉亚洲五| 免费在线观看黄色视频的| 黄色 视频免费看| 亚洲成av人片免费观看| 精品不卡国产一区二区三区| 黄片小视频在线播放| 国产成人影院久久av| 国语自产精品视频在线第100页| 99在线人妻在线中文字幕| 免费观看精品视频网站| 十八禁网站免费在线| 国产片内射在线| 亚洲片人在线观看| 亚洲欧美精品综合久久99| 国产成人系列免费观看| 久久久久久亚洲精品国产蜜桃av| 亚洲av成人不卡在线观看播放网| 一进一出抽搐动态| 亚洲专区中文字幕在线| 日韩有码中文字幕| 国产一级毛片七仙女欲春2 | 夜夜爽天天搞| 欧美精品啪啪一区二区三区| а√天堂www在线а√下载| 久久精品亚洲精品国产色婷小说| 极品教师在线免费播放| 国产熟女xx| av在线天堂中文字幕| 亚洲中文日韩欧美视频| 91成年电影在线观看| 色播在线永久视频| 女生性感内裤真人,穿戴方法视频| 人妻丰满熟妇av一区二区三区| 91精品三级在线观看| 一级毛片女人18水好多| 啦啦啦 在线观看视频| 国产1区2区3区精品| 国产精品日韩av在线免费观看 | 在线天堂中文资源库| 两性午夜刺激爽爽歪歪视频在线观看 | 亚洲片人在线观看| 可以在线观看毛片的网站| а√天堂www在线а√下载| 在线观看www视频免费| 两人在一起打扑克的视频| 精品国产美女av久久久久小说| 麻豆一二三区av精品| 免费人成视频x8x8入口观看| 老司机靠b影院| 亚洲一区高清亚洲精品| 久久婷婷人人爽人人干人人爱 | 国产精品久久久久久人妻精品电影| 老司机靠b影院| 91麻豆av在线| 天堂动漫精品| 欧美精品啪啪一区二区三区| 69精品国产乱码久久久| 搡老岳熟女国产| 亚洲欧美日韩高清在线视频| 日日干狠狠操夜夜爽| 色哟哟哟哟哟哟| 狂野欧美激情性xxxx| 亚洲成av片中文字幕在线观看| 久久青草综合色| 欧美激情极品国产一区二区三区| 男男h啪啪无遮挡| 丝袜美腿诱惑在线| 欧美日韩瑟瑟在线播放| av网站免费在线观看视频| 九色亚洲精品在线播放| 久久亚洲真实| 亚洲av五月六月丁香网| 日韩欧美免费精品| 精品第一国产精品| 女性生殖器流出的白浆| 深夜精品福利| 99精品在免费线老司机午夜| 成人亚洲精品一区在线观看| 无限看片的www在线观看| 大型av网站在线播放| 一级黄色大片毛片| 一区二区三区精品91| 一区二区三区激情视频| 欧美色视频一区免费| 自线自在国产av| 精品国产一区二区久久| 人人妻人人澡欧美一区二区 | 99国产极品粉嫩在线观看| 国产单亲对白刺激| 啦啦啦免费观看视频1| 日本在线视频免费播放| 欧美黄色片欧美黄色片| 亚洲精品av麻豆狂野| 极品教师在线免费播放| 欧美日韩精品网址| 老司机午夜十八禁免费视频| 日韩欧美三级三区| 不卡av一区二区三区| 亚洲色图 男人天堂 中文字幕| 国产一区在线观看成人免费| 看片在线看免费视频| 一边摸一边抽搐一进一小说| 久久久国产欧美日韩av| 脱女人内裤的视频| 国产精品 国内视频| av中文乱码字幕在线| 黄片播放在线免费| 满18在线观看网站| 自线自在国产av| 欧美大码av| 18禁美女被吸乳视频| 悠悠久久av| 日本三级黄在线观看| 极品教师在线免费播放| 动漫黄色视频在线观看| x7x7x7水蜜桃| 巨乳人妻的诱惑在线观看| 国产av一区在线观看免费| 日本精品一区二区三区蜜桃| 精品国内亚洲2022精品成人| 久久香蕉国产精品| 搡老熟女国产l中国老女人| 免费搜索国产男女视频| 亚洲精品在线美女| 久久久精品国产亚洲av高清涩受| 亚洲国产精品999在线| 午夜成年电影在线免费观看| 男女床上黄色一级片免费看| 91在线观看av| 亚洲五月天丁香| 久久久国产欧美日韩av| 国产激情欧美一区二区| 在线观看午夜福利视频| 国产成人系列免费观看| 真人做人爱边吃奶动态| 男人的好看免费观看在线视频 | 妹子高潮喷水视频| 性少妇av在线| 国内久久婷婷六月综合欲色啪| 欧美日本亚洲视频在线播放| 日本一区二区免费在线视频| 精品久久久久久,| 色尼玛亚洲综合影院| 国产精品,欧美在线| 咕卡用的链子| 日韩大码丰满熟妇| 伊人久久大香线蕉亚洲五| 亚洲国产中文字幕在线视频| 美女高潮到喷水免费观看|