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

    基于CITA區(qū)塊鏈的糾刪碼分片存儲(chǔ)實(shí)現(xiàn)

    2021-03-14 02:12:19尹笑蓉朱承宇趙斌張召
    關(guān)鍵詞:區(qū)塊鏈

    尹笑蓉 朱承宇 趙斌 張召

    摘要:區(qū)塊鏈系統(tǒng)采用全復(fù)制的數(shù)據(jù)存儲(chǔ)機(jī)制,為每個(gè)節(jié)點(diǎn)保留整個(gè)區(qū)塊鏈的完整副本,系統(tǒng)擴(kuò)展性差. 同時(shí)由于區(qū)塊鏈系統(tǒng)中拜占庭節(jié)點(diǎn)的存在,導(dǎo)致傳統(tǒng)分布式系統(tǒng)中使用的分片方案不能被直接應(yīng)用于區(qū) 塊鏈系統(tǒng)中.本文結(jié)合糾刪碼和拜占庭容錯(cuò)算法,使每個(gè)區(qū)塊的存儲(chǔ)消耗由O(n)降到0(1),增強(qiáng)了系統(tǒng)的 可擴(kuò)展性.本文還提出了對(duì)區(qū)塊數(shù)據(jù)進(jìn)行劃分的方法,在降低存儲(chǔ)冗余的同時(shí)減小對(duì)查詢(xún)效率的影響.提 出了無(wú)需網(wǎng)絡(luò)通信的編碼塊存儲(chǔ)方法,降低了系統(tǒng)存儲(chǔ)和通信開(kāi)銷(xiāo).還提出了區(qū)塊鏈節(jié)點(diǎn)加入和退出的動(dòng) 態(tài)重編碼方法,既保證系統(tǒng)的穩(wěn)定性,又降低了系統(tǒng)重編碼開(kāi)銷(xiāo).最后,在開(kāi)源區(qū)塊鏈系統(tǒng)CITA上實(shí)現(xiàn), 并通過(guò)充分的實(shí)驗(yàn),證明系統(tǒng)可擴(kuò)展性、可用性和存儲(chǔ)效率提升.

    關(guān)鍵詞:區(qū)塊鏈;糾刪碼;拜占庭容錯(cuò);存儲(chǔ)可擴(kuò)展性

    中圖分類(lèi)號(hào):TP302?????? 文獻(xiàn)標(biāo)志碼:A DOI: 10.3969/j.issn.1000-5641.2021.05.005

    Erasure code partition storage based on the CITA blockchain

    YIN Furong1, ZHU Chengyu1, ZHAO Bin2, ZHANG Zhao1

    (X. School of Data Science and Engineering, East China Normal University, Shanghai 200062, China;

    2. School of Computer and Electronic Information/School of Artificial Intelligence,

    Nanjing Normal University, Nanjing 210023, China)

    Abstract: Blockchain system adopts full replication data storage mechanism, which retains a complete copy of the whole block chain for each node. The scalability of the system is poor. Due to the existence of Byzantine nodes in the blockchain system, the shard scheme used in the traditional distributed system cannot be directly applied in the blockchain system. In this paper, the storage consumption of each block is reduced from O(n) to O(1) by combining erasure code and Byzantine fault-tolerant algorithm, and the scalability of the system is enhanced. This paper proposes a method to partition block data, which can reduce the storage redundancy and affect the query efficiency less. A coding block storage method without network communication is proposed to reduce the system storage and communication overhead. In addition, a dynamic recoding method for entry and exit of blockchain nodes is proposed, which not only ensures the reliability of the system, but also reduces the system recoding overhead. Finally, the system is implemented on the open source blockchain system CITA, and through sufficient experiments, it is proved that the system has improved scalability, availability and storage efficiency.

    Keywords: blockchain; erasure code; Byzantine fault tolerance; storage scalability

    收稿日期:2021-08-07

    基金項(xiàng)目:國(guó)家自然科學(xué)基金(U1811264,U1911203, 6197215(2)

    通信作者:張召,女,教授,博士生導(dǎo)師,研究方向?yàn)閰^(qū)塊鏈系統(tǒng)研發(fā)、海量數(shù)據(jù)管理與分析

    E-mail: zhzhang@dase.ecnu.edu.cn

    0引 言

    區(qū)塊鏈?zhǔn)且环N分布式、去中心化、無(wú)需信任的數(shù)據(jù)庫(kù)系統(tǒng),正在被越來(lái)越廣泛地應(yīng)用于金融管 理、銀行、保險(xiǎn)等領(lǐng)域.在區(qū)塊鏈網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都需要遵守基于密碼學(xué)的規(guī)則,每筆交易都需要與 網(wǎng)絡(luò)中的其他節(jié)點(diǎn)達(dá)成共識(shí),不需要任何第三方機(jī)構(gòu)背書(shū),降低了運(yùn)行成本.

    隨著區(qū)塊鏈系統(tǒng)規(guī)模的不斷擴(kuò)大,全復(fù)制的方法已經(jīng)不能適應(yīng)海量數(shù)據(jù)的增長(zhǎng)需求.全復(fù)制存儲(chǔ) 機(jī)制中數(shù)據(jù)量隨節(jié)點(diǎn)數(shù)量增加線(xiàn)性增長(zhǎng),整個(gè)系統(tǒng)需要投入巨大的存儲(chǔ)空間來(lái)保存區(qū)塊,在有N個(gè)參與者的情況下,每個(gè)塊的總體存儲(chǔ)消耗為O(N).目前,逐步提高的交易吞吐率導(dǎo)致存儲(chǔ)成為了整個(gè)區(qū) 塊鏈擴(kuò)展的瓶頸.研究者一直在尋找一種高效的區(qū)塊鏈擴(kuò)容方案.

    為了緩解區(qū)塊鏈系統(tǒng)的存儲(chǔ)擴(kuò)展性問(wèn)題,業(yè)界提出了許多方案.如只在客戶(hù)端保留區(qū)塊頭部,在 全節(jié)點(diǎn)保留著完整區(qū)塊的輕量級(jí)客戶(hù)端[1-21.其雖然減輕了客戶(hù)端的存儲(chǔ)壓力,但每個(gè)全節(jié)點(diǎn)仍保留所 有區(qū)塊數(shù)據(jù)的完整副本.閃電網(wǎng)絡(luò)收集多個(gè)微支付,最終僅將余額信息上傳到區(qū)塊鏈網(wǎng)絡(luò)上,其雖 然減輕了每個(gè)節(jié)點(diǎn)的存儲(chǔ)壓力,但沒(méi)有從根本上解決區(qū)塊數(shù)據(jù)全復(fù)制的問(wèn)題.分片技術(shù)[4-5]將區(qū)塊鏈網(wǎng) 絡(luò)分成多個(gè)組,每個(gè)組存儲(chǔ)系統(tǒng)中的部分?jǐn)?shù)據(jù),但在同一組內(nèi),仍采取了全復(fù)制的存儲(chǔ)方式.

    糾刪碼是一種數(shù)據(jù)保護(hù)方法,最初被用于解決網(wǎng)絡(luò)傳輸中的丟包問(wèn)題,后被推廣到存儲(chǔ)領(lǐng)域,可 提高存儲(chǔ)的可靠性.本文繼承BFT (Byzantine Fault Tolerance,拜占庭容錯(cuò))協(xié)議的假設(shè),實(shí)現(xiàn)了一 種基于糾刪碼的區(qū)塊鏈系統(tǒng),即在有n個(gè)節(jié)點(diǎn)的系統(tǒng)中,最多有/=「?]個(gè)節(jié)點(diǎn)是能夠入侵甚至破 壞整個(gè)網(wǎng)絡(luò)的拜占庭節(jié)點(diǎn).為了保證基于糾刪碼的系統(tǒng)在有/個(gè)節(jié)點(diǎn)發(fā)生故障時(shí)仍能正常運(yùn)行,須保 證糾刪碼編碼后的冗余塊個(gè)數(shù)不小于/,同時(shí)為降低冗余度,令冗余塊個(gè)數(shù)為/.與全復(fù)制的存儲(chǔ)方式 相比,本文實(shí)現(xiàn)的方法可以降低數(shù)據(jù)存儲(chǔ)的冗余度,且不降低數(shù)據(jù)的可靠性.

    本文的主要貢獻(xiàn)如下:

    (1)設(shè)計(jì)了糾刪碼編碼前原始區(qū)塊數(shù)據(jù)劃分的方法.采用區(qū)塊區(qū)間劃分的方法對(duì)一個(gè)區(qū)塊區(qū)間內(nèi) 的區(qū)塊進(jìn)行劃分,使得進(jìn)行編碼塊存儲(chǔ)時(shí),一個(gè)區(qū)塊的信息只存在于一個(gè)節(jié)點(diǎn)中;

    (2)設(shè)計(jì)了無(wú)需節(jié)點(diǎn)間通信的編碼塊存儲(chǔ)方法.利用區(qū)塊頭部的共識(shí)節(jié)點(diǎn)公鑰地址列表全局一致 的特性,在不需要節(jié)點(diǎn)通信的情況下,每個(gè)節(jié)點(diǎn)只保留一個(gè)對(duì)應(yīng)的編碼塊,全網(wǎng)擁有所有編碼塊的完 整信息;

    (3)設(shè)計(jì)了依據(jù)節(jié)點(diǎn)的加入和退出動(dòng)態(tài)同步編碼的方法.通過(guò)動(dòng)態(tài)同步編碼,解決節(jié)點(diǎn)加入和退 出引起的系統(tǒng)存儲(chǔ)消耗和容錯(cuò)能力下降的問(wèn)題;

    (4)在開(kāi)源區(qū)塊鏈系統(tǒng)CITA (https://citahub.com/)上實(shí)現(xiàn)了以上設(shè)計(jì).

    1 相關(guān)工作

    糾刪碼(Erasure Code)[6-7]是一種可以在存儲(chǔ)系統(tǒng)和通信系統(tǒng)中實(shí)現(xiàn)高可用性和高可靠性的前向 錯(cuò)誤糾正技術(shù).在網(wǎng)絡(luò)傳輸中,其主要用于丟包恢復(fù);在存儲(chǔ)系統(tǒng)中,其主要應(yīng)用于提高存儲(chǔ)的可靠 性.與多副本的冗余復(fù)制方式相比,糾刪碼技術(shù)能夠在保證數(shù)據(jù)可靠性的基礎(chǔ)上降低數(shù)據(jù)存儲(chǔ)的冗 余度.

    CITA是一個(gè)開(kāi)源的企業(yè)級(jí)聯(lián)盟區(qū)塊鏈.CITA采用BFT共識(shí)算法,當(dāng)系統(tǒng)中有1/3的節(jié)點(diǎn)作惡 的情況下,仍能正常工作.其采用全復(fù)制的冗余存儲(chǔ)方式,每個(gè)節(jié)點(diǎn)存儲(chǔ)整個(gè)區(qū)塊鏈的完整副本.CITA 對(duì)自身的共識(shí)機(jī)制和底層邏輯進(jìn)行了深度優(yōu)化.

    隨著區(qū)塊鏈系統(tǒng)應(yīng)用的領(lǐng)域越來(lái)越廣泛,區(qū)塊鏈系統(tǒng)存儲(chǔ)帶來(lái)的存儲(chǔ)擴(kuò)展性差,對(duì)服務(wù)器節(jié)點(diǎn)存 儲(chǔ)性能要求高的問(wèn)題漸漸地顯露出來(lái),這造成了區(qū)塊鏈技術(shù)落地困難和存儲(chǔ)成本高的問(wèn)題.國(guó)內(nèi)外針

    對(duì)區(qū)塊鏈的存儲(chǔ)問(wèn)題做了許多研究.總體而言,雖然眾多的模型各有特色,但它們都有許多不足之處, 如賈大宇等[8]的模型對(duì)數(shù)據(jù)進(jìn)行不平均存儲(chǔ),導(dǎo)致系統(tǒng)的去中心化水平降低,Dai等[9]只是提出了一 個(gè)框架,并沒(méi)有形成完整的編碼方案,而Xu等[10]設(shè)計(jì)的方法不適用于交易吞吐量較高的應(yīng)用.

    目前,糾刪碼在分布式系統(tǒng)中的應(yīng)用已比較成熟,但由于區(qū)塊鏈系統(tǒng)中拜占庭節(jié)點(diǎn)的存在,不能 將其移植到區(qū)塊鏈中.將糾刪碼技術(shù)應(yīng)用于區(qū)塊鏈存儲(chǔ)系統(tǒng)優(yōu)化的研究較少,Perard等[11]在區(qū)塊鏈系 統(tǒng)中存儲(chǔ)能力較弱的節(jié)點(diǎn)上使用糾刪碼,雖在一定程度上降低了區(qū)塊鏈的存儲(chǔ)消耗,但導(dǎo)致系統(tǒng)去中 心化水平降低.同時(shí),其并未處理拜占庭節(jié)點(diǎn)的錯(cuò)誤信息,系統(tǒng)的穩(wěn)定性較差. Qi等[12]的研究將糾刪 碼和拜占庭容錯(cuò)算法相結(jié)合,不僅降低了區(qū)塊鏈系統(tǒng)的存儲(chǔ)消耗,更使系統(tǒng)數(shù)據(jù)可靠性得到保障,但 其編碼、查詢(xún)效率較低,在實(shí)際應(yīng)用中延遲較高.

    2?????? 基于糾刪碼的區(qū)塊鏈分片存儲(chǔ)方法設(shè)計(jì)

    2.1系統(tǒng)架構(gòu)

    本系統(tǒng)是一個(gè)基于糾刪碼分片存儲(chǔ)的區(qū)塊鏈系統(tǒng).每個(gè)用戶(hù)通過(guò)客戶(hù)端將交易發(fā)送到系統(tǒng),并暫 存在交易池中.每隔一段時(shí)間,交易池中的交易被打包成一個(gè)區(qū)塊,在節(jié)點(diǎn)之間對(duì)其進(jìn)行共識(shí),然后緩 存在系統(tǒng)中,最后經(jīng)過(guò)糾刪碼編碼,分布存儲(chǔ)在系統(tǒng)的節(jié)點(diǎn)上.系統(tǒng)框架如圖1所示,3個(gè)主要組成部 分為:糾刪碼模塊、查詢(xún)模塊和動(dòng)態(tài)重編碼模塊.

    2.1.1糾刪碼模塊

    糾刪碼模塊包括編碼器和解碼器兩個(gè)子模塊.區(qū)塊緩存中的區(qū)塊序列,經(jīng)過(guò)區(qū)塊區(qū)間劃分,形成 原始數(shù)據(jù)塊,通過(guò)編碼器編碼,形成糾刪碼編碼塊.每個(gè)節(jié)點(diǎn)根據(jù)自身在共識(shí)列表中的位置,存儲(chǔ)對(duì)應(yīng) 的編碼塊,丟棄其余塊.系統(tǒng)并不是在一個(gè)節(jié)點(diǎn)上將區(qū)塊編碼成數(shù)據(jù)塊,然后將它們分派給其他節(jié)點(diǎn), 而是在每個(gè)節(jié)點(diǎn)上獨(dú)立編碼,無(wú)需節(jié)點(diǎn)間網(wǎng)絡(luò)通信.所有的節(jié)點(diǎn)都遵循相同的編碼規(guī)則,每個(gè)塊的可 用性得到了保證.解碼器可以通過(guò)底層網(wǎng)絡(luò)從其他節(jié)點(diǎn)獲取編碼塊,利用糾刪碼解碼對(duì)原始數(shù)據(jù)塊進(jìn) 行恢復(fù).

    2.1.2 查詢(xún)模塊

    查詢(xún)模塊接收來(lái)自客戶(hù)端的查詢(xún)請(qǐng)求,并進(jìn)行響應(yīng).當(dāng)查詢(xún)模塊處理查詢(xún)區(qū)塊B的請(qǐng)求時(shí),有三

    種不同的情況:

    (1)如果區(qū)塊B存儲(chǔ)在本地,查詢(xún)模塊在沒(méi)有任何網(wǎng)絡(luò)通信的情況下將它返回客戶(hù)端;

    (2)如果目標(biāo)節(jié)點(diǎn)^⑶是正確的,則查詢(xún)模塊可以從^⑶中獲取區(qū)塊B ;

    (3)如果目標(biāo)節(jié)點(diǎn)M (B)是拜占庭節(jié)點(diǎn),則查詢(xún)模塊必須通過(guò)糾刪碼模塊中的解碼器恢復(fù)區(qū)塊B . 最終,查詢(xún)模塊將驗(yàn)證來(lái)自其他節(jié)點(diǎn)的所有數(shù)據(jù),避免通過(guò)解碼恢復(fù)不正確的塊數(shù)據(jù).

    2.1.3???????? 動(dòng)態(tài)重編碼模塊

    當(dāng)節(jié)點(diǎn)加入或退出系統(tǒng)時(shí),動(dòng)態(tài)重編碼模塊開(kāi)始工作.為了在確保數(shù)據(jù)可用性的同時(shí)減少冗余, 歷史數(shù)據(jù)可能需要被重新編碼.在進(jìn)行重編碼時(shí),需要通過(guò)糾刪碼模塊中的解碼器,從其他節(jié)點(diǎn)獲取 數(shù)據(jù).為了減少重編碼開(kāi)銷(xiāo),采用動(dòng)態(tài)重編碼策略,當(dāng)冗余度達(dá)到閾值時(shí),對(duì)歷史數(shù)據(jù)進(jìn)行重新編碼. 此外,在刪除舊編碼塊之前,每個(gè)節(jié)點(diǎn)都要確保其余的塊已經(jīng)完成了重新編碼,以保證塊的可用性.

    2.2區(qū)塊區(qū)間劃分方法

    本文提出對(duì)區(qū)塊區(qū)間進(jìn)行劃分形成糾刪碼數(shù)據(jù)塊的方法,區(qū)塊區(qū)間是區(qū)塊鏈中一段連續(xù)的區(qū)塊 序列,將區(qū)塊區(qū)間作為糾刪碼編碼的基本單位具有兩個(gè)優(yōu)點(diǎn):首先,在生成多個(gè)區(qū)塊后對(duì)區(qū)塊區(qū)間進(jìn) 行編碼,而非每產(chǎn)生一個(gè)區(qū)塊進(jìn)行一次編碼,可降低糾刪碼編碼開(kāi)銷(xiāo);其次,避免了請(qǐng)求區(qū)塊信息時(shí), 向多個(gè)節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的問(wèn)題,可降低網(wǎng)絡(luò)資源的消耗.該方法中區(qū)塊區(qū)間的大小用連續(xù)區(qū)塊的數(shù)量來(lái) 表示,如圖2所示區(qū)塊區(qū)間,其大小為10.

    為了保證每個(gè)區(qū)塊或交易的查詢(xún)最多只涉及一次網(wǎng)絡(luò)通信或糾刪碼解碼,需要使每個(gè)區(qū)塊僅存 于一個(gè)糾刪碼數(shù)據(jù)塊中.同時(shí),糾刪碼編碼算法要求輸入的&個(gè)數(shù)據(jù)塊的長(zhǎng)度相等.所以,在對(duì)區(qū)塊區(qū) 間進(jìn)行劃分時(shí),需保證:(1)每個(gè)區(qū)塊只能被分配到一個(gè)數(shù)據(jù)塊中;(2) —個(gè)區(qū)塊區(qū)間內(nèi)的區(qū)塊需盡可能 平均地分配到各個(gè)數(shù)據(jù)塊中.由以上兩個(gè)條件,可以將每個(gè)數(shù)據(jù)塊中區(qū)塊數(shù)量s的計(jì)算公式總結(jié)為下 式(1):

    其中n為區(qū)塊區(qū)間的大小,k為糾刪碼編碼所需的數(shù)據(jù)塊數(shù)量,n%k為n對(duì)k求余.

    通過(guò)以上劃分方法得到數(shù)據(jù)塊,在長(zhǎng)度較短的數(shù)據(jù)塊后補(bǔ)充冗余數(shù)據(jù),使得k個(gè)數(shù)據(jù)塊的長(zhǎng)度相 等.經(jīng)過(guò)糾刪碼編碼,生成m個(gè)糾刪碼冗余塊,與數(shù)據(jù)塊一起組成k + rn個(gè)編碼塊.

    以上區(qū)塊劃分及糾刪碼編碼過(guò)程采用的算法詳見(jiàn)算法1.算法1的時(shí)間復(fù)雜度為O (n).算法1通 過(guò)循環(huán)檢查新生區(qū)塊的數(shù)量判斷是否達(dá)到輸入的區(qū)間大小標(biāo)準(zhǔn)(第1行),滿(mǎn)足條件后根據(jù)式(1)處理 得到數(shù)據(jù)塊(第2-5行),經(jīng)過(guò)數(shù)據(jù)預(yù)處理使得數(shù)據(jù)塊達(dá)到編碼要求(第6、7行),通過(guò)編碼得到編碼塊 結(jié)果(第8、9行).該算法實(shí)時(shí)監(jiān)測(cè)區(qū)塊數(shù)量變化,滿(mǎn)足條件后對(duì)一個(gè)區(qū)間中的區(qū)塊進(jìn)行編碼,不需要 每個(gè)區(qū)塊編碼一次,采用批處理的思想,可以提高編碼的效率.數(shù)據(jù)預(yù)處理階段可以通過(guò)開(kāi)辟新線(xiàn)程, 增加系統(tǒng)并行性,進(jìn)一步提高編碼效率.

    算法1區(qū)塊區(qū)間劃分編碼算法

    輸入:包含^個(gè)區(qū)塊的區(qū)塊區(qū)間,數(shù)據(jù)塊數(shù)量^ ,冗余塊數(shù)量m 輸出:fc + m個(gè)編碼塊

    1:????? While新生成的區(qū)塊數(shù)量大于等于n

    2:????? If n%k == 0

    3:????? 將n個(gè)區(qū)塊平均分配到個(gè)數(shù)據(jù)塊中

    4:????? Else

    5:????? 前n%fc個(gè)數(shù)據(jù)塊每個(gè)存n/fc+ 1個(gè)區(qū)塊,其他每個(gè)數(shù)據(jù)塊存n/fc個(gè)區(qū)塊

    6:????? End if

    7:????? 獲得長(zhǎng)度最長(zhǎng)的數(shù)據(jù)塊長(zhǎng)度maxl

    8:????? 在其余數(shù)據(jù)塊后補(bǔ)“ 0”,使數(shù)據(jù)塊長(zhǎng)度達(dá)到一致maxl

    9:????? 將fc個(gè)數(shù)據(jù)塊作為糾刪碼的輸人進(jìn)行編碼

    10:?? 得到fc + m個(gè)編碼塊

    11:?? End while

    采用以上算法,當(dāng)區(qū)塊區(qū)間大小n = 10 ,數(shù)據(jù)塊數(shù)量fc = 3 ,冗余塊數(shù)量m = 1時(shí),區(qū)塊劃分及糾 刪碼編碼結(jié)果如圖3所示.

    2.3無(wú)需網(wǎng)絡(luò)通信的編碼塊存儲(chǔ)方法

    為降低系統(tǒng)的冗余度,經(jīng)過(guò)糾刪碼編碼后,每個(gè)節(jié)點(diǎn)僅保存一個(gè)編碼塊,可將其他編碼塊刪除.這 需要與其他節(jié)點(diǎn)達(dá)成共識(shí),才能保證每個(gè)節(jié)點(diǎn)保存的區(qū)塊不同,同時(shí)保證系統(tǒng)中保存著所有的編碼塊 信息.然而,區(qū)塊鏈系統(tǒng)運(yùn)行在一個(gè)不可靠的環(huán)境中,網(wǎng)絡(luò)通信會(huì)增加系統(tǒng)的不穩(wěn)定性,還會(huì)導(dǎo)致系統(tǒng) 的吞吐率降低.為了解決上述問(wèn)題,本文利用每個(gè)節(jié)點(diǎn)上相同區(qū)塊的共識(shí)節(jié)點(diǎn)公鑰列表具有一致性的 特性,設(shè)計(jì)了一種無(wú)需網(wǎng)絡(luò)通信的編碼塊存儲(chǔ)方法.如圖4所示,對(duì)原始數(shù)據(jù)進(jìn)行劃分并編碼之后,根 據(jù)本節(jié)點(diǎn)公鑰地址在所有節(jié)點(diǎn)公鑰地址序列中的位置,保存對(duì)應(yīng)于本節(jié)點(diǎn)的編碼塊,并刪除其余編碼 塊.由于公鑰地址有序序列在所有節(jié)點(diǎn)上都是一致的,所以節(jié)點(diǎn)間不需要網(wǎng)絡(luò)通信就可以?xún)H保存自己 所對(duì)應(yīng)的編碼塊,同時(shí)保證系統(tǒng)中包含所有編碼塊的信息.

    CITA采用鍵值數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),在存儲(chǔ)編碼塊時(shí),為能夠在請(qǐng)求區(qū)塊時(shí)從數(shù)據(jù)庫(kù)中查詢(xún)到其所 在的編碼塊,需增加一個(gè)表來(lái)存儲(chǔ)區(qū)塊高度與編碼塊編號(hào)的映射關(guān)系.該方式會(huì)增大系統(tǒng)的存儲(chǔ)消耗, 并增加查詢(xún)的響應(yīng)延遲.為了在查詢(xún)時(shí)快速利用區(qū)塊高度得到其所在的編碼塊,本文根據(jù)計(jì)算每個(gè)數(shù) 據(jù)塊中區(qū)塊數(shù)量的式(1),對(duì)編碼塊的編號(hào)進(jìn)行定義.將編碼塊編號(hào)以文本形式表示,它由兩部分組 成,第一部分標(biāo)識(shí)該編碼塊所處的區(qū)塊區(qū)間&第二部分標(biāo)識(shí)該編碼塊處于該區(qū)塊區(qū)間的第D個(gè)數(shù)據(jù) 塊,兩部分用下劃線(xiàn)連接,表示為^_乃.如圖4所示,高度為4的區(qū)塊位于區(qū)塊0?9所對(duì)應(yīng)的區(qū)塊區(qū) 間,其區(qū)塊區(qū)間^ = 0,又因其在該區(qū)間的第D = 1個(gè)數(shù)據(jù)塊,故高度為4的區(qū)塊所對(duì)應(yīng)的編碼塊編號(hào) 為 0—1.0_2 0_3

    當(dāng)用戶(hù)向系統(tǒng)查詢(xún)區(qū)塊時(shí),可以通過(guò)區(qū)塊高度計(jì)算得到其所處的區(qū)塊區(qū)間和數(shù)據(jù)塊號(hào),進(jìn)而得到 其所對(duì)應(yīng)編碼塊的編號(hào).由區(qū)塊高度計(jì)算編碼塊編號(hào)的算法詳見(jiàn)算法2.算法2的時(shí)間復(fù)雜度為O (1).

    算法2編碼塊編號(hào)計(jì)算算法

    輸入:區(qū)塊高度\區(qū)塊區(qū)間大小^,數(shù)據(jù)塊個(gè)數(shù)&,冗余塊個(gè)數(shù)爪 輸出:編碼塊編號(hào)S_D

    1:????? S = h/n

    2:????? If n%k == 0

    3:????? D = (h°%n) /(n/k)

    4:????? Else if h°%n < (n/k +(1) * (n%k)

    5:????? D = (h%n) /(n/k + (1)

    6:????? Else

    7:????? D = n%k + (h%n — (n/k + 1 )*( n%k)) /(n/k)

    8:????? End if

    9:????? Return S_D

    假設(shè)系統(tǒng)對(duì)前10個(gè)區(qū)塊的編碼結(jié)果如圖5所示,節(jié)點(diǎn)0接收到客戶(hù)端對(duì)于區(qū)塊3的請(qǐng)求,即區(qū)塊 高度為3,由上述計(jì)算方法,得到S = 0(3/10 = 0),D = 0(3%10)/4 = 0),即S_D = 0_0.節(jié)點(diǎn)0讀取 共識(shí)節(jié)點(diǎn)公鑰地址有序序列,比對(duì)本地公鑰地址在有序序列中的位置,若節(jié)點(diǎn)0上不存儲(chǔ)0_0編碼塊, 則向公鑰地址有序序列中的第D個(gè)節(jié)點(diǎn)(節(jié)點(diǎn)(3)發(fā)出對(duì)編碼塊0_0的請(qǐng)求.節(jié)點(diǎn)0將從節(jié)點(diǎn)3得到的 區(qū)塊數(shù)據(jù)返回給客戶(hù)端.

    2.4動(dòng)態(tài)重編碼方法

    區(qū)塊鏈?zhǔn)且环N分布式賬本,賬本數(shù)據(jù)的一致性依賴(lài)多個(gè)節(jié)點(diǎn)的共同維護(hù).新機(jī)構(gòu)加入時(shí),需為其 搭建一個(gè)新的節(jié)點(diǎn),并將其加入?yún)^(qū)塊鏈系統(tǒng);原有機(jī)構(gòu)退出時(shí),需將該節(jié)點(diǎn)從系統(tǒng)中刪除.為了應(yīng)對(duì)區(qū) 塊鏈系統(tǒng)中節(jié)點(diǎn)加入或退出造成的重編碼時(shí)間消耗過(guò)大的問(wèn)題,本文提出了動(dòng)態(tài)重編碼的方法.

    CITA區(qū)塊鏈系統(tǒng)中存在不參與區(qū)塊共識(shí)的普通節(jié)點(diǎn).普通節(jié)點(diǎn)的加入或退出不會(huì)影響區(qū)塊的共 識(shí)進(jìn)程.普通節(jié)點(diǎn)加入后只需要提供查詢(xún)功能即可,不需要保存編碼塊.為了在不保存編碼塊的情況 下保證普通節(jié)點(diǎn)的查詢(xún)功能,普通節(jié)點(diǎn)需要同步共識(shí)節(jié)點(diǎn)的編碼塊索引.當(dāng)用戶(hù)向普通節(jié)點(diǎn)發(fā)起查詢(xún) 請(qǐng)求時(shí),普通節(jié)點(diǎn)根據(jù)從共識(shí)節(jié)點(diǎn)處同步的索引,向?qū)?yīng)的共識(shí)節(jié)點(diǎn)發(fā)起請(qǐng)求,實(shí)現(xiàn)查詢(xún)功能.

    共識(shí)節(jié)點(diǎn)的加入與區(qū)塊的共識(shí)同步進(jìn)行,如圖6所示.在生成一個(gè)區(qū)塊區(qū)間時(shí),新的共識(shí)節(jié)點(diǎn)加 入會(huì)導(dǎo)致共識(shí)節(jié)點(diǎn)列表的變化,該區(qū)塊區(qū)間的前6個(gè)區(qū)塊的共識(shí)節(jié)點(diǎn)為{N0, N1, N2, N3},而后4個(gè)區(qū) 塊的共識(shí)節(jié)點(diǎn)為{N0, N1, N2, N3, N4}.這導(dǎo)致對(duì)該區(qū)塊區(qū)間中的區(qū)塊進(jìn)行糾刪碼編碼后,存儲(chǔ)編碼塊的共識(shí)節(jié)點(diǎn)列表可以是{N0, N1, N2, N3},也可以是{N0, N1, N2, N3, N4}.為了統(tǒng)一存儲(chǔ)該區(qū)塊區(qū)間的共識(shí)節(jié)點(diǎn)列表,對(duì)區(qū)塊區(qū)間共識(shí)節(jié)點(diǎn)列表做如下定義:區(qū)塊區(qū)間最后一個(gè)區(qū)塊的共識(shí)節(jié)點(diǎn)列表為此 區(qū)塊區(qū)間的共識(shí)節(jié)點(diǎn)列表.由此可得存儲(chǔ)10?19區(qū)塊區(qū)間編碼塊的共識(shí)節(jié)點(diǎn)列表為{N0, N1, N2, N3, N4}.

    共識(shí)節(jié)點(diǎn)加入后,系統(tǒng)中共識(shí)節(jié)點(diǎn)的數(shù)量會(huì)發(fā)生變化.CITA區(qū)塊鏈系統(tǒng)保證系統(tǒng)中共識(shí)節(jié)點(diǎn)數(shù) #和拜占庭節(jié)點(diǎn)數(shù)P的數(shù)量關(guān)系為:N>3F+ 1,即(N-(1)/3.當(dāng)系統(tǒng)中共識(shí)節(jié)點(diǎn)數(shù)量變?yōu)?N + 1時(shí),系統(tǒng)所能容忍的拜占庭節(jié)點(diǎn)的數(shù)量變?yōu)镕',F(xiàn)'滿(mǎn)足F'>F.若保持原來(lái)的編碼參數(shù)不變, 系統(tǒng)只能在F個(gè)節(jié)點(diǎn)作惡時(shí)恢復(fù)丟失的數(shù)據(jù).此時(shí)若系統(tǒng)中有F'個(gè)節(jié)點(diǎn)作惡,且F' > F,則不能保證 可以通過(guò)糾刪碼解碼將原始數(shù)據(jù)恢復(fù)出來(lái),從而不能保證系統(tǒng)的數(shù)據(jù)可用性.共識(shí)節(jié)點(diǎn)從系統(tǒng)中退出 時(shí)也面臨相同的情況.為了解決上述問(wèn)題,需要在新的共識(shí)節(jié)點(diǎn)加入時(shí),對(duì)歷史數(shù)據(jù)進(jìn)行重新編碼.

    本文提出了動(dòng)態(tài)糾刪碼重編碼算法,即在保證系統(tǒng)中所有區(qū)塊可恢復(fù)的情況下,不在節(jié)點(diǎn)加入或 退出時(shí)立刻對(duì)歷史數(shù)據(jù)進(jìn)行重新編碼,而是根據(jù)節(jié)點(diǎn)加入或退出后,系統(tǒng)所容忍拜占庭節(jié)點(diǎn)數(shù)量是否 增多或減少,來(lái)動(dòng)態(tài)地對(duì)歷史數(shù)據(jù)進(jìn)行重新編碼.采用此方法可以降低重編碼帶來(lái)的系統(tǒng)開(kāi)銷(xiāo),提高 系統(tǒng)的效率.動(dòng)態(tài)重編碼算法詳見(jiàn)算法3.算法3的時(shí)間復(fù)雜度為0(1).算法3的第4-7行和第 9-12行分別對(duì)節(jié)點(diǎn)增加和刪除的情況進(jìn)行處理,由公式F=「(N-(1)/3]可得拜占庭節(jié)點(diǎn)數(shù)量,如果 節(jié)點(diǎn)數(shù)量的增加沒(méi)有使拜占庭節(jié)點(diǎn)數(shù)量發(fā)生變化,或節(jié)點(diǎn)數(shù)量的減少恰好可以使拜占庭節(jié)點(diǎn)數(shù)量減 少相同的個(gè)數(shù),則原來(lái)的編碼模式可以保證系統(tǒng)的穩(wěn)定性.由于并不是每次節(jié)點(diǎn)增刪都會(huì)導(dǎo)致拜占庭 節(jié)點(diǎn)數(shù)量的變化,采用動(dòng)態(tài)重編碼的方法可以減少重編碼的開(kāi)銷(xiāo).

    算法3動(dòng)態(tài)重編碼算法

    輸入:歷史共識(shí)節(jié)點(diǎn)數(shù)量I ,新共識(shí)節(jié)點(diǎn)數(shù)量新區(qū)塊區(qū)間,歷史編碼塊數(shù)據(jù) 輸出:編碼結(jié)果

    1:????? F'=「(,—(1)/3LF=「(N — (1)/3]

    2:對(duì)新的區(qū)塊區(qū)間,采用^共識(shí)節(jié)點(diǎn)列表進(jìn)行糾刪碼編碼 3:? If N; >N

    4:????? If F' == F

    5:????? 新節(jié)點(diǎn)保存歷史編碼塊索引

    6:????? Else

    7:????? 采用N'共識(shí)節(jié)點(diǎn)列表,對(duì)歷史編碼塊數(shù)據(jù)進(jìn)行重編碼

    8:????? End? if

    9:????? Else if??????? N?????

    10:?? If F' =???????? F — 1

    11:?? 不處理歷史數(shù)據(jù)

    12:?? Else

    13:?? 采用N'共識(shí)節(jié)點(diǎn)列表,對(duì)歷史編碼塊數(shù)據(jù)進(jìn)行重編碼

    14:?? End if

    15:?? End if

    16:保存編碼結(jié)果

    3實(shí)驗(yàn)與評(píng)價(jià)

    3.1實(shí)驗(yàn)環(huán)境和配置

    (1)實(shí)驗(yàn)環(huán)境

    本文實(shí)驗(yàn)在以下實(shí)驗(yàn)環(huán)境中進(jìn)行,其中操作系統(tǒng)為Ubuntu18.04,配置AMD Ryzen 5 3550H (4核8線(xiàn)程,主頻2.1 GHz,加速頻率3.7 GHz)處理器,內(nèi)存大小為16 GB,硬盤(pán)大小為512 G.本文 設(shè)計(jì)的算法使用Rust程序設(shè)計(jì)語(yǔ)言在0.25.2版本的CITA上實(shí)現(xiàn).

    (2)參數(shù)配置

    實(shí)驗(yàn)測(cè)試的節(jié)點(diǎn)數(shù)量為4,糾刪碼編碼的數(shù)據(jù)塊數(shù)量為3,冗余塊數(shù)量為1.

    3.2實(shí)驗(yàn)結(jié)果與分析

    本文的實(shí)驗(yàn)評(píng)價(jià)主要參考4個(gè)指標(biāo):存儲(chǔ)消耗、編碼性能、響應(yīng)延遲和穩(wěn)定性.

    3.2.1存儲(chǔ)消耗

    存儲(chǔ)消耗的評(píng)估分為兩部分,首先,為了證明糾刪碼編碼的存儲(chǔ)方式能降低系統(tǒng)的存儲(chǔ)消耗,將 糾刪碼編碼存儲(chǔ)與全復(fù)制存儲(chǔ)相比,評(píng)價(jià)糾刪碼編碼存儲(chǔ)在空間占用方面的優(yōu)化效果,其中全復(fù)制的 存儲(chǔ)系統(tǒng)中存儲(chǔ)消耗與節(jié)點(diǎn)數(shù)成正比;其次,調(diào)整編碼區(qū)間的大小,評(píng)估糾刪碼編碼區(qū)塊區(qū)間大小對(duì) 每個(gè)區(qū)塊存儲(chǔ)消耗的影響,由此結(jié)論可根據(jù)需求調(diào)整區(qū)塊區(qū)間的大小,降低存儲(chǔ)消耗.

    (1)全復(fù)制的存儲(chǔ)方式與糾刪碼的存儲(chǔ)方式的存儲(chǔ)消耗對(duì)比

    區(qū)塊區(qū)間的大小固定為10,區(qū)塊大小固定為80 kB,節(jié)點(diǎn)數(shù)量從4到15變化.如圖7所示,展示了 在不同節(jié)點(diǎn)設(shè)置下存儲(chǔ)每個(gè)塊的平均存儲(chǔ)消耗.對(duì)于全復(fù)制的存儲(chǔ)方式(all),由于每個(gè)節(jié)點(diǎn)都需要保存區(qū)塊鏈的完整副本,每個(gè)區(qū)塊的平均存儲(chǔ)容量隨著節(jié)點(diǎn)數(shù)量的增加而線(xiàn)性增加.對(duì)于糾刪碼的存儲(chǔ) 方式(ec),隨著節(jié)點(diǎn)的增加,每個(gè)區(qū)塊的平均存儲(chǔ)容量產(chǎn)生輕微的波動(dòng),且總是小于所有區(qū)塊大小的 2倍.全復(fù)制存儲(chǔ)每個(gè)區(qū)塊的存儲(chǔ)消耗與糾刪碼存儲(chǔ)每個(gè)區(qū)塊的存儲(chǔ)消耗的比值(%)隨著節(jié)點(diǎn)的數(shù)量 增加而線(xiàn)性增加.

    由以上實(shí)驗(yàn)分析得出,隨著節(jié)點(diǎn)數(shù)量的增加,糾刪碼存儲(chǔ)方式與全復(fù)制方式相比表現(xiàn)出更加明顯 的存儲(chǔ)性能優(yōu)勢(shì),糾刪碼的存儲(chǔ)方式在有多個(gè)節(jié)點(diǎn)的區(qū)塊鏈系統(tǒng)中具有更高的應(yīng)用價(jià)值.同時(shí),采用 糾刪碼的存儲(chǔ)方式,系統(tǒng)的存儲(chǔ)壓力不會(huì)因?yàn)楣?jié)點(diǎn)數(shù)量的變化而發(fā)生大幅度的變化,無(wú)須因?yàn)楣?jié)點(diǎn)的 增加調(diào)整系統(tǒng)存儲(chǔ)配置,降低了系統(tǒng)維護(hù)工作量.

    (2)糾刪碼編碼區(qū)塊區(qū)間大小對(duì)每個(gè)區(qū)塊存儲(chǔ)消耗的影響

    糾刪碼區(qū)塊區(qū)間的大小會(huì)在一定程度上影響每個(gè)區(qū)塊的平均存儲(chǔ)容量,固定系統(tǒng)中的節(jié)點(diǎn)數(shù)為4, 固定區(qū)塊的大小為80 kB,區(qū)塊區(qū)間在10?21間變化.圖8所顯示的是每個(gè)區(qū)塊的平均存儲(chǔ)消耗與 區(qū)塊區(qū)間大小的關(guān)系.

    如圖8實(shí)線(xiàn)所示,每個(gè)區(qū)塊的存儲(chǔ)消耗會(huì)隨區(qū)塊區(qū)間的變化產(chǎn)生周期性波動(dòng),這與本文設(shè)計(jì)的數(shù) 據(jù)塊劃分策略有關(guān).當(dāng)區(qū)塊區(qū)間大小s= 10時(shí),數(shù)據(jù)塊的劃分模式為(4,3,(3),其中4個(gè)區(qū)塊形成一個(gè) 編碼塊,剩余的6個(gè)區(qū)塊,每3個(gè)生成一個(gè)編碼塊,最終在較短的編碼塊后補(bǔ)0,然后進(jìn)行糾刪碼編碼 運(yùn)算,得到冗余塊的大小應(yīng)約等于4個(gè)區(qū)塊形成的編碼塊的大小,最終編碼塊的模式可表示為 (4, 3, 3, (4).每個(gè)區(qū)塊的平均存儲(chǔ)消耗為(4 +3+ 3 +(4)/10 = 1.4 .同理可以得到其他區(qū)塊區(qū)間大小所對(duì) 應(yīng)的每個(gè)區(qū)塊的存儲(chǔ)消耗.在一個(gè)區(qū)塊區(qū)間變化周期中,當(dāng)編碼塊的模式為沁,,,…,O0時(shí)(a為每個(gè) 糾刪碼編碼塊中區(qū)塊數(shù)量的近似值),每個(gè)區(qū)塊的平均存儲(chǔ)消耗最低;當(dāng)編碼塊的模式為(a+1,a, a,…,a + (1)時(shí),每個(gè)區(qū)塊的平均存儲(chǔ)消耗最高.

    如圖8趨勢(shì)線(xiàn)所示,在保持節(jié)點(diǎn)數(shù)量為4不變的情況下,雖然隨著區(qū)塊區(qū)間的增大,每個(gè)區(qū)塊的 平均存儲(chǔ)消耗總體呈下降的趨勢(shì),但實(shí)線(xiàn)所示折線(xiàn)具有周期性,適當(dāng)調(diào)整區(qū)塊區(qū)間大小可使糾刪碼的存儲(chǔ)方式的優(yōu)勢(shì)達(dá)到最大值,并不需要盲目增大區(qū)塊區(qū)間來(lái)提高存儲(chǔ)效率.

    3.2.2編碼性能

    全復(fù)制的存儲(chǔ)系統(tǒng)存儲(chǔ)一個(gè)區(qū)塊的延遲約為2 ms,糾刪碼存儲(chǔ)的編碼操作會(huì)造成編碼延遲,本小 節(jié)首先對(duì)編碼延遲做了測(cè)試.其次,對(duì)于降低編碼延遲的區(qū)塊區(qū)間劃分編碼算法,對(duì)比區(qū)塊區(qū)間劃分 與單個(gè)區(qū)塊劃分編碼方法所需編碼時(shí)間,評(píng)估其優(yōu)化效果.最后,綜合評(píng)價(jià)區(qū)塊區(qū)間劃分編碼算法中 的參數(shù)區(qū)塊區(qū)間大小對(duì)整體編碼延遲的影響和對(duì)單個(gè)區(qū)塊編碼延遲的影響.在實(shí)際應(yīng)用中可通過(guò)調(diào) 整區(qū)塊區(qū)間大小,降低編碼延遲.

    (1)編碼延遲

    在進(jìn)行區(qū)塊存儲(chǔ)時(shí),與全復(fù)制的存儲(chǔ)方式相比,糾刪碼的存儲(chǔ)方式需要時(shí)間進(jìn)行糾刪碼的編碼. CITA系統(tǒng)中,保存一個(gè)區(qū)塊需要約2 ms,當(dāng)糾刪碼區(qū)塊區(qū)間為12時(shí),一次糾刪碼編碼需要約20 ms, 平均到每個(gè)區(qū)塊上為1.6 ms.由以上數(shù)據(jù),可以總結(jié)得出,使用基于糾刪碼的存儲(chǔ)方式,在存儲(chǔ)時(shí)消耗 的時(shí)間約為全復(fù)制存儲(chǔ)方式的1.8倍.相對(duì)于糾刪碼編碼存儲(chǔ)方式帶來(lái)的從O (n)到O (1)的存儲(chǔ)空間 優(yōu)化而言,糾刪碼編碼造成的時(shí)間開(kāi)銷(xiāo)是可以接受的.

    (2)區(qū)塊區(qū)間劃分與單個(gè)區(qū)塊劃分編碼方法所需編碼時(shí)間對(duì)比

    確定區(qū)塊大小為80 kB,節(jié)點(diǎn)數(shù)量為4,區(qū)塊區(qū)間的大小為12?30,對(duì)比使用兩種方法編碼一個(gè) 區(qū)塊區(qū)間內(nèi)的區(qū)塊所消耗的時(shí)間.實(shí)驗(yàn)結(jié)果如圖9所示,采用區(qū)塊區(qū)間劃分的方法進(jìn)行編碼能夠節(jié)省 編碼的時(shí)間,且隨著區(qū)塊區(qū)間的增大,采用區(qū)塊區(qū)間編碼的優(yōu)勢(shì)也隨之增大,在區(qū)塊區(qū)間大小為30時(shí), 采用區(qū)塊區(qū)間編碼的方法節(jié)省了近45%的編碼時(shí)間.獲得編碼性能提升的主要原因?yàn)閰^(qū)塊區(qū)間劃分 的方法采用了批處理思想,減小了每次編碼預(yù)處理及編碼器啟動(dòng)時(shí)間在總編碼時(shí)間中的占比.

    (3)區(qū)塊區(qū)間大小對(duì)編碼延遲的影響

    如圖10所示,隨著區(qū)塊區(qū)間的增大,每個(gè)區(qū)間的編碼時(shí)間也隨之增大.

    但將該區(qū)間的編碼時(shí)間平均到區(qū)塊區(qū)間內(nèi)的每個(gè)區(qū)塊上,得到每個(gè)區(qū)塊的平均編碼時(shí)間與區(qū)塊區(qū)間大小關(guān)系如圖ii所示,隨著區(qū)塊區(qū)間的增大,區(qū)塊的平均編碼時(shí)間呈下降趨勢(shì).增大區(qū)塊區(qū)間的 大小,可以降低每個(gè)區(qū)塊的平均編碼時(shí)間,但區(qū)塊區(qū)間的增大會(huì)使得一次編碼的時(shí)間增長(zhǎng),在具體使 用過(guò)程中,可以根據(jù)需求調(diào)整糾刪碼編碼區(qū)塊區(qū)間大小.

    3.2.3響應(yīng)延遲

    在采用糾刪碼存儲(chǔ)方式的系統(tǒng)中,每個(gè)節(jié)點(diǎn)上只保存部分區(qū)塊的信息,當(dāng)所需區(qū)塊不存在所請(qǐng)求 的節(jié)點(diǎn)上或系統(tǒng)中的節(jié)點(diǎn)發(fā)生故障時(shí),需要利用網(wǎng)絡(luò)傳輸和糾刪碼的解碼功能將原始數(shù)據(jù)恢復(fù)出來(lái), 數(shù)據(jù)的恢復(fù)操作會(huì)造成響應(yīng)延遲.采用全復(fù)制存儲(chǔ)方式的CITA系統(tǒng),由于沒(méi)有節(jié)點(diǎn)間通信,用戶(hù)查 詢(xún)請(qǐng)求的響應(yīng)延遲約為1.35 ms.

    采用糾刪碼存儲(chǔ)方式后,查詢(xún)存在本地節(jié)點(diǎn)的區(qū)塊,響應(yīng)延遲約為9.5 ms,查詢(xún)存在其他節(jié)點(diǎn)的區(qū)塊,響應(yīng)延遲約為44.05 ms.雖然與全復(fù)制的存儲(chǔ)方式相比,由于區(qū)塊數(shù)據(jù)的提取和節(jié)點(diǎn)間的通信, 響應(yīng)延遲有所增加,但44 ms的延遲時(shí)間不會(huì)影響用戶(hù)的使用體驗(yàn).若不采用算法1而是采用對(duì)每個(gè) 區(qū)塊進(jìn)行編碼存儲(chǔ)的方法,則向某個(gè)節(jié)點(diǎn)請(qǐng)求一個(gè)區(qū)塊得到響應(yīng)所需的時(shí)間約為70 ms,約為采用算 法1響應(yīng)延遲的7倍.

    若查詢(xún)時(shí)發(fā)現(xiàn)某編碼塊丟失,采用糾刪碼解碼方式恢復(fù)數(shù)據(jù),再返回給用戶(hù),響應(yīng)延遲約為238 ms. 用戶(hù)會(huì)感受到輕微的卡頓,但如果系統(tǒng)運(yùn)行在一個(gè)較可靠的環(huán)境中,節(jié)點(diǎn)發(fā)生故障的概率將大大降低, 從而很少需要進(jìn)行解碼恢復(fù),不會(huì)影響用戶(hù)的使用體驗(yàn).

    3.2.4穩(wěn)定性

    系統(tǒng)的穩(wěn)定性體現(xiàn)了系統(tǒng)應(yīng)對(duì)外界干擾和故障的能力,采用全復(fù)制存儲(chǔ)方式的系統(tǒng)能夠容忍小 于等于?的拜占庭節(jié)點(diǎn)數(shù).采用糾刪碼存儲(chǔ)方式的系統(tǒng)穩(wěn)定性以功能測(cè)試的形式,通過(guò)模擬系統(tǒng)故 障情況進(jìn)行.首先,從系統(tǒng)外部將存儲(chǔ)的數(shù)據(jù)塊從數(shù)據(jù)庫(kù)中刪除,模擬數(shù)據(jù)丟失的情況.其次,通過(guò)命 令行指令強(qiáng)制節(jié)點(diǎn)掉線(xiàn),模擬系統(tǒng)中的拜占庭節(jié)點(diǎn).在以上兩組模擬功能測(cè)試中,糾刪碼的解碼恢復(fù) 功能都能正常運(yùn)行,系統(tǒng)能夠在發(fā)生故障時(shí),通過(guò)糾刪碼解碼恢復(fù)功能給出準(zhǔn)確的查詢(xún)結(jié)果,系統(tǒng)能 夠容忍小于等于^的拜占庭節(jié)點(diǎn)數(shù),沒(méi)有因糾刪碼的加入降低系統(tǒng)的穩(wěn)定性.

    4結(jié)論

    本文將糾刪碼與拜占庭容錯(cuò)算法相結(jié)合,在滿(mǎn)足系統(tǒng)容錯(cuò)率的基礎(chǔ)上,降低了區(qū)塊存儲(chǔ)的冗余度. 本文提出了原始區(qū)塊數(shù)據(jù)劃分的方法,提高了區(qū)塊查詢(xún)的速度,提出了無(wú)需節(jié)點(diǎn)間通信的存儲(chǔ)編碼塊 方法,減少了節(jié)點(diǎn)間的通信開(kāi)銷(xiāo).提出了根據(jù)節(jié)點(diǎn)的加入和刪除動(dòng)態(tài)同步編碼的方法,降低了歷史數(shù) 據(jù)重編碼的系統(tǒng)消耗.最后,通過(guò)實(shí)驗(yàn)測(cè)試,驗(yàn)證了系統(tǒng)的可用性和效率提升.

    本文的方法將系統(tǒng)的存儲(chǔ)空間復(fù)雜度由O(n)降低到O(1),但不可避免因糾刪碼編碼解碼造成的 時(shí)間消耗,在后續(xù)的工作中將重視糾刪碼的編碼和解碼效率的優(yōu)化.

    [參考文獻(xiàn)]

    [1]CASTRO M, LISKOV B. Practical byzantine fault tolerance [C]//Proceedings of the Third Symposium on Operating Systems Design and Implementation. 1999: 173-186.

    [2]WOOD G. Ethereum: A secure decentralised generalised transaction ledger [J]. Ethereum Project Yellow Paper, 2014, 151: 1-32.

    [3] BURCHERT C, DECHER C, WATTENHOFER R. Scalable funding of bitcoin micropayment channel networks [J]. Royal Society Open Science, 2018, 5(8): 180089.

    [4]DANG H, DINH T T A, LOGHIN D, et al. Towards scaling blockchain systems via sharding [C]// Proceedings of the 2019 International Conference on Management of Data. 2019: 123-140.

    [5] AL-BASSAM M, SONNINO A, BANO S, et al. Chainspace: A sharded smart contracts platform [EB/OL]. (2017-08-1(2) [2021-07-05]. http://arXiv.org/pdf/1708.03778.pdf.

    [6] REED I S, SOLOMON G. Polynomial codes over certain finite fields [J]. Journal of the Society for Industrial & Applied Mathematics, 1960, 8(2): 300-304.

    [7]LIN W K, CHIU D M, LEE Y B. Erasure code replication revisited [C]//Proceedings of the Fourth International Conference on Peer- to-Peer Computing. IEEE, 2004: 90-97.

    [8]賈大宇,信俊昌,王之瓊,等.區(qū)塊鍵的存儲(chǔ)容量可擴(kuò)展模型[J].計(jì)算機(jī)科學(xué)與探索,2018, 12(4): 525-535.

    [9] DAI M, ZHANG S, WANG H, et al. A Low Storage Room Requirement Framework for Distributed Ledger in Blockchain [J]. IEEE Access, 2018(6): 22970-22975.

    [10]XU Y, HUANG Y. Segment blockchain: A size reduced storage mechanism for blockchain. IEEE Access, 2020(8): 17434-17441.

    [11]PERARD D, LACAN J, BACHY Y, et al. Erasure code-based low storage blockchain node [C]//2018 IEEE International Conference on Internet of Things and IEEE Green Computing and Communications and IEEE Cyber, Physical and Social Computing and IEEE Smart Data. IEEE, 2018: 1622-1627.

    [12]QI X, ZHANG Z, JIN C, et al. BFT-Store: Storage partition for permissioned blockchain via erasure coding [C]// 2020 IEEE 36th International Conference on Data Engineering. IEEE, 2020: 1926-1929.

    (責(zé)任編輯:林晶)

    猜你喜歡
    區(qū)塊鏈
    區(qū)塊鏈對(duì)互聯(lián)網(wǎng)金融發(fā)展的重塑與挑戰(zhàn)分析
    基于區(qū)塊鏈技術(shù)的海上散裝液體化學(xué)品運(yùn)輸安全監(jiān)管方法
    保險(xiǎn)企業(yè)的區(qū)塊鏈技術(shù)應(yīng)用方向選擇研究
    區(qū)塊鏈技術(shù)在金融領(lǐng)域的應(yīng)用與前景研究
    區(qū)塊鏈技術(shù)的應(yīng)用價(jià)值分析
    商情(2016年40期)2016-11-28 11:24:12
    “區(qū)塊鏈”發(fā)展現(xiàn)狀評(píng)述及展望
    商(2016年34期)2016-11-24 14:46:00
    “區(qū)塊鏈”的茍且、詩(shī)和遠(yuǎn)方
    基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
    互聯(lián)網(wǎng)金融新模式與中小企業(yè)融資關(guān)系研究
    智能合約與金融合約
    商(2016年6期)2016-04-20 17:50:36
    91成人精品电影| 伊人久久大香线蕉亚洲五| 亚洲美女黄片视频| 中文欧美无线码| 国产高清videossex| 久久精品aⅴ一区二区三区四区| 宅男免费午夜| 88av欧美| 老司机在亚洲福利影院| 成年人黄色毛片网站| 国产野战对白在线观看| 亚洲欧美精品综合久久99| 女人高潮潮喷娇喘18禁视频| 国产极品粉嫩免费观看在线| 一a级毛片在线观看| 777久久人妻少妇嫩草av网站| 亚洲第一欧美日韩一区二区三区| 天天添夜夜摸| 天天影视国产精品| 91九色精品人成在线观看| 嫁个100分男人电影在线观看| 精品久久久久久,| 自线自在国产av| 精品久久久精品久久久| 亚洲一卡2卡3卡4卡5卡精品中文| 村上凉子中文字幕在线| 国产aⅴ精品一区二区三区波| 丝袜人妻中文字幕| 国产在线观看jvid| 怎么达到女性高潮| av视频免费观看在线观看| 女人被躁到高潮嗷嗷叫费观| 多毛熟女@视频| 欧美成人性av电影在线观看| 一区二区三区激情视频| 嫩草影院精品99| 国产精品影院久久| 国产激情欧美一区二区| 在线看a的网站| 最好的美女福利视频网| 国产成人av激情在线播放| 久久久久久久久久久久大奶| 亚洲专区国产一区二区| 多毛熟女@视频| 交换朋友夫妻互换小说| 国产深夜福利视频在线观看| 搡老熟女国产l中国老女人| 亚洲国产欧美一区二区综合| 身体一侧抽搐| 人妻丰满熟妇av一区二区三区| 国产精品自产拍在线观看55亚洲| 欧美黑人精品巨大| 久久久久久人人人人人| 人妻丰满熟妇av一区二区三区| 真人一进一出gif抽搐免费| 亚洲激情在线av| 欧美日韩黄片免| 中文字幕高清在线视频| 三级毛片av免费| 国产成人精品久久二区二区91| 精品国产美女av久久久久小说| 欧美日韩精品网址| 久久久久久亚洲精品国产蜜桃av| 18禁美女被吸乳视频| 亚洲精品久久成人aⅴ小说| 超碰成人久久| 欧美大码av| 欧美在线一区亚洲| www.999成人在线观看| 欧美不卡视频在线免费观看 | 亚洲精品中文字幕在线视频| 精品高清国产在线一区| 中亚洲国语对白在线视频| 久久久水蜜桃国产精品网| 麻豆成人av在线观看| 黄色怎么调成土黄色| 老鸭窝网址在线观看| 国产精品久久久av美女十八| 激情视频va一区二区三区| 久久精品亚洲精品国产色婷小说| 国产精品综合久久久久久久免费 | 久久人人97超碰香蕉20202| 国产人伦9x9x在线观看| 亚洲一区高清亚洲精品| 极品人妻少妇av视频| 亚洲成av片中文字幕在线观看| 久久国产乱子伦精品免费另类| 久久精品91蜜桃| 韩国av一区二区三区四区| 十分钟在线观看高清视频www| 成年人黄色毛片网站| 亚洲七黄色美女视频| 老汉色av国产亚洲站长工具| 日韩 欧美 亚洲 中文字幕| 午夜精品国产一区二区电影| 丰满人妻熟妇乱又伦精品不卡| 国产熟女午夜一区二区三区| 交换朋友夫妻互换小说| 黄色视频不卡| 男女做爰动态图高潮gif福利片 | 最新在线观看一区二区三区| www.www免费av| 欧美成人性av电影在线观看| 天堂动漫精品| 日本欧美视频一区| 亚洲 国产 在线| 999精品在线视频| 国产精品免费视频内射| 99国产精品99久久久久| 久久影院123| 性欧美人与动物交配| 国产成人av教育| 青草久久国产| 久久精品91无色码中文字幕| 满18在线观看网站| 19禁男女啪啪无遮挡网站| 一进一出好大好爽视频| 国产一区在线观看成人免费| 99国产精品免费福利视频| a在线观看视频网站| 国产成人一区二区三区免费视频网站| 亚洲欧洲精品一区二区精品久久久| 日韩有码中文字幕| 大香蕉久久成人网| 欧美在线一区亚洲| 久久中文字幕人妻熟女| 18禁国产床啪视频网站| 另类亚洲欧美激情| 最好的美女福利视频网| 欧美一区二区精品小视频在线| 亚洲欧美精品综合一区二区三区| 一级毛片精品| svipshipincom国产片| 如日韩欧美国产精品一区二区三区| 97碰自拍视频| 亚洲一区中文字幕在线| 午夜91福利影院| 在线国产一区二区在线| 丁香六月欧美| 久久人人爽av亚洲精品天堂| 亚洲国产中文字幕在线视频| 亚洲第一av免费看| 最好的美女福利视频网| 999久久久国产精品视频| 999久久久精品免费观看国产| 精品高清国产在线一区| 日韩欧美免费精品| cao死你这个sao货| 久久久精品国产亚洲av高清涩受| av视频免费观看在线观看| 国产精品99久久99久久久不卡| 色综合欧美亚洲国产小说| 91麻豆av在线| 夜夜夜夜夜久久久久| 亚洲一区二区三区色噜噜 | 在线观看免费午夜福利视频| 18禁美女被吸乳视频| 亚洲人成电影观看| 99精品久久久久人妻精品| 午夜亚洲福利在线播放| 午夜福利在线观看吧| 一进一出抽搐动态| 精品日产1卡2卡| 久久久国产一区二区| 免费av中文字幕在线| 18禁黄网站禁片午夜丰满| 国产欧美日韩一区二区精品| 国产伦人伦偷精品视频| 国产精品久久久久久人妻精品电影| 午夜免费激情av| 精品久久久久久电影网| 国产精品永久免费网站| 人妻丰满熟妇av一区二区三区| 99国产精品一区二区三区| 黄色成人免费大全| 久久久久精品国产欧美久久久| 午夜免费激情av| 人人妻,人人澡人人爽秒播| 18禁国产床啪视频网站| 最近最新中文字幕大全免费视频| 午夜精品久久久久久毛片777| 高清av免费在线| 国产精品 国内视频| videosex国产| 男女下面插进去视频免费观看| 久久九九热精品免费| 一级作爱视频免费观看| 一级片'在线观看视频| 国产精品野战在线观看 | 欧美激情 高清一区二区三区| 亚洲av电影在线进入| 人成视频在线观看免费观看| 亚洲人成电影观看| 99久久精品国产亚洲精品| 久久热在线av| 不卡av一区二区三区| 老司机靠b影院| 少妇被粗大的猛进出69影院| 色综合站精品国产| 1024视频免费在线观看| 老司机福利观看| 国产成人免费无遮挡视频| 少妇 在线观看| 国产xxxxx性猛交| 天堂√8在线中文| 极品教师在线免费播放| 亚洲五月婷婷丁香| 成年女人毛片免费观看观看9| 91大片在线观看| 欧美久久黑人一区二区| 欧美大码av| 热99国产精品久久久久久7| 欧美精品亚洲一区二区| 午夜福利影视在线免费观看| 一区福利在线观看| 午夜免费观看网址| 久久精品aⅴ一区二区三区四区| 亚洲精品粉嫩美女一区| 母亲3免费完整高清在线观看| 国产国语露脸激情在线看| 色尼玛亚洲综合影院| 搡老熟女国产l中国老女人| 国产精品98久久久久久宅男小说| 国产深夜福利视频在线观看| 久久久久久人人人人人| 久久精品国产亚洲av香蕉五月| 黄片播放在线免费| 一级作爱视频免费观看| 精品熟女少妇八av免费久了| 黑人操中国人逼视频| 亚洲人成网站在线播放欧美日韩| 精品无人区乱码1区二区| 精品一区二区三区四区五区乱码| 国产欧美日韩一区二区精品| 久久久久国产一级毛片高清牌| 淫妇啪啪啪对白视频| 99国产精品一区二区三区| 亚洲 国产 在线| 日本五十路高清| 一进一出好大好爽视频| 天堂√8在线中文| 国产一区二区三区在线臀色熟女 | 亚洲avbb在线观看| 中文字幕最新亚洲高清| 在线视频色国产色| 99在线视频只有这里精品首页| 国产成+人综合+亚洲专区| 免费av毛片视频| 18禁黄网站禁片午夜丰满| 欧美精品亚洲一区二区| 黄频高清免费视频| 在线观看免费高清a一片| 午夜福利欧美成人| 国产97色在线日韩免费| 男人舔女人的私密视频| 久久性视频一级片| 手机成人av网站| 亚洲精品美女久久av网站| 熟女少妇亚洲综合色aaa.| 12—13女人毛片做爰片一| 久久99一区二区三区| av国产精品久久久久影院| 在线观看免费视频网站a站| 国产成人一区二区三区免费视频网站| 一区二区三区激情视频| 母亲3免费完整高清在线观看| 在线国产一区二区在线| 免费av毛片视频| aaaaa片日本免费| 又紧又爽又黄一区二区| 日韩欧美免费精品| 真人做人爱边吃奶动态| 国产欧美日韩精品亚洲av| 国产精品久久电影中文字幕| 亚洲国产毛片av蜜桃av| 一区在线观看完整版| 亚洲午夜精品一区,二区,三区| 久久香蕉国产精品| 亚洲欧美日韩高清在线视频| 99热只有精品国产| 正在播放国产对白刺激| 亚洲片人在线观看| 精品久久久久久电影网| 黑人巨大精品欧美一区二区mp4| 日本免费a在线| 高潮久久久久久久久久久不卡| 婷婷六月久久综合丁香| 精品日产1卡2卡| 99国产极品粉嫩在线观看| 亚洲狠狠婷婷综合久久图片| 99精品在免费线老司机午夜| 精品乱码久久久久久99久播| 国产高清国产精品国产三级| av视频免费观看在线观看| 狂野欧美激情性xxxx| 999久久久国产精品视频| 两性夫妻黄色片| 咕卡用的链子| 成在线人永久免费视频| 日日摸夜夜添夜夜添小说| 91麻豆精品激情在线观看国产 | 国产欧美日韩一区二区三| 两人在一起打扑克的视频| 国产亚洲精品久久久久久毛片| 日本免费a在线| 亚洲av成人一区二区三| 亚洲精品国产精品久久久不卡| 亚洲欧美精品综合久久99| 国产精品乱码一区二三区的特点 | 一夜夜www| 老鸭窝网址在线观看| 色婷婷av一区二区三区视频| 国产熟女xx| 久久精品国产亚洲av香蕉五月| 男人的好看免费观看在线视频 | 真人做人爱边吃奶动态| 搡老岳熟女国产| 十八禁人妻一区二区| 麻豆一二三区av精品| 神马国产精品三级电影在线观看 | 日日干狠狠操夜夜爽| xxx96com| 搡老岳熟女国产| 欧美日韩一级在线毛片| 老司机亚洲免费影院| 日韩精品免费视频一区二区三区| 女人被狂操c到高潮| 99国产极品粉嫩在线观看| 国产精华一区二区三区| 亚洲欧美激情在线| 久久天躁狠狠躁夜夜2o2o| 欧美人与性动交α欧美软件| 精品免费久久久久久久清纯| 国产成+人综合+亚洲专区| 亚洲狠狠婷婷综合久久图片| 国产熟女xx| 亚洲狠狠婷婷综合久久图片| 久久精品国产综合久久久| 啦啦啦 在线观看视频| 精品久久久久久久久久免费视频 | 99热国产这里只有精品6| 午夜成年电影在线免费观看| 国产99白浆流出| 黑丝袜美女国产一区| 人妻久久中文字幕网| 亚洲伊人色综图| 亚洲一区二区三区欧美精品| 精品日产1卡2卡| 日韩视频一区二区在线观看| 69精品国产乱码久久久| 色婷婷久久久亚洲欧美| 成人三级黄色视频| 18禁裸乳无遮挡免费网站照片 | 日本欧美视频一区| 国产欧美日韩一区二区精品| 亚洲自偷自拍图片 自拍| 亚洲久久久国产精品| 精品日产1卡2卡| 99久久久亚洲精品蜜臀av| 夜夜爽天天搞| 成人精品一区二区免费| 在线永久观看黄色视频| 99久久精品国产亚洲精品| 欧美亚洲日本最大视频资源| 国产欧美日韩精品亚洲av| 国产精品永久免费网站| 亚洲伊人色综图| 亚洲中文字幕日韩| 另类亚洲欧美激情| 99热只有精品国产| 免费在线观看亚洲国产| 一二三四在线观看免费中文在| 日本精品一区二区三区蜜桃| 视频区图区小说| 一区二区三区激情视频| 国产精品av久久久久免费| 亚洲欧洲精品一区二区精品久久久| 国产精品综合久久久久久久免费 | 91成人精品电影| 母亲3免费完整高清在线观看| 男男h啪啪无遮挡| 搡老岳熟女国产| 亚洲aⅴ乱码一区二区在线播放 | 在线观看一区二区三区| 欧美激情高清一区二区三区| 亚洲欧美精品综合久久99| 欧美日韩黄片免| 久久久精品欧美日韩精品| 99久久综合精品五月天人人| 亚洲全国av大片| 亚洲精华国产精华精| 精品国产国语对白av| 欧美黄色片欧美黄色片| 久久久久国产一级毛片高清牌| 少妇粗大呻吟视频| 久久精品91无色码中文字幕| 真人做人爱边吃奶动态| 一二三四社区在线视频社区8| 欧美大码av| 深夜精品福利| 在线观看免费高清a一片| 91成年电影在线观看| 91九色精品人成在线观看| 久久人妻福利社区极品人妻图片| 老司机亚洲免费影院| 啪啪无遮挡十八禁网站| 日韩免费高清中文字幕av| 日本a在线网址| 老司机在亚洲福利影院| 久久精品亚洲av国产电影网| 12—13女人毛片做爰片一| bbb黄色大片| 韩国精品一区二区三区| 国产成人欧美在线观看| 国产主播在线观看一区二区| 精品第一国产精品| 亚洲精品美女久久av网站| 久久国产亚洲av麻豆专区| 久久久精品欧美日韩精品| 亚洲专区字幕在线| 啪啪无遮挡十八禁网站| 热re99久久精品国产66热6| 欧美色视频一区免费| 动漫黄色视频在线观看| 久久亚洲真实| 国产精品乱码一区二三区的特点 | 中亚洲国语对白在线视频| 久久国产精品影院| 一级作爱视频免费观看| 久久人人精品亚洲av| 亚洲成国产人片在线观看| 搡老岳熟女国产| 多毛熟女@视频| 18禁国产床啪视频网站| 免费观看精品视频网站| 俄罗斯特黄特色一大片| 777久久人妻少妇嫩草av网站| 久久天躁狠狠躁夜夜2o2o| 精品一区二区三区视频在线观看免费 | 淫秽高清视频在线观看| 亚洲av片天天在线观看| 日本a在线网址| 又紧又爽又黄一区二区| 在线观看日韩欧美| 午夜影院日韩av| 午夜免费观看网址| 亚洲在线自拍视频| 女生性感内裤真人,穿戴方法视频| 在线观看舔阴道视频| а√天堂www在线а√下载| 欧美日韩av久久| 大香蕉久久成人网| 亚洲成人久久性| 精品国产一区二区久久| 国产野战对白在线观看| 免费av中文字幕在线| 日本精品一区二区三区蜜桃| netflix在线观看网站| 国产伦人伦偷精品视频| 亚洲人成网站在线播放欧美日韩| av福利片在线| 天天影视国产精品| 最近最新中文字幕大全电影3 | 99久久久亚洲精品蜜臀av| 性少妇av在线| 国产av一区二区精品久久| 精品国产乱子伦一区二区三区| 色综合站精品国产| 亚洲午夜精品一区,二区,三区| 一区二区三区精品91| 三上悠亚av全集在线观看| 成人国语在线视频| av视频免费观看在线观看| 免费观看精品视频网站| 免费女性裸体啪啪无遮挡网站| av免费在线观看网站| 真人一进一出gif抽搐免费| 老汉色∧v一级毛片| 精品国产一区二区久久| 亚洲片人在线观看| 窝窝影院91人妻| 久久中文字幕人妻熟女| 黑人巨大精品欧美一区二区mp4| av福利片在线| 精品国产一区二区三区四区第35| 国产成人av激情在线播放| 日韩视频一区二区在线观看| 成年版毛片免费区| 中文字幕人妻熟女乱码| 国产成人系列免费观看| 久久影院123| 丰满的人妻完整版| 人人澡人人妻人| av在线天堂中文字幕 | 日韩视频一区二区在线观看| 国产精品98久久久久久宅男小说| 国产极品粉嫩免费观看在线| 亚洲自拍偷在线| 国产片内射在线| 日韩 欧美 亚洲 中文字幕| 人妻久久中文字幕网| 在线观看一区二区三区| 日韩三级视频一区二区三区| 无人区码免费观看不卡| 亚洲欧美精品综合一区二区三区| 国产成人精品久久二区二区91| 欧美人与性动交α欧美软件| 性色av乱码一区二区三区2| 无限看片的www在线观看| 男女之事视频高清在线观看| 久久精品亚洲精品国产色婷小说| 午夜亚洲福利在线播放| 国产精品久久久久成人av| 久久久久久大精品| 亚洲午夜理论影院| 久久久精品欧美日韩精品| 91在线观看av| 久久中文字幕人妻熟女| 欧美乱色亚洲激情| 狠狠狠狠99中文字幕| 国产亚洲精品综合一区在线观看 | 国产激情久久老熟女| 十八禁网站免费在线| 好看av亚洲va欧美ⅴa在| 一边摸一边抽搐一进一小说| 色哟哟哟哟哟哟| 最新在线观看一区二区三区| 一进一出好大好爽视频| 亚洲欧美一区二区三区久久| 1024视频免费在线观看| 精品人妻1区二区| 成人影院久久| 久久中文字幕一级| 热re99久久精品国产66热6| 国产精品av久久久久免费| 国产精品偷伦视频观看了| 亚洲国产欧美日韩在线播放| 波多野结衣高清无吗| 国产精品秋霞免费鲁丝片| 色在线成人网| 成人亚洲精品av一区二区 | 91国产中文字幕| 午夜精品国产一区二区电影| 69av精品久久久久久| 精品国产乱子伦一区二区三区| 视频区欧美日本亚洲| 亚洲色图 男人天堂 中文字幕| 亚洲国产欧美日韩在线播放| 色婷婷av一区二区三区视频| 精品一品国产午夜福利视频| 人人妻人人添人人爽欧美一区卜| 午夜a级毛片| 成人影院久久| 欧美日韩中文字幕国产精品一区二区三区 | 男女床上黄色一级片免费看| 在线国产一区二区在线| 交换朋友夫妻互换小说| 超碰97精品在线观看| 国产极品粉嫩免费观看在线| 在线观看一区二区三区激情| 最新美女视频免费是黄的| 99精品欧美一区二区三区四区| 亚洲av片天天在线观看| 亚洲一码二码三码区别大吗| 丰满饥渴人妻一区二区三| 国产熟女午夜一区二区三区| 亚洲精品一区av在线观看| 女人被狂操c到高潮| 亚洲成人精品中文字幕电影 | 少妇 在线观看| 麻豆国产av国片精品| 日本五十路高清| e午夜精品久久久久久久| 日本欧美视频一区| 制服人妻中文乱码| 日本黄色日本黄色录像| 99国产精品一区二区三区| 十八禁人妻一区二区| 嫩草影视91久久| 熟女少妇亚洲综合色aaa.| 国产1区2区3区精品| 日本免费a在线| 老司机在亚洲福利影院| 国产色视频综合| 韩国精品一区二区三区| 熟女少妇亚洲综合色aaa.| 长腿黑丝高跟| 50天的宝宝边吃奶边哭怎么回事| 精品乱码久久久久久99久播| 国产在线精品亚洲第一网站| 他把我摸到了高潮在线观看| 亚洲精品国产一区二区精华液| 国产真人三级小视频在线观看| 国产高清国产精品国产三级| 国产三级黄色录像| 一级毛片女人18水好多| 51午夜福利影视在线观看| 国产激情欧美一区二区| 免费观看人在逋| 久久久久久免费高清国产稀缺| 操美女的视频在线观看| 国产免费av片在线观看野外av| 男男h啪啪无遮挡| 精品福利永久在线观看| 国产99白浆流出| 亚洲成国产人片在线观看| 黄片小视频在线播放| 91精品国产国语对白视频| 18禁美女被吸乳视频| 妹子高潮喷水视频| 亚洲成国产人片在线观看| 美女高潮喷水抽搐中文字幕| 99久久99久久久精品蜜桃| 视频在线观看一区二区三区| 91字幕亚洲|