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

    區(qū)塊鏈動態(tài)分片自適應模型

    2024-12-31 00:00:00翟社平劉佳一騰楊銳朱鵬舉
    計算機應用研究 2024年11期

    摘 要:分片機制是解決區(qū)塊鏈吞吐量低和通信復雜度高等性能瓶頸問題的一種途徑。然而在現(xiàn)有的分片系統(tǒng)中,分片之間的交易可以并行處理,這樣會不可避免地出現(xiàn)頻繁的跨分片交易,相比于片內(nèi)交易,跨分片交易會增加確認時間。當系統(tǒng)中跨分片交易增多時會導致分片系統(tǒng)效率降低。提出了一種動態(tài)分片自適應模型,用于提高區(qū)塊鏈平臺的吞吐率和效率。將通過交易數(shù)據(jù)相關(guān)性動態(tài)地將數(shù)據(jù)拆分到同一個分片,同時將多個高度相關(guān)的分片自適應地合并到同一個分片當中。為了驗證區(qū)塊鏈動態(tài)分片自適應模型,使用超級賬本對區(qū)塊鏈動態(tài)分片自適應模型進行實驗。實驗結(jié)果表明所提出的模型可以提升區(qū)塊鏈分片系統(tǒng)的可擴展性,同時保證安全性以及一致性問題。

    關(guān)鍵詞:區(qū)塊鏈;動態(tài)分片;節(jié)點聚類;智能合約;可擴展性;超級賬本

    中圖分類號:TP311.1 文獻標志碼:A 文章編號:1001-3695(2024)11-004-3231-08

    doi:10.19734/j.issn.1001-3695.2024.03.0069

    Dynamic sharding adaptive model for blockchain

    Zhai Shepinga, b, Liu Jiayitenga?, Yang Ruia, Zhu Pengjua

    (a.School of Computer Science, b.Shaanxi Key Laboratory of Network Data Analysis amp; Intelligent Processing, Xi’an University of Posts amp; Telecommunications, Xi’an 710121, China)

    Abstract:Sharding mechanism is a way to address performance bottlenecks in blockchain such as low throughput and high communication complexity. However, in existing sharding systems, transactions across shards can be processed in parallel, inevitably leading to frequent cross-shard transactions which increase confirmation times compared to intra-shard transactions. As the number of cross-shard transactions increases, the efficiency of the sharding system decreases. This paper proposed a dynamic sharding adaptive model to enhance the throughput and efficiency of blockchain platforms. By dynamically splitting data into the same shard based on transaction data correlation, multiple highly correlated shards were adaptively merged into the same shard. To validate the dynamic sharding adaptive model for blockchain, it conducted experiments using Hyperledger. Experimental results demonstrate that the proposed model can enhance the scalability of blockchain sharding systems while ensuring security and consistency.

    Key words:blockchain; dynamic sharding; node clustering; smart contracts; scalability; Hyperledger Fabric

    0 引言

    區(qū)塊鏈利用對等(peer-to-peer,P2P)分布式網(wǎng)絡、基于鏈的數(shù)據(jù)結(jié)構(gòu)、密碼學、共識算法等一系列技術(shù)機制來達到創(chuàng)建信任的目的[1。隨著新一輪產(chǎn)業(yè)革命的興起,區(qū)塊鏈技術(shù)在物流、法律、新基建等領(lǐng)域廣泛應用,在醫(yī)療健康等產(chǎn)業(yè)也扮演日益重要的角色2。區(qū)塊鏈的去中心化特性和分布式共識機制導致了交易處理速度和效率的限制。傳統(tǒng)的中心化交易系統(tǒng)可以通過集中式的處理和控制,更快地完成大量交易,而區(qū)塊鏈網(wǎng)絡需要在保證去中心化和安全性的前提下,通過復雜的共識算法和分布式網(wǎng)絡來驗證和記錄每一筆交易,這導致了處理速度的明顯下降。因此區(qū)塊鏈的吞吐量遠低于傳統(tǒng)的中心化交易系統(tǒng)。怎樣提高區(qū)塊鏈性能成為一個重要的研究方向。分片方案通常被視為一種“安全地適應開放網(wǎng)絡中節(jié)點狀態(tài)變化的可持續(xù)擴展性能”的方案,分片是通過改變網(wǎng)絡內(nèi)部各步驟之間的驗證方式來提高區(qū)塊鏈可擴展性的一種方法,其核心思想是“化整為零”,將區(qū)塊鏈網(wǎng)絡劃分成若干個能夠處理交易的較小組件式網(wǎng)絡,以達到較高的交易處理速度。在區(qū)塊鏈分片系統(tǒng)中,賬本數(shù)據(jù)拆分并分布到各分片。各分片只處理相關(guān)數(shù)據(jù)的交易,借助基于分片的并行處理,提升網(wǎng)絡容量。在應用分片策略時,必須滿足以下屬性:a)安全性;b)可擴展性;c)一致性;d)互操作性[3

    然而,現(xiàn)有的分片方案大多數(shù)都采用預先定義的靜態(tài)分片規(guī)模。區(qū)塊鏈被認為是一個去中心化、無須許可的系統(tǒng)[4,這意味著網(wǎng)絡中的節(jié)點狀態(tài)和網(wǎng)絡規(guī)模隨時都在發(fā)生著變化。當網(wǎng)絡在短時間內(nèi)發(fā)生較大規(guī)模的變動時,利用靜態(tài)分片規(guī)模的區(qū)塊鏈網(wǎng)絡會因為系統(tǒng)不能及時調(diào)整分片狀態(tài)而導致區(qū)塊鏈系統(tǒng)利用率降低5。無法達到提升區(qū)塊鏈系統(tǒng)性能的設(shè)計目的。另一方面,在區(qū)塊鏈網(wǎng)絡中的節(jié)點數(shù)短時間內(nèi)大幅減少的情況下,預先設(shè)定分片規(guī)模也會增加分片內(nèi)的安全隱患。最后,預先設(shè)定分片規(guī)模的靜態(tài)分片方案,未來需要擴展分片網(wǎng)絡規(guī)模時,只能采用時延較長、成本較高的硬分叉方式,這使得系統(tǒng)更新更為困難、代價更大。因此將分片動態(tài)拆分和合并的動態(tài)分片網(wǎng)絡成為分片技術(shù)研究的重點。對比于預先定義的靜態(tài)分片方法,Zhou等人[6提出了一種在聯(lián)盟鏈中的基于隨機值的動態(tài)分片協(xié)議,它改進了聯(lián)盟鏈中靜態(tài)分片的安全性風險,但并未對跨分片事務作出具體的處理。Skychain[7提出了一種自適應賬本協(xié)議,以保證基于動態(tài)分片策略的賬本能夠有效地合并或拆分。然后為了在高維系統(tǒng)狀態(tài)的動態(tài)環(huán)境下優(yōu)化分片策略,提出了一種基于深度強化學習的動態(tài)分片區(qū)塊鏈框架,以解決節(jié)點加入、退出和惡意攻擊等動態(tài)環(huán)境下的問題,但由于通信復雜度過高導致系統(tǒng)利用效率低的問題并沒有解決。Xi等人[8為了解決大規(guī)模協(xié)作物聯(lián)網(wǎng)中信任問題,以及高比例的跨碎片交易會嚴重限制去中心化區(qū)塊鏈的性能,提出了HMMDShard,這是一種基于隱馬爾可夫模型(hidden Markov model,HMM)的動態(tài)區(qū)塊鏈分片方案,通過集成HMM,實現(xiàn)了區(qū)塊鏈碎片的自適應動態(tài)增量更新,有效減少了所有高比例的跨碎片交易。但文章內(nèi)容并未解決當網(wǎng)絡狀態(tài)發(fā)生變化時應如何動態(tài)地調(diào)整分片狀態(tài)。Sun等人[9提出了一種新的適用于區(qū)塊鏈的分片協(xié)議,減少了跨分片事務的影響,提高了系統(tǒng)性能。分片協(xié)議采用了有向無環(huán)圖賬本,實現(xiàn)了并行交易處理,并采用了動態(tài)交易確認共識以簡化操作。該協(xié)議的分片過程和節(jié)點評分機制可以阻止惡意行為。盡管有向無環(huán)圖賬本可以提供更快的交易確認速度和更好的可擴展性,但隨著網(wǎng)絡規(guī)模的增長,節(jié)點間的交互和數(shù)據(jù)傳輸可能會成為瓶頸,影響系統(tǒng)的整體性能和擴展性。Zhang等人[10提出了一種基于信譽的分片動態(tài)重組網(wǎng)絡分片方案,該方案將節(jié)點性能和行為特征集成到信譽計算中,同時添加替代領(lǐng)導者以保持分片系統(tǒng)的穩(wěn)定性。然而該方法并未對具有交易數(shù)據(jù)相關(guān)性的跨分片交易進行分析處理。Cai等人[11提出了SmartChain,一個動態(tài)自適應的分片框架,用于在具有動態(tài)性和異構(gòu)性的物聯(lián)網(wǎng)區(qū)塊鏈上進行分片決策。SmartChain可以根據(jù)當前狀態(tài)自適應地動態(tài)選擇碎片數(shù)量、分區(qū)結(jié)構(gòu)和主選擇模式。但SmartChain未對碎片分片進行合并,這樣會導致跨分片交易數(shù)量增多,導致系統(tǒng)利用率降低。

    因此,針對現(xiàn)有方案中存在的問題,本文設(shè)計一種自適應的網(wǎng)絡動態(tài)分片方案,支持區(qū)塊鏈應用于更多領(lǐng)域和中心化服務器進行競爭,解決區(qū)塊鏈平臺必須性能瓶頸問題,提高區(qū)塊鏈系統(tǒng)的性能,增加系統(tǒng)的吞吐量(transactions per second,TPS),支持大規(guī)模用戶場景和高效的數(shù)據(jù)交互。

    本文的主要貢獻如下:

    a)設(shè)計了一種動態(tài)分片委員會方案。考慮分片利用率的分片合并與拆分,為了充分發(fā)揮分片的并行性,基于分片之間的關(guān)聯(lián),通過動態(tài)分片委員會對分片進行動態(tài)的合并與拆分。設(shè)計一種具有追溯功能的智能合約實現(xiàn)動態(tài)分片組織中歷史數(shù)據(jù)的跟蹤。

    b)為了實現(xiàn)跨分片事務的并行處理,采取了數(shù)據(jù)重定位的策略,將多個高度相關(guān)的數(shù)據(jù)分配至同一分片。這種方法有效地減少了跨分片交易的頻率,實現(xiàn)了負載均衡機制,保證分片內(nèi)交易在整個分片網(wǎng)絡中均勻分布。在提高系統(tǒng)性能的同時,有效降低了跨分片事務的復雜性和開銷。

    c)設(shè)計了一種節(jié)點聚類方法,該方法可快速達成交易提案的共識,通過考慮節(jié)點間的網(wǎng)絡延遲對分片節(jié)點進行適當分片組聚類,減少每個分片中的共識延遲。因此,分片之間的交易速率處理得到了提升,從而提高了動態(tài)分片系統(tǒng)的吞吐量,提升系統(tǒng)的可擴展性。

    1 相關(guān)知識

    1.1 區(qū)塊鏈分片項目

    1)Elastico

    Elastico[12是2016年SIGSAC會議上提出的第一個為公有鏈設(shè)計的分片協(xié)議,網(wǎng)絡中的節(jié)點需要運行PoW(proof of work,工作量證明)機制來進行身份確認,節(jié)點分配到分片中是隨機的,每個分片內(nèi)部運行的是基于PBFT(practical Byzantine fault tolerance,實用拜占庭容錯)的共識算法,區(qū)塊鏈網(wǎng)絡中的通信復雜度隨著節(jié)點數(shù)的增加而增加。Elastico并沒有固定地預設(shè)分片規(guī)模大小,而是根據(jù)網(wǎng)絡的需求來調(diào)整分片的大小。這種調(diào)整可以根據(jù)當前網(wǎng)絡流量、參與者數(shù)量以及其他因素來自適應地進行。然而當一個Elastico系統(tǒng)被確定之后,系統(tǒng)就會成為固定的分片大小,并沒有考慮到發(fā)生網(wǎng)絡狀態(tài)變化時系統(tǒng)應如何對系統(tǒng)分片進行調(diào)整。

    2)Rapidchain

    Rapidchain[13在初始階段基于隨機數(shù)值選舉出分片委員會,由該委員會的節(jié)點負責網(wǎng)絡分片,構(gòu)成一個個子網(wǎng)絡。在處理跨分片交易時,基于UTXO(unspent transaction output,未花費的交易輸出)模型,交易的哈希輸出值對應驗證交易的分片。該分片方案能有效提升區(qū)塊鏈系統(tǒng)的吞吐量,且顯著降低交易延遲,但是委員會內(nèi)部共識還是傳統(tǒng)的PBFT,通信復雜度依然很高。

    3)Harmony

    Harmony[14是一個區(qū)塊鏈平臺。Harmony利用分片方法實現(xiàn)可擴展性,允許多個分片鏈同時處理交易。其共識機制稱為有效權(quán)益證明(effective proof-of-stake,EPoS),旨在保持安全性同時提高能源效率。Harmony旨在為各種應用程序提供高吞吐量、低延遲和低成本的區(qū)塊鏈基礎(chǔ)設(shè)施。Harmony系統(tǒng)還采用跨分片協(xié)議的技術(shù)來促進不同分片之間的通信和交互,確保整個網(wǎng)絡的一致性和安全性。

    1.2 共識算法

    1)fastBFT

    fastBFT[15是一種共識算法,旨在解決分布式系統(tǒng)中的拜占庭容錯問題。與傳統(tǒng)的拜占庭容錯算法相比,fastBFT(fast Byzantine fault tolerance,快速拜占庭容錯)通過精簡消息傳遞的數(shù)量和優(yōu)化節(jié)點之間的通信,實現(xiàn)了更高的性能。該算法采用了兩個關(guān)鍵的優(yōu)化策略,以提高共識的速度。首先,fastBFT引入了批處理機制,允許節(jié)點在一輪中處理多個提案,從而減少了通信的開銷。其次,通過合并準備和提交階段的消息,避免了不必要的通信往返,進一步提高了性能。通過這些創(chuàng)新性的優(yōu)化,fastBFT在實際應用中表現(xiàn)出更高的吞吐量和更低的延遲,使其成為分布式系統(tǒng)中高效而可靠的共識算法之一。

    2)Paxos

    Paxos[16是一種用于解決分布式系統(tǒng)中一致性問題的經(jīng)典共識算法,Paxos算法流程如圖1所示。其核心思想通過提議、承諾、接受和學習等階段,確保在節(jié)點故障、消息延遲等不可靠環(huán)境中,系統(tǒng)的節(jié)點能夠就提案達成一致。提議者向其他節(jié)點發(fā)送提案,其他節(jié)點回復承諾,表示接受高于當前提案編號的提案,最終節(jié)點學習到被接受的提案。Paxos的算法流程包括提議、承諾、接受和學習等步驟,通過這些步驟的交互,系統(tǒng)能夠保持一致性。在算法的設(shè)計中,每個節(jié)點兼具提議者、承諾者和學習者的角色,通過相互協(xié)作達成一致。

    1.3 交易數(shù)據(jù)相關(guān)性

    在一個具有分片的區(qū)塊鏈網(wǎng)絡中,會發(fā)生兩種類型的交易:分片內(nèi)交易和跨分片交易。分片內(nèi)事務可以通過一個分片獨立處理。然而跨分片交易事務必須使用兩個或多個分片進行處理,因為它們必須從多個分片中訪問數(shù)據(jù)。如果只發(fā)生分片內(nèi)交易,隨著區(qū)塊鏈網(wǎng)絡被拆分為額外的分片,整體網(wǎng)絡的容量逐漸增大。然而當存在分片網(wǎng)絡時,不可避免地會發(fā)生跨分片交易。當一個跨分片事務在多個分片間異步處理時,事務的原子性和隔離性受到威脅。交易數(shù)據(jù)相關(guān)性指的是區(qū)塊鏈上不同交易之間的關(guān)聯(lián)程度或依賴關(guān)系。具體來說,交易數(shù)據(jù)相關(guān)性可以分為兩個方面:

    a)交易之間的邏輯關(guān)系。某些交易在執(zhí)行或處理時可能依賴于其他交易的狀態(tài)或結(jié)果。例如,在區(qū)塊鏈上進行資金轉(zhuǎn)賬,一筆轉(zhuǎn)賬交易可能需要檢查發(fā)送方賬戶的余額是否足夠支付,并在確認后才能執(zhí)行。這種依賴關(guān)系意味著一些交易必須在另一些交易之前或之后執(zhí)行,形成了交易之間的邏輯關(guān)系。

    b)交易涉及相同資產(chǎn)或賬戶。一些交易可能涉及相同的資產(chǎn)或賬戶。例如,多筆交易都涉及同一個賬戶的資金轉(zhuǎn)移或狀態(tài)修改。這些交易之間存在關(guān)聯(lián),因為它們都涉及同一組數(shù)據(jù)或資源的操作。

    區(qū)塊鏈系統(tǒng)數(shù)據(jù)之間的相關(guān)性非常重要,因為它影響到交易處理的順序、并發(fā)性和數(shù)據(jù)分片的優(yōu)化策略。有效地處理交易數(shù)據(jù)相關(guān)性可以提高系統(tǒng)的效率和性能,減少不必要的數(shù)據(jù)傳輸和通信開銷。

    2 動態(tài)分片系統(tǒng)

    動態(tài)分片系統(tǒng)主要功能在于動態(tài)分片網(wǎng)絡,總體架構(gòu)如圖2所示,系統(tǒng)包括發(fā)起請求的用戶節(jié)點、動態(tài)分片委員會、動態(tài)分片監(jiān)測模塊、動態(tài)分片控制器以及多個分片節(jié)點組成。首先定義了區(qū)塊鏈網(wǎng)絡的故障模型以及拜占庭作惡模型。

    在考慮參考節(jié)點的崩潰故障模型時,基于一個假設(shè),即參考節(jié)點僅可能經(jīng)歷崩潰故障而不涉及合謀行為。這意味著參考節(jié)點不會共同進行任何破壞性操作。通常通過設(shè)定參考節(jié)點只包括那些具有最高聲譽或?qū)ο到y(tǒng)有高度利害關(guān)系的成員來證明這種假設(shè)的合理性。這樣的配置旨在確保在系統(tǒng)中擔任關(guān)鍵角色的參考節(jié)點是可信的,從而最大程度地減小崩潰故障的可能性,提高系統(tǒng)的可靠性和安全性。

    對于分片節(jié)點的拜占庭故障模型,假設(shè)除了參考節(jié)點之外,所有的節(jié)點都可能受到拜占庭故障的影響。因此每個分片中的同伴節(jié)點可能表現(xiàn)出不可預測的行為,而這些行為有時可能無法被正確檢測。在拜占庭失效的情況下,拜占庭容錯(Byzantine fault tolerance,BFT)相似的共識模型變得至關(guān)重要,以確保在各個對等體之間維持一致的狀態(tài)。為了應對這一挑戰(zhàn),引入了fastBFT共識協(xié)議,將其應用于每個分片,以提供對抗拜占庭故障的能力,確保系統(tǒng)整體的穩(wěn)健性和可信度。這種方法旨在有效應對分片網(wǎng)絡中的潛在不穩(wěn)定性,確保在面對不可靠節(jié)點時依然能夠達成共識,從而保障系統(tǒng)的正常運行。

    在系統(tǒng)中,最重要的兩個模塊分別是動態(tài)分片監(jiān)測模塊和動態(tài)分片控制器模塊,這兩個模塊決定了分片的大小以及分片的屬性。動態(tài)分片監(jiān)測模塊通過用戶提交數(shù)據(jù)次數(shù)檢測網(wǎng)絡節(jié)點狀態(tài),并測量每個分片的共識時延。之后動態(tài)分片委員會根據(jù)動態(tài)分片測量模塊的數(shù)據(jù)調(diào)整當前網(wǎng)絡分片屬性,再由分片控制器對分片進行合并以及拆分,并根據(jù)拆分后的狀態(tài)分配給不同的分片組織。在傳統(tǒng)區(qū)塊鏈當中賬本信息是固定的,通過哈希值可追溯到原始的區(qū)塊信息,但是在提出的動態(tài)分片系統(tǒng)中,區(qū)塊會被分割成很小的塊,區(qū)塊鏈的可追溯性和不可竄改性會被打破。為了解決這個問題,運用智能合約對分割區(qū)塊進行追溯,因此編寫并部署專門用于分片的智能合約,以持續(xù)向分片委員會保持數(shù)據(jù)的可追溯性。在所提出的區(qū)塊鏈系統(tǒng)中,采用Paxos共識模型,在假設(shè)參考節(jié)點成員不存在拜占庭故障的情況下,滿足安全性和活性要求。

    動態(tài)分片中的分片處理流程如圖3所示,在分片分配過程中根據(jù)監(jiān)測模塊提交給分片委員的監(jiān)測數(shù)據(jù)信息,可以知道分片應當發(fā)往哪個分片組織。當分片委員會收到來自用戶的信息時,首先會檢查用戶請求信息,根據(jù)委員會判斷后轉(zhuǎn)發(fā)給負責的分片組織。當分片在組織內(nèi)達成共識后,將消息以及成員簽名信息返回給分片委員會。之后委員會根據(jù)返回的信息進行檢查,并根據(jù)分片組內(nèi)共識結(jié)果提交給提案用戶。

    分片共識不是只存在于一個組內(nèi),當發(fā)生跨分片提案時,分片委員會將分片共識分為準備階段和執(zhí)行階段,用來保證賬本一致性??绶制灰琢鞒倘鐖D4所示,首先分片委員會檢查用戶請求信息,在準備階段,委員會向參與跨分片的所有分片組織發(fā)送準備消息,之后接收分片組返回的分片執(zhí)行準備結(jié)果。在執(zhí)行階段,分片委員會發(fā)送提交請求消息,并利用準備階段的結(jié)果完成對分片組內(nèi)的提交,之后委員會接收各個分片組返回的共識結(jié)果。當所有分片組織完成共識后,將共識結(jié)果提交給提案用戶。在處理跨分片操作時,區(qū)塊內(nèi)數(shù)據(jù)信息會被鎖定,此時無法進行其他的共識行為,雖然這樣的處理方式降低了可用性,但有效地保證了區(qū)塊的一致性問題。

    2.1 動態(tài)分片算法

    在這里定義一些符號來描述動態(tài)分片的算法流程。在提出動態(tài)分片算法之前首先定義委員會的數(shù)據(jù)塊,將提案用戶提交給委員會的數(shù)據(jù)分成塊,記為Pblock,將用戶提案的數(shù)據(jù)總量表示為Ptotal,這樣每一個數(shù)據(jù)塊的大小為「Ptotal/Pblock?。

    用Qk表示第k個分塊所屬的分片的索引,n表示當前網(wǎng)絡當中分片數(shù)量,由此可得出Qk的范圍在[1,n]。用α表示交易量,s(ti)表示分片交易的吞吐量,其中ti表示在第i個分片中所需要的共識時延。

    分片組之間的分配向量為

    Q=(Q1,Q2,…,Qk-1,Qk,QPblock)(1)

    分片交易吞吐量為

    s(ti)=α/ti(2)

    要實現(xiàn)分片模型,首先應該測量出每個分片當中的數(shù)據(jù)處理量。gi(Q)表示分片內(nèi)數(shù)據(jù)處理量。ΔT表示一個時隙,f(Qk)表示第k個分組中數(shù)據(jù)的總量,也被表示為一個時隙內(nèi)產(chǎn)生數(shù)據(jù)訪問的次數(shù)。要實現(xiàn)k個分組被分配給第i個分片的時候,分片必須是固定的一個,這時可以用單位階躍函數(shù)(3)來實現(xiàn)分配策略。

    hi(Qk)=1

    if Qk=i0

    others (3)

    以上定義可得分片內(nèi)數(shù)據(jù)處理量為

    gi(Q)=h1(Qk)×f(Qk)+…+hPblock(Qk)×f(Qk)(4)

    在一個時隙期間分片可處理的數(shù)據(jù)總量為

    s(ti)×ΔT(5)

    其中:ui(ti,Q)表示第i個分片的利用率,由數(shù)據(jù)請求量和數(shù)據(jù)分片節(jié)點數(shù)據(jù)處理能力決定。φ表示系統(tǒng)固定參數(shù),gcroi(Q)表示第i個分片中跨分片數(shù)據(jù)請求數(shù)量。F表示為第i個分片中數(shù)據(jù)處理效率,且效率處于(0,1)之間。

    F=gi(Q)-gcroi(Q)s(ti)×ΔT(6)

    第i個分片的利用率為

    ui(ti,Q)=1-(1-min(1,F(xiàn)))δ(7)

    式(7)可以看出,由于分片的量的增加,導致分片的利用率會變低。因此提出動態(tài)分片的算法,其目標為在一個動態(tài)分片系統(tǒng)中確定每個動態(tài)分片的數(shù)量n、分片分配向量Q以及每個分片中的共識延遲ti,用算法來提高系統(tǒng)的吞吐率,提高系統(tǒng)的可擴展性。

    因此,在確定分片數(shù)量、分片分配向量以及每個分片中的共識時延的前提下,致力于提高分片系統(tǒng)的可擴展性??紤]到系統(tǒng)安全性,可以根據(jù)分片系統(tǒng)和區(qū)塊節(jié)點數(shù)來設(shè)置安全閾值,Nmax表示為最大安全閾值,n∈(1,Nmax)。對于采用PBFT共識的網(wǎng)絡,PBFT算法是一種狀態(tài)機復制,每一個“節(jié)點”是一個副本,有一個主副本,其他全為從副本。f表示為惡意副本,nnodei表示節(jié)點數(shù)量,f惡意副本可能會不發(fā)送消息,那么除去這f個惡意副本的消息也要達到2f+1的確認。因此必須有2f+1個正常副本才可以在f個惡意副本拒絕發(fā)送消息的情況下順利進行確認和整個流程。所以得出nnodei節(jié)點數(shù)量應大于3f+1。

    定義Fra表示整個系統(tǒng)中所有分片利用率之和:

    Fra=∑ni=1ui(ti,Q)(8)

    由此可得出分片最大數(shù)量為

    arg max{Fra}(9)

    這個定義依賴于三個變量即網(wǎng)絡當前分片數(shù)量n、分片組之間的分配向量Q以及每個分片當中的共識時延ti。通過網(wǎng)絡當前分片數(shù)量n確定分片組之間的分配向量Q,由Q與共識時延ti確定當前第i個分片的利用率,通過式(8)來計算出當前系統(tǒng)利用率之和,由式(9)arg max函數(shù)可得出當分片利用率最大時系統(tǒng)的分片數(shù)量,進而得出新的n值,由新的n值再一次執(zhí)行動態(tài)分片算法。當動態(tài)分片委員會進行分片時,分片中的對等節(jié)點數(shù)量會發(fā)生改變,節(jié)點內(nèi)的共識時延也會發(fā)生改變,故動態(tài)分片委員會能執(zhí)行動態(tài)分片和共識延遲確定過程。

    2.2 具有追溯功能的智能合約

    區(qū)塊鏈智能合約是一種基于區(qū)塊鏈技術(shù)的自動執(zhí)行合同的機制,其本質(zhì)是一段以編程方式定義的、具有自動執(zhí)行能力的計算機代碼[17。當一個區(qū)塊被拆分成多個分片,或者多個分片合并成一個區(qū)塊時,不僅系統(tǒng)網(wǎng)絡結(jié)構(gòu)會發(fā)生改變,原始數(shù)據(jù)內(nèi)的歷史也無法被追蹤,這樣違背了區(qū)塊鏈系統(tǒng)可溯源的特性。因此需要設(shè)計一個動態(tài)分片網(wǎng)絡的智能合約,用來追蹤分片系統(tǒng)變化情況。當發(fā)生分片操作時,需要將分片后的結(jié)構(gòu)添加到分片委員會當中,用智能合約來使這些變化的分片被系統(tǒng)追蹤。如圖5所示為分片的智能合約設(shè)計圖。

    圖6顯示智能合約在分片系統(tǒng)當中的應用流程,分片2中的分片通過數(shù)據(jù)塊賦值操作移動到分片1時,動態(tài)委員會通過調(diào)用智能合約創(chuàng)建包含兩個分片數(shù)據(jù)配置的操作。它是一種跨分片交易,應該在分片1和2中同時處理。跨分片交易處理完畢后,從分片2中刪除該分片中的所有數(shù)據(jù),并將其添加到分片1中。當分片1中的分片與分片2中的分片合并時,動態(tài)委員會通過調(diào)用智能合約創(chuàng)建包含兩個分片組數(shù)據(jù)配置的操作,從而產(chǎn)生跨分片組操作。

    2.3 分片控制器

    分片委員會主要由動態(tài)分片監(jiān)測以及動態(tài)分片控制器組成。提出的系統(tǒng)需要確定分片數(shù)量n、分片分配向量Q及每個分片中的共識時延ti。故這三個變量可以決策整個動態(tài)分片系統(tǒng)的效率。當動態(tài)分片過程發(fā)生后,分片中所需要的共識時延也是不斷變化。當k個分片需要合并成一個區(qū)塊時,系統(tǒng)會鎖定這k個分片。同時當發(fā)生一個區(qū)塊分成多個數(shù)據(jù)不相交的分片時,在各個分片組織內(nèi)部是不能共識其他分片組內(nèi)信息,這會導致系統(tǒng)效率變低。在分片當中如何界定分片類型對于系統(tǒng)是很重要的,因此問題可以總結(jié)為三點:

    a)一個ΔT時隙后判斷系統(tǒng)共識時延,推選新的領(lǐng)導人;

    b)經(jīng)過一個ΔT時隙系統(tǒng)中拜占庭節(jié)點過多時,分片委員會確定新的分片數(shù)量;

    c)經(jīng)過一個ΔT時隙分片利用率降低時,分片委員會確定新分片的索引。

    這三個問題分別對應著當分片進行共識過程時(問題2),當分片存在跨分片共識時(問題3),當共識時延高時或一個時隙過后重新選舉新的領(lǐng)導人(問題1),以下為分片控制流程偽代碼。

    //初始化前一個時隙的分片利用率、節(jié)點數(shù)量和共識時延

    a) utilization_previous=initial_utilization_value

    b) node_count_threshold=3*f+1 /* 節(jié)點數(shù)量閾值,其中f是最大容忍的拜占庭節(jié)點數(shù) */

    c) latency_previous=initial_latency_value

    //定義動態(tài)分片控制器檢測流程函數(shù)

    a) function dynamicShardingController():

    //獲取當前時隙的分片利用率、節(jié)點數(shù)量和共識時延

    a) current_utilization=getCurrentShardUtilization()

    b) current_node_count=getCurrentNodeCount()

    c) current_latency=getCurrentConsensusLatency()

    //檢查分片利用率是否小于前一個時隙的利用率

    a) if current_utilization lt; utilization_previous:

    b)

    submitReportToCommittee() //提交信息給分片委員會

    //檢查節(jié)點數(shù)量是否小于節(jié)點數(shù)量閾值

    j) if current_node_count lt; node_count_threshold:

    k)

    submitReportToCommittee() //提交信息給分片委員會

    //檢查共識時延是否小于前一個時隙的共識時延

    l) if current_latency lt; latency_previous:

    m)

    submitReportToCommittee() //提交信息給分片委員會

    //更新前一個時隙的分片利用率、節(jié)點數(shù)量和共識時延

    l) utilization_previous=current_utilization

    m) byzantine_threshold=current_byzantine_nodes

    n) latency_previous=current_latency

    //主程序入口

    l) while true:

    m) dynamicShardingController() //執(zhí)行動態(tài)分片控制器的檢測流程

    n) sleep(T seconds) // 每隔T秒執(zhí)行一次檢測流程

    2.4 分片組內(nèi)領(lǐng)導人選舉機制

    在分布式系統(tǒng)中,PBFT多用于區(qū)塊鏈系統(tǒng)的領(lǐng)導者選舉過程,它需要在節(jié)點共識時交換節(jié)點全部信息以達成節(jié)點之間的共識,故PBFT節(jié)點為全節(jié)點共識。考慮到分片系統(tǒng)中拜占庭節(jié)點進行共識,所以必須考慮到參與共識節(jié)點之間的數(shù)量問題。

    對于使用PBFT算法作為共識機制的區(qū)塊鏈系統(tǒng),系統(tǒng)中最多可容納33%的拜占庭節(jié)點,一旦拜占庭節(jié)點超過了33%,那么就可以發(fā)起合謀攻擊,在區(qū)塊鏈系統(tǒng)上發(fā)布錯誤信息。因此每一個分片組織內(nèi)都需要更多非拜占庭節(jié)點來保持系統(tǒng)的安全性。但是當大量節(jié)點參與共識時,因為PBFT節(jié)點共識為全節(jié)點共識,需要交換大量的節(jié)點信息,這會導致系統(tǒng)的效率變低。故使用FastBFT算法來保證系統(tǒng)的效率和安全性質(zhì),F(xiàn)astBFT算法是基于可信執(zhí)行環(huán)境TEE的拜占庭容錯算法,算法核心是提高分布式系統(tǒng)的性能和效率。該算法通過優(yōu)化消息復雜度和驗證過程,采用了聚合簽名技術(shù)[18,使得多個消息可以合并成一個相對較小的簽名。fastBFT的階段流程主要包括預準備階段(pre-processing)、預準備聚合階段(prepare)、提交階段(commit)和提交聚合階段(reply)。

    在預準備階段(pre-processing),節(jié)點首先廣播預準備消息,表明其意圖參與下一輪的共識。接著,在預準備聚合階段(prepare),節(jié)點收到其他節(jié)點的預準備消息后,將這些消息聚合成一個單一的消息,并將其廣播給其他節(jié)點。這個聚合的過程有效地減少了通信開銷。一旦預準備階段完成,系統(tǒng)進入提交階段(commit)。節(jié)點廣播提交消息,表明其已經(jīng)收到足夠數(shù)量的相容的預準備消息。最后,在提交聚合階段(reply),節(jié)點收到其他節(jié)點的提交消息后,進行聚合,并將聚合后的提交消息廣播給其他節(jié)點。fastBFT通過這樣的流程有效地減少了消息傳遞和驗證的復雜性,從而提高了系統(tǒng)的整體性能。通過聚合簽名技術(shù),節(jié)點之間的通信開銷減小,使得算法更適用于高吞吐量的分布式系統(tǒng),同時仍能確保系統(tǒng)的安全性和拜占庭容錯特性。算法流程如圖7所示。

    由圖7可以看出在fastBFT共識時延為領(lǐng)導者和對等節(jié)點之間的往返時間和節(jié)點簽名時間的總和。定義RTTs表示一個對等節(jié)點之間的信息往返時間,tsig表示節(jié)點的簽名時間,RTT(Lrtts,prtts)表示領(lǐng)導者和對等網(wǎng)絡之間的往返時間。對等節(jié)點之間的往返時間可以通過它們之間交換一個小的控制消息來測量。

    在動態(tài)分片系統(tǒng)當中,分片委員會通過網(wǎng)絡監(jiān)測模塊收集節(jié)點之間的信息往返時間,通過fastBFT的視圖轉(zhuǎn)換選出領(lǐng)導者。領(lǐng)導者節(jié)點應當滿足:

    arg max{3×max[RTT(Lrtts,prtts)]+5×tsig}(10)

    若實際的共識延遲比預期的要長,則選舉一個新的領(lǐng)導者。其次,拜占庭節(jié)點可能會報告不同的網(wǎng)絡延時,而不是它們的實際延遲。因此,它應該與一些機制結(jié)合使用,例如,選舉、激勵機制和投票等行為防止節(jié)點作惡。

    2.5 分片組聚類算法和區(qū)塊分片算法

    上一節(jié)解決的領(lǐng)導人選舉機制,這一節(jié)解決分片委員會確定新的分片數(shù)量n以及分片委員會確定跨分片的索引Qk問題,由此提出分片組聚類算法和區(qū)塊分片算法來解決。

    當改變分片數(shù)量n時,假定在各個節(jié)點內(nèi)的共識延遲相差很小的情況下,可以排除分片中所需要的共識時延對系統(tǒng)的影響,因為現(xiàn)在趨于一個系統(tǒng)的固定值,所以可以定義新的分片最大數(shù)量求得公式?,F(xiàn)在影響分片最大數(shù)量的變量有分片數(shù)量n和分片分配向量Q。故需要解決n和Q的測量問題。

    分片委員會通過用戶提交的提案在每個時隙內(nèi)周期性地測量每個分片組節(jié)點的相關(guān)性,f(Qk)表示分片組節(jié)點的相關(guān)性??梢酝ㄟ^分片控制器,用一個連通圖結(jié)構(gòu)的形式表達分片組節(jié)點以及不同分片組之間的相關(guān)性問題。如圖8所示。

    f(Qk)可以用G=(V,E)的形式來表達,其中V表示頂點,E表示邊。根據(jù)系統(tǒng)結(jié)構(gòu)定義了兩種邊的形式,分別是分片內(nèi)交易邊和跨分片交易邊。

    在分片內(nèi)交易邊中,邊的兩個端點連接在同一個頂點V上,邊E的權(quán)重設(shè)置為在一個時隙內(nèi)用戶提交的提案中只需要訪問對應分片中數(shù)據(jù)的交易數(shù)??绶制灰走叺膬蓚€端點分別與兩個不同的頂點相連。它的權(quán)重設(shè)置為用戶在一個時隙期間提交的提案時,在邊緣兩端的兩個塊中需要訪問數(shù)據(jù)的交易數(shù)量。圖(a)表示為分片節(jié)點內(nèi)部交易以及跨分片交易的連通圖,圖(b)通過圖(a)跨分片的情況進行分片組的聚類以提高系統(tǒng)的效率。

    K-means[19聚類可以解決分片組的聚類問題,通過迭代把數(shù)據(jù)對象劃分到不同的簇中,以求目標函數(shù)最小化,從而使生成的簇盡可能地緊湊和獨立。但是K-means聚類選擇初始質(zhì)心的時間復雜度為O(kn),其中k是簇的數(shù)量,n是數(shù)據(jù)點(分片節(jié)點)的數(shù)量。但是提出的動態(tài)分配的算法需要較小的時間復雜度用來應對動態(tài)變化的網(wǎng)絡狀態(tài),因此提出分片組聚類算法來應對快速變化的網(wǎng)絡環(huán)境,算法過程如算法1所示。

    算法1 分片組聚類算法

    輸入:節(jié)點樣本G,分片數(shù)量n。

    輸出:分片組分配向量Q。

    // 步驟1 確定分片數(shù)

    a) if n未作為輸入?yún)?shù)給出

    b) n為當前分片數(shù)量

    c) end if

    // 步驟2 生成分片組簇,并確定領(lǐng)導節(jié)點

    d) 創(chuàng)建n集合{h1,h2,…,hn}

    e) 將頂點V中的所有分片移動到優(yōu)先級隊列VP中,其中分片的優(yōu)先級由跨分片交易的權(quán)重之和決定

    f) for each i屬于{h1,h2,…,hn}

    g) 從優(yōu)先級隊列VP中選擇權(quán)重最小的分片

    h) 將選中的分片添加到hi當中

    i) end for

    // 步驟3 剩余的分片分配給分片組簇

    g) for each Qk屬于VP

    k) for each i屬于{h1,h2,…,hn}

    l)

    計算hi中第i個分片的利用率Ui(Q)

    m)

    計算hi∪Qk中第i個分片的利用率Ui(Q)p

    n) end for

    o) 選擇最大的Ui(Q)和Ui(Q)p

    p) 將Qk添加到所選分片組簇對應的集合中

    q) end for

    // 步驟4 確定分片組分配向量

    r) for each i屬于{h1,h2,…,hn}

    s) for each Qk屬于hi

    t)

    把分片i賦給Qk

    u) end for

    V) end for

    通過改進K-means聚類,結(jié)合貪心法[20的改進節(jié)點集群的聚類,貪心法在每一步都作出局部最優(yōu)選擇而不考慮未來后果,貪心算法通常比較簡單,其時間復雜度可以做到線性級別,而且空間復雜度一般也比較低,滿足系統(tǒng)的要求。同時考慮到拜占庭節(jié)點作惡問題需要設(shè)計區(qū)塊分片算法用來確定分片數(shù)量,保證在一個安全閾值分片數(shù),其思想是初始化一個拜占庭容錯的分片數(shù)量,根據(jù)分片組算法來確定分片的數(shù)量n以及分片分配向量Q,保證了系統(tǒng)的安全性。算法流程如算法2所示。分別對算法1和2進行特性分析與復雜性分析。

    算法2 區(qū)塊分片算法

    輸入:節(jié)點樣本G。

    輸出:分片組分配向量Q以及分片數(shù)量n。

    // 步驟1 初始化一個拜占庭容錯的分片數(shù)量

    a) n=|∑npresenti=1nnodei3f+1| //npresent表示當前分片數(shù)量

    // 步驟2 確定分片的數(shù)量n以及分片的分片向量Q

    b) for each i∈{1,2,…,nsh}

    c) ui=arg max{∑ni=1ui(Qone)}" //Qone為算法一得出的分片向量

    d) if igt;1 and uilt;ui-1

    e)

    n=i-1

    f)

    Q=Qone

    g)

    break

    h) end if

    i) if i=nsh

    g)

    Q=Qtempi

    k) end if

    l) end for

    1)算法1特性分析

    a)分片組聚類。該算法在將節(jié)點樣本分配到不同的分片組中,以實現(xiàn)分布式數(shù)據(jù)處理和管理,使得系統(tǒng)能夠有效地處理大規(guī)模數(shù)據(jù)。

    b)優(yōu)先級隊列。通過使用優(yōu)先級隊列,算法可以快速選擇權(quán)重最小的分片進行分配,以提高分配效率和系統(tǒng)的整體性能。

    c)領(lǐng)導節(jié)點確定。通過分配過程確定每個分片組的領(lǐng)導節(jié)點,這些領(lǐng)導節(jié)點負責協(xié)調(diào)和管理分片組,保證系統(tǒng)的穩(wěn)定運行和高效管理。

    d)利用率計算。通過計算分片的利用率,算法可以評估分片的分配效果,并根據(jù)實際情況優(yōu)化分片組的分配方案,以進一步提高系統(tǒng)的整體性能和資源利用率。

    2)算法2特性分析

    a)動態(tài)分片數(shù)量。該算法采用拜占庭容錯算法動態(tài)確定分片數(shù)量,以適應系統(tǒng)負載變化和故障情況,提高系統(tǒng)的容錯性能和穩(wěn)定性。

    b)分片向量優(yōu)化。通過迭代過程確定最優(yōu)的分片向量,使得各個分片組之間的負載更加均衡,進而提高系統(tǒng)的整體性能和資源利用率。

    3)復雜度分析

    a)時間復雜度。算法1的時間復雜度取決于節(jié)點樣本數(shù)量n和分片數(shù)量k,以及優(yōu)先級隊列操作和利用率計算的復雜度,在算法中,需要對優(yōu)先級隊列進行操作,包括插入、刪除和查找操作。因此,算法1的時間復雜度可以表示為O(k×log(n)+k),其中l(wèi)og(n)是基于優(yōu)先級隊列的操作復雜度。雖然時間復雜度可能較高,但由于算法的簡單性,可以在系統(tǒng)中獲得較高的執(zhí)行效率。算法2時間復雜度主要由兩個部分組成:拜占庭容錯算法和分片向量優(yōu)化的迭代過程。拜占庭容錯算法的時間復雜度為O(n2),其中n是節(jié)點樣本的數(shù)量。分片向量優(yōu)化的迭代過程的時間復雜度取決于迭代次數(shù)和每次迭代的計算量,時間復雜度為O(m×k),其中m是迭代次數(shù),k是分片數(shù)量。采用了拜占庭容錯算法動態(tài)確定分片數(shù)量,適應系統(tǒng)負載變化和故障情況,提高了系統(tǒng)的穩(wěn)定性和容錯性。

    b)空間復雜度。算法1的空間復雜度主要取決于分片數(shù)量k,節(jié)點樣本數(shù)量n,分片組簇和優(yōu)先級隊列的存儲,以及輔助變量和數(shù)據(jù)結(jié)構(gòu)的存儲。算法1的空間復雜度可以表示為O(k+n)。算法1可以根據(jù)具體情況靈活調(diào)整分片數(shù)量和分配策略,適用于不同規(guī)模和需求的系統(tǒng)。算法2的空間復雜度主要取決于分片數(shù)量k,節(jié)點樣本數(shù)量n,分片向量的存儲,以及輔助變量和數(shù)據(jù)結(jié)構(gòu)的存儲。因此算法2的空間復雜度可以表示為O(k+n)。通過迭代過程確定最優(yōu)的分片向量,使得分片組之間的負載更加均衡,進一步提高了系統(tǒng)的整體性能和資源利用率。

    3 模擬驗證

    3.1 模型可行性分析

    為了測試動態(tài)分片系統(tǒng)的可行性,在三個維度對模型進行實驗模擬分析:a)動態(tài)分片節(jié)點聚類共識;b)領(lǐng)導節(jié)點選舉實驗;c)分片分配策略實驗。用超級賬本區(qū)塊鏈性能基準框架超級賬本Caliper[21對吞吐量進行了測量。

    3.1.1 分片節(jié)點聚類共識

    通過NIST Net[22模擬框架,評估了動態(tài)分片節(jié)點共識時延的性能。在這項研究中,強調(diào)了節(jié)點間聚類對系統(tǒng)共識效率的影響。實驗測試了當5個分片時共識時延對吞吐率的影響,由圖9可以看出即使在分片交易未獲得確認的情況下,分片組內(nèi)的共識已經(jīng)完成。這突顯了動態(tài)分片系統(tǒng)在提高效率方面的能力,并為未來的系統(tǒng)優(yōu)化提供了保證。這項可行性分析強調(diào)了在區(qū)塊鏈網(wǎng)絡中聚焦于節(jié)點協(xié)同和聚類對性能優(yōu)化的關(guān)鍵作用。

    3.1.2 領(lǐng)導者節(jié)點選舉

    對領(lǐng)導者選舉進行了測試分析,結(jié)合fastBFT和貪心算法結(jié)合,實驗使用了5個對等節(jié)點進行區(qū)塊鏈網(wǎng)絡環(huán)境模擬,然后在一個ΔT時隙過后執(zhí)行更換領(lǐng)導者節(jié)點的行為。由圖10可以看出,有效利用領(lǐng)導者節(jié)點網(wǎng)絡狀態(tài)可以緩解系統(tǒng)共識延遲,對于提升整體交易吞吐量具有至關(guān)重要的作用。

    3.1.3 分片分配策略

    首先,對區(qū)塊大小在有分片的區(qū)塊鏈系統(tǒng)性能上的影響進行了深入分析。在提出的系統(tǒng)中,當區(qū)塊值減小時,每個數(shù)據(jù)塊的容量增加。圖11展示了在分片數(shù)量固定為24的情況下,區(qū)塊大小對分片總利用率的影響。當區(qū)塊較小時,即便采用區(qū)塊分片算法,精確控制分片利用率也變得困難。這可能導致部分分片利用不足或過度利用,進而對區(qū)塊鏈系統(tǒng)的交易處理速率產(chǎn)生影響。因此,合理選擇區(qū)塊值大小至關(guān)重要,以在系統(tǒng)性能和分片利用率之間找到平衡。這一研究強調(diào)了在設(shè)計具有分片的區(qū)塊鏈系統(tǒng)時需考慮的關(guān)鍵因素。

    其次,分析分片組織算法對區(qū)塊鏈系統(tǒng)的影響。為評估區(qū)塊分片算法性能,停用了動態(tài)分片控制器中的分配策略模塊,將時隙固定為50 s。拜占庭節(jié)點的數(shù)量設(shè)置分別為1個、4個、8個和12個。在所提出的系統(tǒng)中,可創(chuàng)建的分片數(shù)量受拜占庭節(jié)點數(shù)量極大影響。增加一個分片中的拜占庭節(jié)點數(shù)量可能導致在該分片的節(jié)點間達不成共識。系統(tǒng)動態(tài)調(diào)整分片數(shù)量,考慮到拜占庭節(jié)點的預期數(shù)量。從圖12中清晰看出,隨著拜占庭節(jié)點數(shù)量的增加,吞吐量下降,這是由于分片數(shù)量無法增加。當拜占庭節(jié)點為1時,配置12個分片;相反,當拜占庭節(jié)點為12時,配置1個分片。這揭示了拜占庭節(jié)點對于分片動態(tài)調(diào)整和整體性能的重要影響。

    3.2 實驗結(jié)果分析

    在這一部分中,將提出的有分片的區(qū)塊鏈與現(xiàn)有的運行有分片組織的有分片的區(qū)塊鏈進行了比較。本實驗改進的算法將采用基于Golang進行開發(fā),區(qū)塊鏈框架采用Hyperledger Fabric[23框架。在搭建基于Fabric的區(qū)塊鏈,首先要確保在至少多臺服務器上安裝了必要的基礎(chǔ)設(shè)施,包括Docker及其Compose工具、Go編程語言、Node.js、npm和Python 2.7。通過下載Hyperledger Fabric的示例文件夾并執(zhí)行相關(guān)命令,生成證書和創(chuàng)世塊,以確保網(wǎng)絡的安全性和節(jié)點身份驗證。為了驗證所提出的區(qū)塊鏈的性能,最初共創(chuàng)建了120 Byte來動態(tài)組織區(qū)塊鏈網(wǎng)絡,并在所有120 Byte上部署了可追溯智能合約。用戶節(jié)點可以通過動態(tài)分片委員會調(diào)用可追溯智能合約。

    首先,實驗定義兩個分片網(wǎng)絡,分別是傳統(tǒng)分片網(wǎng)絡和分片分配網(wǎng)絡。傳統(tǒng)分片網(wǎng)絡考慮拜占庭節(jié)點,將區(qū)塊分割成多個分片,每個片段可以處理特定范圍內(nèi)的交易。根據(jù)分片順序分配給不同節(jié)點進行共識。分片分配網(wǎng)絡與傳統(tǒng)分片網(wǎng)絡一樣,都能將區(qū)塊劃分為多個分片。區(qū)別在于分片分配網(wǎng)絡可以根據(jù)跨分片次數(shù)權(quán)重進行排序分片操作,但在跨分片交易時候并沒有將有聯(lián)系的數(shù)據(jù)移動到同一個分片當中,會導致過多的跨分片交易事務的產(chǎn)生。

    在所提出的動態(tài)分片區(qū)塊鏈網(wǎng)絡中使用了改進的共識機制進行領(lǐng)導人選舉,但傳統(tǒng)區(qū)塊鏈網(wǎng)絡以及傳統(tǒng)分片網(wǎng)絡并未對共識做優(yōu)化。為了比較區(qū)塊鏈系統(tǒng)的吞吐量以及分片利用率,將改進的共識機制同時應用于三個區(qū)塊鏈系統(tǒng)。為了能夠模擬動態(tài)分片系統(tǒng)中分片分裂過程的各種情況。本文進行了如下設(shè)置:設(shè)置系統(tǒng)內(nèi)有120 Byte,其中包括9個拜占庭節(jié)點,設(shè)置一個ΔT時隙為100 s,即每個ΔT時隙觸發(fā)動態(tài)分片委員會策略進行網(wǎng)絡分片合并操作。結(jié)果如圖13、14所示。

    最初,所有區(qū)塊鏈系統(tǒng)在單一網(wǎng)絡中運行,未對其進行分區(qū)。因此,初始階段并未發(fā)生跨分片交易。系統(tǒng)吞吐量反映了區(qū)塊鏈網(wǎng)絡處理交易的能力。在傳統(tǒng)的分片網(wǎng)絡中,每100 s觸發(fā)一次分片組織模塊,將區(qū)塊鏈網(wǎng)絡分為12個分片。這一變化引發(fā)了跨分片交易的出現(xiàn)。雖然跨分片交易頻繁發(fā)生,但由于12個分片同時處理內(nèi)部交易,整體分片利用率提高。然而,隨著數(shù)據(jù)訪問頻率的波動,跨分片交易顯著增加,導致總體系統(tǒng)吞吐量和分片利用率下降。這種下降源于在區(qū)塊分配中未考慮區(qū)塊之間的相關(guān)性。在分片分配網(wǎng)絡中,系統(tǒng)每100 s將區(qū)塊分為12個分片,將每個區(qū)塊放入與之最相關(guān)的片段。盡管考慮了數(shù)據(jù)相關(guān)性,相較于傳統(tǒng)分片網(wǎng)絡,區(qū)塊鏈系統(tǒng)的吞吐量有所提升。然而不考慮分片利用率的區(qū)塊分配可能導致分片之間的利用率不平衡。由于區(qū)塊數(shù)量與數(shù)據(jù)量相等,動態(tài)將所有區(qū)塊分配到適當?shù)姆制兊美щy,可能限制動態(tài)分片系統(tǒng)的性能。

    在所提出的動態(tài)分片區(qū)塊鏈系統(tǒng)中,分片組織和區(qū)塊分配算法每在100 s內(nèi)執(zhí)行一次??紤]拜占庭節(jié)點數(shù)量,系統(tǒng)總共創(chuàng)建了12個分片,并在分片之間綜合考慮它們的關(guān)系,將區(qū)塊適當?shù)胤峙浣o這12個分片。通過圖15可以看出,相較于現(xiàn)有系統(tǒng),整體利用率和吞吐量在所提出的區(qū)塊鏈系統(tǒng)中得到了提高。這是因為優(yōu)化的區(qū)塊分配最大程度地提高了系統(tǒng)利用率,同時減少了跨分片交易的發(fā)生。此外,由于系統(tǒng)能夠動態(tài)響應數(shù)據(jù)訪問頻率的變化,不會導致性能下降。與結(jié)合動態(tài)分片系統(tǒng)的分片網(wǎng)絡相比,可以清晰地看到利用率和吞吐率提高了64%以上。

    之后,實驗比較當分片數(shù)量為2、8、12時的共識模型的共識延遲。根據(jù)共識模型比較吞吐量。在Paxos、PBFT和fastBFT中,共識領(lǐng)導者以隨機的方式選舉產(chǎn)生。相反,在所提出的共識協(xié)議中,領(lǐng)導者是考慮網(wǎng)絡狀態(tài)而當選的,因此在所提出的共識協(xié)議則有較小的共識時延。根據(jù)共識模型測量了每秒的交易吞吐量。為了響應跨分片交易發(fā)生的變化,實驗將計時器設(shè)置為100 s,觸發(fā)所提出的區(qū)塊分片算法。領(lǐng)導者選舉的計時器設(shè)置為20 s。這意味著領(lǐng)導人幾乎每一輪都是新當選的。其結(jié)果如圖16~18所示。

    在實驗初始階段,頻繁的跨分片交易導致各種共識協(xié)議的低吞吐量。隨著時間推移,經(jīng)過一個時隙后,通過考慮交易關(guān)系并適當安排區(qū)塊,吞吐量在100 s后有所提高。共識延遲對吞吐量產(chǎn)生明顯影響。低共識延遲的共識模型在給定時間內(nèi)經(jīng)歷更多的共識輪次,在提出的共識協(xié)議中實現(xiàn)了最高吞吐量。增加分片數(shù)量的同時,比較了系統(tǒng)吞吐量??梢钥闯觯诳绶制灰装l(fā)生率較低時,增加分片數(shù)量有助于提高系統(tǒng)吞吐量,因為多個分片可以同時處理更多獨立交易。因此,保持低跨分片交易發(fā)生率對于提高系統(tǒng)性能至關(guān)重要。

    最后,本文使用共識協(xié)議ByzCoinX、PBFT和EPoS進行對比實驗。這分別是OmniLedger、Elastico和Harmony區(qū)塊鏈所采用的共識協(xié)議。

    實驗比較了共識模型的共識延遲。在PBFT、ByzCoinX和EPoS中,共識領(lǐng)導者以隨機的方式或競爭方式選舉產(chǎn)生。相反,在所提出的共識協(xié)議中,領(lǐng)導者是考慮網(wǎng)絡狀態(tài)而當選的。如圖19所示,無論采用何種共識模型,隨著參與共識節(jié)點數(shù)量的增加,完成共識所花費的時間逐漸增加。結(jié)果表明,與ByzCoinX和EPoS相比,PBFT通常具有更長的共識延遲,因為PBFT中的每個節(jié)點與所有其他節(jié)點交換共識消息,即全對全消息交換。例外的是,當節(jié)點數(shù)小于5時,共識模型的共識延遲相差不大。這是因為當節(jié)點數(shù)目較少時,EPoS的消息復雜度O(n)與PBFT的消息復雜度O(n2)相差不大。圖20顯示,無論何時選出具有低網(wǎng)絡延遲的領(lǐng)導者,ByzCoinX和EPoS都具有低一致延遲的輪次。在ByzCoinX中,當具有低網(wǎng)絡延遲的對等體被放置在樹的第一個深度時,共識延遲會減少。因此,領(lǐng)導者的網(wǎng)絡狀態(tài)可以使共識延遲相差數(shù)百毫秒。具有低共識延遲的共識模型可以在給定的時間內(nèi)經(jīng)歷更多的共識輪數(shù)。因此,在提出的共識協(xié)議中實現(xiàn)了更低的共識時延,提高系統(tǒng)效率。

    4 結(jié)束語

    針對現(xiàn)有的分片方案不能及時調(diào)整分片的規(guī)模以適應鏈上環(huán)境中跨分片數(shù)量短時間內(nèi)的大幅變化,以及由此導致可擴展性和性能提升困難的問題,本文提出了一種動態(tài)分片自適應模型,該模型考慮到跨分片交易并發(fā)控制操作,分片數(shù)據(jù)之間的相關(guān)性,分片合并分割的利用率以及分片組之間的共識時延問題,提出了動態(tài)分片算法以及領(lǐng)導人選舉機制來解決以上問題。實驗結(jié)果表明,本文提出的動態(tài)分片自適應模型提高了系統(tǒng)的吞吐率以及可擴展性。本文模型還有很多地方需要進一步完善。例如模型中的參數(shù),在面對不同的環(huán)境時是不一樣的,這與系統(tǒng)的安全性要求有關(guān)。另外本文考慮的是在節(jié)點數(shù)量一定的情況下進行動態(tài)分片,并未對整個系統(tǒng)的擴張和收縮進行討論,這些都是下一步的研究方向。

    參考文獻:

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

    [2]袁勇, 王飛躍. 區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望 [J]. 自動化學報, 2016, 42(4):481-49.(Yuan Yong, Wang Feiyue. The current status and prospects of blockchain technology development [J]. Acta Automatica Sinica, 2016, 42(4): 481-49.)

    [3]Ren Yongjun, Liu Xinyu, Sharma P K, et al. Data storage mechanism of industrial IoT based on LRC sharding blockchain [J]. Scientific Reports, 2023, 13(1): 2746.

    [4]王鋒, 張強, 劉揚, 等. 從擴展性角度看區(qū)塊鏈 [J]. 計算機應用研究, 2023, 40(10): 2896-2907.(Wang Feng, Zhang Qiang, Liu Yang, et al. Research progress of blockchain from perspective of scalability [J]. Application Research of Computers, 2023, 40(10): 2896-2907.)

    [5]Liu Chuyi, Wan Jianxiong, Li Leixiao, et al. Throughput optimization for blockchain system with dynamic sharding [J]. Electronics, 2023, 12(24): 4915.

    [6]Zhou Zhixuan, Qiu Zhijie, Yu Qiang, et al. A dynamic sharding protocol design for consortium blockchains [C]// Proc of IEEE International Conference on Big Data. Piscataway,NJ:IEEE Press, 2020: 2590-2595.

    [7]Zhang Jianting, Hong Zicong, Qiu Xiaoyu, et al. Skychain: a deep reinforcement learning-empowered dynamic blockchain sharding system [C]// Proc of the 49th International Conference on Parallel Processing. 2020: 1-11.

    [8]Xi Jinwen, Xu Guosheng, Zou Shihong, et al. A blockchain dynamic sharding scheme based on hidden Markov model in collaborative IoT [J]. IEEE Internet of Things Journal, 2023,10(16): 14896-14907.

    [9]Sun Nigang, Li Junlong, Liu Yining, et al. A scalable sharding protocol based on cross-shard dynamic transaction confirmation for alliance chain in intelligent systems [J]. International Journal on Semantic Web and Information Systems, 2023, 19(1): 1-30.

    [10]Zhang Shuhui,Tian Hanwen, Wang Lianhai, et al. A reputation-based dynamic reorganization scheme for blockchain network sharding [J]. Connection Science, 2024, 36(1): 2327438.

    [11]Cai Ting, Chen Wuhui, Zhang Jianting, et al. SmartChain: a dynamic and self-adaptive sharding framework for IoT blockchain [J]. IEEE Trans on Services Computing, 2024,17(2): 674-688.

    [12]Liu Xiaolong, Muhammad K, Lloret J, et al. Elastic and cost-effective data carrier architecture for smart contract in blockchain [J]. Future Generation Computer Systems, 2019, 100: 590-599.

    [13]Zamani M, Movahedi M, Raykova M. Rapidchain: scaling blockchain via full sharding [C]// Proc of ACM SIGSAC Conference on Computer and Communications Security. New York:ACM Press, 2018: 931-948.

    [14]Lai Ziliang, Liu C, Lo E. When private blockchain meets deterministic database [C]// Proc of ACM on Management of Data. New York:ACM Press, 2023: 1-28.

    [15]Liu Jian, Li Wenting, Karame G O, et al. Scalable Byzantine consensus via hardware-assisted secret sharing [J]. IEEE Trans on Computers, 2018, 68(1): 139-151.

    [16]Lamport L. Paxos made simple [J]. ACM SIGACT News (Distri-buted Computing Column), 2001,32(4): 51-58.

    [17]歐陽麗煒, 王帥, 袁勇,等. 智能合約:架構(gòu)及進展 [J]. 自動化學報, 2019, 45(3): 445-457.(Ouyang Liwei, Wang Shuai, Yuan Yong, et al. Smart contracts: architecture and progress [J]. Acta Automatica Sinica, 2019, 45(3): 445-457.)

    [18]Jalalzai M M, Niu Jianyu, Feng Chen, et al. Fast-hotstuff: a fast and robust BFT protocol for blockchains [J]. IEEE Trans on Dependable and Secure Computing, 2023,21(4): 2478-2493.

    [19]Ahmed M, Seraj R, Islam S M S. The K-means algorithm: a comprehensive survey and performance evaluation [J]. Electronics, 2020, 9(8): 1295.

    [20]Lu Chao, Zheng Jun, Yin Lyujiang, et al. An improved iterated greedy algorithm for the distributed hybrid flowshop scheduling problem [J]. Engineering Optimization, 2023,152: 1-19.

    [21]Choi W, Hong J W K. Performance evaluation of Ethereum private and testnet networks using Hyperledger caliper [C]// Proc of the 22nd Asia-Pacific Network Operations and Management Symposium. Piscataway,NJ:IEEE Press, 2021: 325-329.

    [22]Carson M, Santay D. NIST Net: a Linux-based network emulation tool [J]. ACM SIGCOMM Computer Communication Review, 2003, 33(3): 111-126.

    [23]Androulaki E, Barger A, Bortnikov V, et al. Hyperledger Fabric: a distributed operating system for permissioned blockchains [C]// Proc of the 13th EuroSys Conference. 2018: 1-15.

    亚洲国产日韩一区二区| 精品久久蜜臀av无| 欧美少妇被猛烈插入视频| 国产男女超爽视频在线观看| 人妻少妇偷人精品九色| 免费高清在线观看视频在线观看| 欧美 亚洲 国产 日韩一| 精品国产露脸久久av麻豆| 曰老女人黄片| 美女国产视频在线观看| 国产白丝娇喘喷水9色精品| 男人舔女人的私密视频| 王馨瑶露胸无遮挡在线观看| 草草在线视频免费看| 欧美最新免费一区二区三区| 午夜老司机福利剧场| 大陆偷拍与自拍| 高清毛片免费看| 丝袜脚勾引网站| 日韩av免费高清视频| 成人午夜精彩视频在线观看| 久久久久国产精品人妻一区二区| 久久精品久久精品一区二区三区| 熟女av电影| 黑人欧美特级aaaaaa片| 欧美亚洲 丝袜 人妻 在线| kizo精华| 国产在线一区二区三区精| 精品久久久精品久久久| 天天躁夜夜躁狠狠久久av| 晚上一个人看的免费电影| 国产精品三级大全| 中文欧美无线码| 国产成人精品福利久久| 丁香六月天网| 亚洲国产精品一区二区三区在线| 成年av动漫网址| 成人毛片60女人毛片免费| 亚洲国产色片| 国产亚洲精品久久久com| 国产男女超爽视频在线观看| 国产欧美日韩一区二区三区在线| 亚洲欧洲日产国产| 国产福利在线免费观看视频| 久久精品国产a三级三级三级| 国产精品三级大全| 国产免费福利视频在线观看| 久久久a久久爽久久v久久| 国产精品人妻久久久影院| 精品一区二区三卡| 2021少妇久久久久久久久久久| 少妇被粗大猛烈的视频| 亚洲第一av免费看| 精品午夜福利在线看| 国产欧美亚洲国产| 一二三四中文在线观看免费高清| 久久99一区二区三区| 免费人成在线观看视频色| 中文字幕免费在线视频6| 久久99热6这里只有精品| 久久午夜综合久久蜜桃| 亚洲精品,欧美精品| 99国产综合亚洲精品| 伦精品一区二区三区| 97在线人人人人妻| 97在线人人人人妻| 下体分泌物呈黄色| 黄色毛片三级朝国网站| 亚洲av.av天堂| 亚洲精品,欧美精品| av在线观看视频网站免费| 亚洲国产精品一区二区三区在线| 日韩,欧美,国产一区二区三区| 91成人精品电影| 热re99久久精品国产66热6| 女的被弄到高潮叫床怎么办| 成人漫画全彩无遮挡| 一本—道久久a久久精品蜜桃钙片| 香蕉国产在线看| 成人毛片a级毛片在线播放| 99精国产麻豆久久婷婷| 色网站视频免费| 汤姆久久久久久久影院中文字幕| 亚洲,欧美,日韩| 国产淫语在线视频| 18禁国产床啪视频网站| 精品99又大又爽又粗少妇毛片| 校园人妻丝袜中文字幕| 久久热在线av| 又粗又硬又长又爽又黄的视频| 免费观看a级毛片全部| 街头女战士在线观看网站| 亚洲美女黄色视频免费看| 国产精品成人在线| 欧美bdsm另类| 国产一区二区在线观看av| 人人妻人人澡人人看| 日本色播在线视频| 日韩一本色道免费dvd| 大话2 男鬼变身卡| 亚洲人成77777在线视频| 久久久久精品人妻al黑| 免费看不卡的av| 另类亚洲欧美激情| 18+在线观看网站| 少妇被粗大的猛进出69影院 | 美女内射精品一级片tv| 王馨瑶露胸无遮挡在线观看| 日日爽夜夜爽网站| 婷婷色综合www| 人妻少妇偷人精品九色| 51国产日韩欧美| 国产精品99久久99久久久不卡 | 九草在线视频观看| 深夜精品福利| 男人添女人高潮全过程视频| 日韩一区二区视频免费看| 美女中出高潮动态图| 亚洲美女搞黄在线观看| 飞空精品影院首页| 内地一区二区视频在线| 国产无遮挡羞羞视频在线观看| 国产精品一二三区在线看| 成人二区视频| 97在线人人人人妻| 午夜福利乱码中文字幕| 久久精品aⅴ一区二区三区四区 | 欧美日韩视频高清一区二区三区二| 2018国产大陆天天弄谢| 国产一区亚洲一区在线观看| 国产国拍精品亚洲av在线观看| 国产成人精品婷婷| 国产亚洲欧美精品永久| 少妇的丰满在线观看| 高清av免费在线| 丰满乱子伦码专区| 久久人人爽av亚洲精品天堂| 青春草亚洲视频在线观看| 免费观看性生交大片5| 久久人人爽av亚洲精品天堂| 咕卡用的链子| 亚洲国产色片| 麻豆精品久久久久久蜜桃| 国产欧美日韩一区二区三区在线| 韩国精品一区二区三区 | 午夜av观看不卡| 18禁裸乳无遮挡动漫免费视频| 少妇的丰满在线观看| 成人国语在线视频| 色哟哟·www| 久久热在线av| 亚洲,一卡二卡三卡| 人妻人人澡人人爽人人| 国产成人aa在线观看| 久久精品夜色国产| 天天躁夜夜躁狠狠躁躁| 国产无遮挡羞羞视频在线观看| av黄色大香蕉| 精品人妻在线不人妻| 久久久久精品人妻al黑| 色94色欧美一区二区| 国产欧美亚洲国产| 亚洲欧美一区二区三区黑人 | 看十八女毛片水多多多| 免费大片黄手机在线观看| 成年人免费黄色播放视频| 日本免费在线观看一区| 久久99一区二区三区| 亚洲精品,欧美精品| 最近最新中文字幕免费大全7| 亚洲美女视频黄频| 国产精品无大码| 欧美日韩成人在线一区二区| av福利片在线| 亚洲国产精品专区欧美| 九色成人免费人妻av| 91aial.com中文字幕在线观看| a级毛色黄片| a 毛片基地| 超碰97精品在线观看| 国产一级毛片在线| 久久久久久人妻| 十八禁高潮呻吟视频| 成人午夜精彩视频在线观看| 欧美激情国产日韩精品一区| av有码第一页| 大话2 男鬼变身卡| 99国产综合亚洲精品| 高清黄色对白视频在线免费看| 纵有疾风起免费观看全集完整版| 国产精品 国内视频| 国产精品一国产av| 一区二区av电影网| 桃花免费在线播放| 国产日韩一区二区三区精品不卡| 卡戴珊不雅视频在线播放| 中文字幕精品免费在线观看视频 | 国产精品一区二区在线观看99| 中文字幕人妻丝袜制服| 男的添女的下面高潮视频| 一区二区av电影网| 中国国产av一级| 最后的刺客免费高清国语| 天堂俺去俺来也www色官网| 男女午夜视频在线观看 | 黑人高潮一二区| 高清av免费在线| 久久热在线av| 免费日韩欧美在线观看| 飞空精品影院首页| 成人综合一区亚洲| 精品视频人人做人人爽| 看十八女毛片水多多多| 22中文网久久字幕| 一区在线观看完整版| 亚洲精品色激情综合| av又黄又爽大尺度在线免费看| 在线观看美女被高潮喷水网站| 好男人视频免费观看在线| a级毛片黄视频| 在线观看www视频免费| 国产成人精品一,二区| 国产欧美亚洲国产| 亚洲精品视频女| 国产精品国产三级专区第一集| 视频区图区小说| 人人澡人人妻人| 亚洲五月色婷婷综合| 久久久国产欧美日韩av| 欧美变态另类bdsm刘玥| www.av在线官网国产| 国产女主播在线喷水免费视频网站| 99热国产这里只有精品6| √禁漫天堂资源中文www| av国产精品久久久久影院| 夜夜骑夜夜射夜夜干| 亚洲成人一二三区av| 亚洲av在线观看美女高潮| 在线精品无人区一区二区三| 插逼视频在线观看| 汤姆久久久久久久影院中文字幕| 黑人高潮一二区| xxxhd国产人妻xxx| 九色亚洲精品在线播放| av线在线观看网站| 久久精品aⅴ一区二区三区四区 | 99久国产av精品国产电影| 51国产日韩欧美| 亚洲国产毛片av蜜桃av| 国产伦理片在线播放av一区| 纵有疾风起免费观看全集完整版| 久久精品久久久久久噜噜老黄| 中文字幕最新亚洲高清| 欧美人与性动交α欧美软件 | 成人免费观看视频高清| 久久国产精品大桥未久av| 91国产中文字幕| 又粗又硬又长又爽又黄的视频| av国产久精品久网站免费入址| 婷婷成人精品国产| 另类亚洲欧美激情| 欧美激情国产日韩精品一区| 99精国产麻豆久久婷婷| 中文欧美无线码| 桃花免费在线播放| 青春草亚洲视频在线观看| 毛片一级片免费看久久久久| 亚洲av免费高清在线观看| 黄网站色视频无遮挡免费观看| 国产色爽女视频免费观看| 国产欧美亚洲国产| 国产有黄有色有爽视频| 日本wwww免费看| av一本久久久久| 99九九在线精品视频| 亚洲国产精品国产精品| 在线观看免费视频网站a站| 亚洲在久久综合| 大陆偷拍与自拍| 在线观看免费日韩欧美大片| 五月玫瑰六月丁香| 91精品国产国语对白视频| 99热这里只有是精品在线观看| 国产日韩欧美在线精品| 国产男女超爽视频在线观看| 亚洲精品美女久久av网站| 免费看不卡的av| 最近最新中文字幕大全免费视频 | 国产高清三级在线| 国产成人午夜福利电影在线观看| 免费看光身美女| 老司机影院毛片| 亚洲av日韩在线播放| 少妇的丰满在线观看| 亚洲精品国产av成人精品| 51国产日韩欧美| 天天躁夜夜躁狠狠躁躁| 久久久久国产网址| 男女免费视频国产| 亚洲经典国产精华液单| 天天操日日干夜夜撸| 欧美人与性动交α欧美精品济南到 | 在线观看美女被高潮喷水网站| 亚洲精品日本国产第一区| 中文字幕亚洲精品专区| 久久久久国产网址| 亚洲精品日韩在线中文字幕| 国产亚洲欧美精品永久| 毛片一级片免费看久久久久| 一级黄片播放器| 高清毛片免费看| av有码第一页| 欧美亚洲 丝袜 人妻 在线| 亚洲综合色网址| 99九九在线精品视频| 久久精品久久久久久久性| 国产午夜精品一二区理论片| 亚洲成色77777| 91aial.com中文字幕在线观看| 日本爱情动作片www.在线观看| 又黄又粗又硬又大视频| 亚洲精品中文字幕在线视频| 免费少妇av软件| 成人亚洲精品一区在线观看| 亚洲天堂av无毛| 欧美日韩视频高清一区二区三区二| 热99国产精品久久久久久7| 丝袜喷水一区| 国产精品一区二区在线观看99| 久久这里只有精品19| 免费观看无遮挡的男女| 欧美成人精品欧美一级黄| 久久久国产欧美日韩av| 欧美最新免费一区二区三区| 日本av免费视频播放| 黑人高潮一二区| 男男h啪啪无遮挡| 国产免费一区二区三区四区乱码| 国产老妇伦熟女老妇高清| 老女人水多毛片| tube8黄色片| 亚洲成人av在线免费| 精品一区二区免费观看| av天堂久久9| 成人二区视频| 在线精品无人区一区二区三| 日产精品乱码卡一卡2卡三| 有码 亚洲区| 男人爽女人下面视频在线观看| 80岁老熟妇乱子伦牲交| 国产永久视频网站| 国产综合精华液| 秋霞在线观看毛片| 天堂俺去俺来也www色官网| 午夜福利,免费看| 男女免费视频国产| www.熟女人妻精品国产 | 亚洲中文av在线| 日韩一本色道免费dvd| 国产男女内射视频| 久久97久久精品| 美女视频免费永久观看网站| 女性生殖器流出的白浆| 国产精品秋霞免费鲁丝片| 免费女性裸体啪啪无遮挡网站| 国产熟女欧美一区二区| a级毛片在线看网站| 汤姆久久久久久久影院中文字幕| 色婷婷av一区二区三区视频| 最近中文字幕高清免费大全6| 国产成人aa在线观看| 日本91视频免费播放| 91精品三级在线观看| 精品一区二区三区四区五区乱码 | 久久这里只有精品19| 久久久久网色| 亚洲第一av免费看| 亚洲精品自拍成人| 国产精品三级大全| 欧美日韩av久久| 免费看不卡的av| 香蕉国产在线看| 亚洲精品av麻豆狂野| 国产成人欧美| 国产在线视频一区二区| 十分钟在线观看高清视频www| 日韩成人av中文字幕在线观看| 国产精品久久久久久精品古装| 日韩一区二区视频免费看| 亚洲激情五月婷婷啪啪| 成人18禁高潮啪啪吃奶动态图| 丰满饥渴人妻一区二区三| 秋霞伦理黄片| 成人免费观看视频高清| 亚洲国产av新网站| 亚洲国产最新在线播放| 亚洲精品国产av蜜桃| 久久久久久久久久人人人人人人| 最新中文字幕久久久久| 免费久久久久久久精品成人欧美视频 | 丰满乱子伦码专区| av.在线天堂| 久久久久网色| av.在线天堂| 看十八女毛片水多多多| 日本与韩国留学比较| 9191精品国产免费久久| 高清在线视频一区二区三区| 精品酒店卫生间| 欧美bdsm另类| 一二三四中文在线观看免费高清| 极品少妇高潮喷水抽搐| 欧美激情极品国产一区二区三区 | 久久久久国产精品人妻一区二区| 亚洲国产看品久久| 国产精品 国内视频| 免费观看无遮挡的男女| 自线自在国产av| 国产不卡av网站在线观看| 欧美日韩视频精品一区| 视频中文字幕在线观看| videos熟女内射| av.在线天堂| 黑人高潮一二区| 51国产日韩欧美| 亚洲精品久久成人aⅴ小说| 日本午夜av视频| 精品久久久精品久久久| 午夜影院在线不卡| 日韩av在线免费看完整版不卡| 久久热在线av| 女人被躁到高潮嗷嗷叫费观| 成年美女黄网站色视频大全免费| 亚洲av福利一区| 一边摸一边做爽爽视频免费| 欧美日韩综合久久久久久| 亚洲欧洲日产国产| 黄色视频在线播放观看不卡| 国产午夜精品一二区理论片| 日韩av不卡免费在线播放| 一二三四中文在线观看免费高清| 女的被弄到高潮叫床怎么办| 国产免费现黄频在线看| 777米奇影视久久| 女性被躁到高潮视频| 久久鲁丝午夜福利片| 精品久久蜜臀av无| 免费黄色在线免费观看| 亚洲一码二码三码区别大吗| 亚洲av电影在线观看一区二区三区| av在线老鸭窝| 99热国产这里只有精品6| 久久人人爽人人片av| 插逼视频在线观看| 91在线精品国自产拍蜜月| 国产精品国产av在线观看| 国产熟女午夜一区二区三区| 久久久久网色| 91精品三级在线观看| 男女边吃奶边做爰视频| 国产男人的电影天堂91| 久久99热这里只频精品6学生| 日韩精品免费视频一区二区三区 | 午夜免费鲁丝| 国产日韩欧美在线精品| 少妇人妻 视频| 黄网站色视频无遮挡免费观看| 亚洲欧美一区二区三区黑人 | 一二三四中文在线观看免费高清| 欧美97在线视频| 少妇人妻 视频| 欧美亚洲日本最大视频资源| 中文天堂在线官网| 丰满少妇做爰视频| 久久毛片免费看一区二区三区| 国产成人免费观看mmmm| 亚洲精品456在线播放app| 高清黄色对白视频在线免费看| 久久韩国三级中文字幕| 欧美+日韩+精品| 九色成人免费人妻av| av黄色大香蕉| 亚洲一区二区三区欧美精品| 一区二区三区乱码不卡18| 人人妻人人爽人人添夜夜欢视频| 国产激情久久老熟女| 国产精品麻豆人妻色哟哟久久| 最黄视频免费看| 欧美日韩av久久| 国产欧美亚洲国产| 亚洲国产精品一区三区| 两个人免费观看高清视频| 日韩大片免费观看网站| 亚洲精品国产av蜜桃| 如日韩欧美国产精品一区二区三区| 欧美日韩av久久| av.在线天堂| 美女内射精品一级片tv| 国产探花极品一区二区| 久久久国产一区二区| 丁香六月天网| 国产欧美日韩综合在线一区二区| 人妻系列 视频| 男的添女的下面高潮视频| 好男人视频免费观看在线| 99re6热这里在线精品视频| 欧美少妇被猛烈插入视频| 精品亚洲乱码少妇综合久久| 99香蕉大伊视频| 精品一区二区三区视频在线| 在线天堂最新版资源| 一二三四中文在线观看免费高清| 另类亚洲欧美激情| 欧美另类一区| 国产亚洲av片在线观看秒播厂| 亚洲色图 男人天堂 中文字幕 | 亚洲精品色激情综合| 一二三四中文在线观看免费高清| 日韩欧美一区视频在线观看| 十分钟在线观看高清视频www| 美女视频免费永久观看网站| 制服丝袜香蕉在线| 欧美人与性动交α欧美软件 | 美国免费a级毛片| 欧美+日韩+精品| 国产精品女同一区二区软件| 久热这里只有精品99| 国产 一区精品| 亚洲精品成人av观看孕妇| 日韩人妻精品一区2区三区| av不卡在线播放| 中文字幕人妻丝袜制服| 嫩草影院入口| 久久久久久久久久久免费av| 日韩成人av中文字幕在线观看| 亚洲国产精品999| 国产视频首页在线观看| 考比视频在线观看| 国产精品三级大全| 精品国产一区二区三区四区第35| 亚洲av男天堂| 精品亚洲成国产av| 少妇人妻 视频| 免费黄网站久久成人精品| 国产极品粉嫩免费观看在线| 如何舔出高潮| 国产熟女午夜一区二区三区| 亚洲av综合色区一区| 超色免费av| 国产精品国产三级国产专区5o| 91午夜精品亚洲一区二区三区| 男人爽女人下面视频在线观看| 亚洲欧美一区二区三区黑人 | av在线播放精品| 尾随美女入室| 亚洲精品国产色婷婷电影| 男女午夜视频在线观看 | 蜜桃国产av成人99| 久久99精品国语久久久| 久久精品夜色国产| 日韩人妻精品一区2区三区| 51国产日韩欧美| 满18在线观看网站| 亚洲综合精品二区| 香蕉丝袜av| 夜夜骑夜夜射夜夜干| 精品国产露脸久久av麻豆| videossex国产| 在线天堂最新版资源| 午夜福利影视在线免费观看| 午夜福利在线观看免费完整高清在| 丝袜美足系列| 99国产综合亚洲精品| 午夜91福利影院| 老司机影院毛片| 一区二区三区乱码不卡18| 你懂的网址亚洲精品在线观看| 欧美人与性动交α欧美软件 | 成人无遮挡网站| av有码第一页| 毛片一级片免费看久久久久| 亚洲人成77777在线视频| 咕卡用的链子| 你懂的网址亚洲精品在线观看| 久久国内精品自在自线图片| 天堂中文最新版在线下载| 国产精品一区www在线观看| 亚洲精品日韩在线中文字幕| 丰满饥渴人妻一区二区三| 国产极品天堂在线| 黄网站色视频无遮挡免费观看| 欧美日韩成人在线一区二区| 亚洲精品中文字幕在线视频| 日韩中字成人| 免费黄网站久久成人精品| 亚洲美女视频黄频| tube8黄色片| www.熟女人妻精品国产 | 色哟哟·www| 国产精品国产av在线观看| 黑人欧美特级aaaaaa片| 日韩,欧美,国产一区二区三区| 国产成人免费无遮挡视频| 熟女电影av网| 国内精品宾馆在线| 亚洲精品aⅴ在线观看| 侵犯人妻中文字幕一二三四区| a级毛片在线看网站| 一边摸一边做爽爽视频免费| 国产精品偷伦视频观看了| 女人被躁到高潮嗷嗷叫费观| 免费播放大片免费观看视频在线观看| 国产日韩欧美亚洲二区| 各种免费的搞黄视频| 日韩精品免费视频一区二区三区 |