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

    區(qū)塊鏈中Merkle樹性能研究①

    2020-09-22 07:45:42鄒一波
    關(guān)鍵詞:樹結(jié)構(gòu)以太賬本

    黃 根,鄒一波,徐 云

    1(中國(guó)科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230026)

    2(上海海洋大學(xué) 信息學(xué)院,上海 201306)

    3(安徽省高性能計(jì)算重點(diǎn)實(shí)驗(yàn)室,合肥 230026)

    自從2009年比特幣[1]問(wèn)世,區(qū)塊鏈技術(shù)逐漸進(jìn)入人們的視野.區(qū)塊鏈本質(zhì)就是一個(gè)新型的分布式存儲(chǔ)系統(tǒng)[2],是將傳統(tǒng)計(jì)算機(jī)技術(shù)中的分布式存儲(chǔ)、分布式共識(shí)、密碼學(xué)、點(diǎn)對(duì)點(diǎn)傳輸?shù)母鞣N技術(shù)進(jìn)行創(chuàng)新性結(jié)合的新技術(shù),它也被視為繼大型機(jī)、個(gè)人電腦、互聯(lián)網(wǎng)和移動(dòng)/社交網(wǎng)絡(luò)之后的第五種顛覆性創(chuàng)新技術(shù)[3],目前已經(jīng)用于物聯(lián)網(wǎng)[4]、智能制造[5]、供應(yīng)鏈管理[6]、數(shù)據(jù)資產(chǎn)交易[7]等多個(gè)領(lǐng)域.對(duì)于區(qū)塊鏈,主要實(shí)現(xiàn)了分布式存儲(chǔ)中的去中心化、去信任化、數(shù)據(jù)的時(shí)間序列化、集體維護(hù)等特征,同時(shí)也保障了可編程性、安全性和可靠性[8].

    在區(qū)塊鏈中的每個(gè)區(qū)塊中,主要分為區(qū)塊頭和區(qū)塊體[9].Merkle 樹是區(qū)塊體的主要構(gòu)成部分,構(gòu)建Merkle 樹也是構(gòu)建區(qū)塊體的主要工作.因此Merkle 樹的構(gòu)建時(shí)間和存儲(chǔ)大小都將影響區(qū)塊鏈的性能.

    在區(qū)塊鏈的技術(shù)發(fā)展過(guò)程中,Merkle 樹的結(jié)構(gòu)也在不斷的發(fā)生改變.目前,主流的區(qū)塊鏈框架主要指比特幣、以太坊[10]和超級(jí)賬本[11].在比特幣中,其采用傳統(tǒng)的Merkle 樹結(jié)構(gòu);以太坊在比特幣的基礎(chǔ)上進(jìn)行了改造,汲取了Patricia 樹檢索高效的優(yōu)點(diǎn),融合Merkle樹和Patricia 樹而產(chǎn)生的Merkle Patricia 樹[12];超級(jí)賬本為了減少添加數(shù)據(jù)的代價(jià),采用了融合Merkle 樹和Hash 桶的Bucket 樹[11]結(jié)構(gòu).

    在本文中,我們首先對(duì)區(qū)塊鏈中Merkle 樹的結(jié)構(gòu)和關(guān)鍵操作進(jìn)行分析,從理論上對(duì)Merkle 樹的作用和復(fù)雜度進(jìn)行解析;然后根據(jù)分析結(jié)果提出相應(yīng)的性能評(píng)測(cè)指標(biāo),最后通過(guò)實(shí)驗(yàn)進(jìn)行驗(yàn)證和分析.

    1 區(qū)塊鏈中的Merkle 樹結(jié)構(gòu)分析

    1.1 傳統(tǒng)Merkle 樹結(jié)構(gòu)

    在計(jì)算機(jī)科學(xué)與密碼學(xué)中,Merkle 樹是一種樹形數(shù)據(jù)結(jié)構(gòu).每個(gè)葉子節(jié)點(diǎn)均以數(shù)據(jù)塊的哈希值作為標(biāo)簽,而除了葉子節(jié)點(diǎn)之外的節(jié)點(diǎn)則以其子節(jié)點(diǎn)標(biāo)簽的加密哈希值作為標(biāo)簽.Merkle 樹可以實(shí)現(xiàn)快捷的數(shù)據(jù)驗(yàn)證,因此能夠高效地驗(yàn)證大型數(shù)據(jù)結(jié)構(gòu)的內(nèi)容[13].

    如圖1所示,該圖表明了Merkle 樹的結(jié)構(gòu).Merkle樹可以被看成是Hash 表的推廣,即Hash 表其實(shí)是樹高為2 的Merkle 樹.其形成的過(guò)程主要為:

    圖1 Merkle 樹結(jié)構(gòu)

    (1)在Merkle 樹的最底層,將數(shù)據(jù)分成一個(gè)個(gè)小的數(shù)據(jù)塊,且各數(shù)據(jù)塊擁有對(duì)應(yīng)的Hash 值,作為葉子節(jié)點(diǎn);

    (2)葉子節(jié)點(diǎn)到上層樹結(jié)構(gòu)時(shí),將相鄰的兩個(gè)Hash值合并成一個(gè)字符串,計(jì)算該字符串的Hash 值;

    (3)每一層都重復(fù)過(guò)程(2),相鄰兩個(gè)Hash 值便可以一個(gè)子Hash 值.若最底層的Hash 總數(shù)為單數(shù),則直接對(duì)其做Hash 運(yùn)算.

    從葉子節(jié)點(diǎn)向上依此類推,最終形成Merkle 樹.到了根節(jié)點(diǎn)就只剩下一個(gè)根Hash 值了,我們將其稱為Merkle Root.

    1.2 區(qū)塊鏈中的Merkle 樹結(jié)構(gòu)

    在以比特幣、以太坊和超級(jí)賬本為代表的主流區(qū)塊鏈系統(tǒng)中,在Merkle 上分別有著不同的設(shè)計(jì)與實(shí)現(xiàn).下面,我們將依次介紹這三種不同區(qū)塊鏈系統(tǒng)中Merkle 樹的結(jié)構(gòu).

    (1) 比特幣的Merkle 樹

    在比特幣系統(tǒng)中,區(qū)塊分為區(qū)塊頭和區(qū)塊體,其中區(qū)塊體則是由Merkle 樹構(gòu)成.其中,整個(gè)區(qū)塊的大小為2 M,區(qū)塊頭的大小固定為80 個(gè)字節(jié),因此,區(qū)塊體的大小占了整個(gè)區(qū)塊的96%.

    比特幣的Merkle 結(jié)構(gòu)和傳統(tǒng)的Merkle 樹完全相同.如圖1所示,在比特幣中,Merkle 樹的葉子結(jié)點(diǎn)為系統(tǒng)中每一筆交易的Hash 值.不同交易利用Merkle樹的結(jié)構(gòu)進(jìn)行組合,最終生成比特幣的Merkle 樹,同時(shí)產(chǎn)生由所有交易產(chǎn)生的Merkle 根.

    (2) 以太坊的Merkle 樹

    在比特幣模型中,采用UTXO 模型表示數(shù)據(jù),因此采用傳統(tǒng)的Merkle 樹簡(jiǎn)單快捷[14];但是以以太坊為代表的第二代區(qū)塊鏈中,大多采用賬戶模型[15],此時(shí)傳統(tǒng)的Merkle 樹會(huì)帶來(lái)極大的存儲(chǔ)空間消耗,并且不易查詢.因此,在以太坊中,對(duì)Merkle 樹進(jìn)行改進(jìn),設(shè)計(jì)出一種新的數(shù)據(jù)結(jié)構(gòu)-Merkle Patricia 樹進(jìn)行數(shù)據(jù)存儲(chǔ).

    Merkle Patricia 樹簡(jiǎn)稱MPT,其本質(zhì)上是先將前綴樹進(jìn)行改進(jìn),然后再和Merkle 樹進(jìn)行結(jié)合.

    在原始的前綴樹中,存在空間浪費(fèi)、節(jié)點(diǎn)不易控制、深度長(zhǎng)等缺陷.MPT 在前綴樹的基礎(chǔ)上進(jìn)行了改進(jìn),主要做了以下幾個(gè)方面.

    ① 為了防止key 的長(zhǎng)度不同造成浪費(fèi),首先將所有的key 值進(jìn)行Hash,將所有的key 轉(zhuǎn)換成相同的長(zhǎng)度;

    ② 為了方便對(duì)節(jié)點(diǎn)的控制,將所有的節(jié)點(diǎn)分為空節(jié)點(diǎn)、分支節(jié)點(diǎn)、葉子節(jié)點(diǎn)和擴(kuò)展節(jié)點(diǎn)4 種不同的節(jié)點(diǎn),分別存儲(chǔ)不同的內(nèi)容;

    ③ 為了更好的進(jìn)行比較,將key 中的每個(gè)參數(shù)進(jìn)行hex 編碼.同時(shí)使用hex 編碼后,每個(gè)值大小為[0-15],可以使每個(gè)分支節(jié)點(diǎn)的容量都減小;

    ④ 為了縮短樹的深度,將連續(xù)兩個(gè)級(jí)以上的擴(kuò)展節(jié)點(diǎn)進(jìn)行合并.

    通過(guò)如上4 步改進(jìn),傳統(tǒng)的前綴樹結(jié)構(gòu)如圖2所示.最后,將改進(jìn)后的前綴樹和Merkle 樹進(jìn)行結(jié)合,將存儲(chǔ)的value 值轉(zhuǎn)換成所有子節(jié)點(diǎn)的Hash 值,即可組成Merkle Patricia 樹.

    圖2 改進(jìn)的前綴樹

    (3) 超級(jí)賬本的Merkle 樹

    超級(jí)賬本采用賬戶模型來(lái)進(jìn)行數(shù)據(jù)存儲(chǔ)[16],但是以太坊的MPT 樹結(jié)構(gòu)復(fù)雜、性能低,超級(jí)賬本則提出了Bucket 樹[17]進(jìn)行數(shù)據(jù)存儲(chǔ).

    Bucket 樹其實(shí)是揉合了Merkle 樹與Hash 桶兩種數(shù)據(jù)結(jié)構(gòu)組合而成的,即Bucket 樹本質(zhì)上是一棵建立在Hash 表上的Merkle 樹.

    如圖3所示,B1-B6 為數(shù)據(jù)的Hash 桶,每個(gè)桶中儲(chǔ)存若干被散列到該桶中的數(shù)據(jù)項(xiàng),所有數(shù)據(jù)項(xiàng)都按序排列.每一個(gè)桶有可以用一個(gè)Hash 值表示其狀態(tài),該Hash 值是桶內(nèi)所有數(shù)據(jù)項(xiàng)的內(nèi)容進(jìn)行Hash 計(jì)算所得.除底層的Hash 表之外,上層是一系列Merkle 樹節(jié)點(diǎn).一個(gè)Merkle 樹節(jié)點(diǎn)對(duì)應(yīng)下一層的n個(gè)Hash 桶或Merkle 節(jié)點(diǎn).Merkle 節(jié)點(diǎn)的Hash 值是根據(jù)這n個(gè)孩子節(jié)點(diǎn)的Hash 值計(jì)算所得.通過(guò)這種方式不斷計(jì)算,與Merkle 樹類似,最頂端的值即為整棵樹的Hash 值,即Merkle 根.由此可以生成完整的Bucket 樹.

    圖3 Bucket 樹

    2 區(qū)塊鏈中Merkle 關(guān)鍵操作分析

    區(qū)塊鏈本質(zhì)上是一個(gè)去中心化的數(shù)據(jù)庫(kù),Merkle樹是區(qū)塊鏈中核心存儲(chǔ)的數(shù)據(jù).和傳統(tǒng)的數(shù)據(jù)庫(kù)相比,區(qū)塊鏈只能進(jìn)行增加和查詢的操作,而不能進(jìn)行刪除和修改.因此,Merkle 樹中核心的操作就是數(shù)據(jù)插入.同時(shí),Merkle 樹的一個(gè)重要作用是SPV 驗(yàn)證(實(shí)現(xiàn)簡(jiǎn)單支付驗(yàn)證),即Merkle 樹可以直接下載一個(gè)分支并立即驗(yàn)證.因此,在本文中,我們主要分析Merkle 樹中兩個(gè)核心的操作:插入數(shù)據(jù)和SPV 驗(yàn)證.

    2.1 數(shù)據(jù)插入

    數(shù)據(jù)插入是Merkle 樹中最為核心的操作,是實(shí)現(xiàn)區(qū)塊鏈系統(tǒng)中數(shù)據(jù)插入功能的底層.因此,理解不同區(qū)塊鏈系統(tǒng)中Merkle 樹的數(shù)據(jù)插入的原理,是理解不同區(qū)塊鏈系統(tǒng)性能瓶頸的重要途徑.

    對(duì)于比特幣中的Merkle 樹,當(dāng)需要插入一個(gè)新的數(shù)據(jù)時(shí),通常在之前的Merkle 樹基礎(chǔ)上進(jìn)行插入.如圖4所示,如果插入數(shù)據(jù)L4,通常情況下只需要在之前的Mekle 的基礎(chǔ)上重新插入一條新的路徑,然后通過(guò)和之前的Merkle 樹中的節(jié)點(diǎn)進(jìn)行Hash 計(jì)算,即可產(chǎn)生新的Merkle 樹.

    圖4 Merkle 樹的插入

    對(duì)于以太坊中的MPT,其插入數(shù)據(jù)的過(guò)程相對(duì)比較復(fù)雜,其核心的思想為:按照key 的內(nèi)容,從根節(jié)點(diǎn)依次從上往下尋找相同長(zhǎng)度的路徑,同時(shí)隨時(shí)根據(jù)MPT 的性質(zhì)改變節(jié)點(diǎn)的性質(zhì),插入新的key 的值,直到key 遍歷結(jié)束.如圖5所示,該虛線路徑展現(xiàn)了鍵值對(duì)為<‘1,2,2,4,5’,‘gen’>的數(shù)據(jù)插入.

    圖5 MPT 的插入

    對(duì)于超級(jí)賬本中的Bucket 樹,當(dāng)插入新的數(shù)據(jù)時(shí),需要對(duì)進(jìn)行計(jì)算和合并兩個(gè)過(guò)程.

    如圖6所示,在Bucket 樹中新插入兩條數(shù)據(jù)項(xiàng)Entry1,通常通過(guò)以下兩個(gè)步驟:

    圖6 Bucket 樹插入數(shù)據(jù)

    計(jì)算:經(jīng)過(guò)散列值計(jì)算,Entry1 應(yīng)該放到B2 中.

    合并:在B2 中需要將新插入的數(shù)據(jù)與歷史數(shù)據(jù)進(jìn)行合并,且按固定的排序算法進(jìn)行重排序,最終得到一個(gè)新Hash 桶,即改變B2 的值;

    當(dāng)Hash 桶計(jì)算完成之后,便可進(jìn)行Merkle 節(jié)點(diǎn)的Hash 計(jì)算.該過(guò)程僅對(duì)需要改變的節(jié)點(diǎn)進(jìn)行Hash重計(jì)算.對(duì)沒(méi)有變化的孩子節(jié)點(diǎn)可直接使用歷史的Hash值.即需要重新計(jì)算Hash0-1,Hash0,Root 節(jié)點(diǎn).

    2.2 SPV 驗(yàn)證

    在比特幣中,Merkle 的主要作用是實(shí)現(xiàn)SPV 驗(yàn)證.SPV 驗(yàn)證全稱叫做簡(jiǎn)單支付驗(yàn)證,即區(qū)塊鏈中的SPV節(jié)點(diǎn)(輕型節(jié)點(diǎn))驗(yàn)證某個(gè)交易是否已經(jīng)在交易中,是區(qū)塊鏈系統(tǒng)可以在手機(jī)等移動(dòng)端運(yùn)行的關(guān)鍵.

    在SPV 驗(yàn)證中,Merkle 主要完整交易的存在性檢查.其過(guò)程主要是

    (1) SPV 節(jié)點(diǎn)從身邊的全節(jié)點(diǎn)向獲取待交易的Merkle分支;

    (2) 利用Merkle 分支與本地的交易生成Merkle根,與本地的Merkle 根進(jìn)行比較,驗(yàn)證交易的存在性.

    如圖7所示,SPV 節(jié)點(diǎn)驗(yàn)證交易L3 的存在性,只需要通過(guò)全節(jié)點(diǎn)獲取L3 的Merkle 分支,即<Hash1-1,Hash0>節(jié)點(diǎn),然后通過(guò)L3 與Merkle 分支的計(jì)算即可獲得Root,最后通過(guò)比較Root 和本地存儲(chǔ)的Merkle根是否相同判斷L3 是否已經(jīng)在區(qū)塊中[16].

    圖7 SPV 驗(yàn)證過(guò)程

    如上分析,使用Merkle 分支進(jìn)行存在性檢查,對(duì)于n 個(gè)交易來(lái)說(shuō),傳輸?shù)膮^(qū)塊數(shù)為log(n),可以大大較少數(shù)據(jù)傳輸?shù)臄?shù)量,降低網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān).

    對(duì)于以太坊來(lái)說(shuō),因?yàn)槠湓谇熬Y樹的基礎(chǔ)上集成了Merkle 樹,因此在其SPV 驗(yàn)證和比特幣系統(tǒng)相同:在SPV 節(jié)點(diǎn)中,也是主要存儲(chǔ)了Merkle 根,之后從鄰居的全節(jié)點(diǎn)獲取Merkle 分支,通過(guò)哈希計(jì)算查詢獲取Root,最后和本地存在的Merkle 根進(jìn)行比較以判斷交易的存在性.

    對(duì)于超級(jí)賬本的Bucket 樹來(lái)說(shuō),由于其葉子結(jié)點(diǎn)為有序的哈希桶,哈希桶中存在大量的數(shù)據(jù).如果需要實(shí)現(xiàn)SPV 驗(yàn)證,其不僅僅需要傳輸Merkle 分支,同時(shí)需要傳輸Hash 桶中的其他元素,會(huì)大大增加傳輸數(shù)據(jù)的數(shù)量,增加網(wǎng)絡(luò)負(fù)擔(dān).因此,在超級(jí)賬本中很少有提及SPV 相關(guān)的操作.

    2.3 性能總結(jié)

    從上述的所有內(nèi)容中,我們分析了比特幣中的Merkle 樹、以太坊中的Merkle Patricia 樹以及超級(jí)賬本中的Bucke 樹的結(jié)構(gòu)和主要操作.假設(shè)對(duì)于n個(gè)<key,value>鍵值對(duì)的數(shù)據(jù),MPT 樹中每個(gè)key 值Hash后的長(zhǎng)度為m,Bucket 樹中每個(gè)節(jié)點(diǎn)有a個(gè)子節(jié)點(diǎn),葉子節(jié)點(diǎn)個(gè)數(shù)為C,那么從理論上進(jìn)行分析,Merkle 樹,MPT和Bucket 樹的插入時(shí)間復(fù)雜度,空間復(fù)雜度和SPV 傳輸節(jié)點(diǎn)數(shù)的理論復(fù)雜度如表1所示.

    表1 不同種類樹理論性能分析

    3 實(shí)驗(yàn)性能分析指標(biāo)設(shè)計(jì)

    在之前的工作中,我們分析了Merkle 樹的結(jié)構(gòu)和兩大核心操作.因此,在實(shí)驗(yàn)中,我們主要從插入數(shù)據(jù)性能,數(shù)據(jù)存儲(chǔ)和SPV 驗(yàn)證性能3 個(gè)方面進(jìn)行相關(guān)的實(shí)驗(yàn),以驗(yàn)證之前的理論分析.為了更好的定量表現(xiàn)出相關(guān)性能,我們?cè)O(shè)計(jì)了相關(guān)的指標(biāo),分別體現(xiàn)出插入數(shù)據(jù),數(shù)據(jù)存儲(chǔ)和SPV 驗(yàn)證的相關(guān)性能.

    3.1 構(gòu)建時(shí)間

    首先考慮插入數(shù)據(jù)的時(shí)間開銷.對(duì)于一個(gè)相關(guān)的數(shù)據(jù)來(lái)說(shuō),插入數(shù)據(jù)的時(shí)間極短,其插入數(shù)據(jù)的時(shí)間開銷可能比程序代碼在其他地方運(yùn)行的時(shí)間更短,因此較難使用程序來(lái)統(tǒng)計(jì)一個(gè)數(shù)據(jù)的插入時(shí)間.但是,在區(qū)塊鏈系統(tǒng)中,構(gòu)建區(qū)塊的過(guò)程中存在非常重要的一步就是將交易池中的眾多交易進(jìn)行打包構(gòu)建成Merkle樹,其本質(zhì)上就是將交易池的數(shù)據(jù)一個(gè)個(gè)插入到Merkle樹中以構(gòu)成最終的Merkle 樹并存入?yún)^(qū)塊中.因此,在本實(shí)驗(yàn)中,我們采用統(tǒng)計(jì)不同規(guī)模數(shù)據(jù)集下Merkle 樹的構(gòu)建時(shí)間來(lái)進(jìn)一步的表現(xiàn)出不同Merkle 樹的插入性能.

    3.2 節(jié)點(diǎn)數(shù)及樹的深度

    其次,我們考慮不同Merkle 樹帶來(lái)的數(shù)據(jù)存儲(chǔ).目前區(qū)塊過(guò)大已經(jīng)是區(qū)塊鏈系統(tǒng)中十分關(guān)鍵的問(wèn)題,而Merkle 樹作為區(qū)塊中主要存儲(chǔ)的數(shù)據(jù),對(duì)比不同Merkle 樹的存儲(chǔ)性能對(duì)我們之后選擇不同的區(qū)塊鏈結(jié)構(gòu)是十分有必要的.

    對(duì)于Merkle 樹來(lái)說(shuō),節(jié)點(diǎn)數(shù)目的大小會(huì)直接影響Merkle 樹的存儲(chǔ)大小:更多節(jié)點(diǎn)的Merkle 樹節(jié)點(diǎn)存儲(chǔ)規(guī)模顯然會(huì)更大.對(duì)于不同的Merkle 樹結(jié)構(gòu)來(lái)說(shuō),相同的數(shù)據(jù)在不同的Merkle 樹結(jié)構(gòu)上的節(jié)點(diǎn)數(shù)目和樹的深度是不同的.因此可以統(tǒng)計(jì)不同規(guī)模的數(shù)據(jù)在Merkle 樹上的節(jié)點(diǎn)數(shù)和深度來(lái)定量的表示在不同Merkle樹的存儲(chǔ)性能.

    3.3 SPV 驗(yàn)證中Merkle 分支節(jié)點(diǎn)數(shù)

    如第2 節(jié)所述,區(qū)塊鏈中的SPV 驗(yàn)證是Merkle 樹中的重要功能之一,因此檢測(cè)SPV 驗(yàn)證的相關(guān)性能也是對(duì)Merkle 樹性能分析的重要組成部分.

    在進(jìn)行SPV 驗(yàn)證時(shí),主要關(guān)心兩個(gè)性能指標(biāo).首先是Merkle 分支的節(jié)點(diǎn)數(shù),該指標(biāo)會(huì)影響在網(wǎng)絡(luò)傳輸中的性能,太大的Merkle 分支會(huì)造成較大網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān),嚴(yán)重影響網(wǎng)絡(luò)傳輸?shù)男阅?其次,Merkle 分支樹也會(huì)影響SPV 驗(yàn)證的時(shí)間性能,因?yàn)楦嗟腗erkle 分支節(jié)點(diǎn)就需要更多的重組Hash 運(yùn)算,影響做SPV 驗(yàn)證的時(shí)間效率.因此,在本實(shí)驗(yàn)分析中,我們只需要利用Merkle 分支的節(jié)點(diǎn)數(shù)目來(lái)分析對(duì)SPV 驗(yàn)證的網(wǎng)絡(luò)傳輸和時(shí)間的性能.

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

    在本實(shí)驗(yàn)中,我們通過(guò)實(shí)驗(yàn)設(shè)計(jì),利用Merkle 樹的構(gòu)建時(shí)間、Merkle 樹的節(jié)點(diǎn)數(shù)、樹的深度和SPV驗(yàn)證的Merkle 分支節(jié)點(diǎn)數(shù)來(lái)進(jìn)一步分析和驗(yàn)證不同區(qū)塊鏈系統(tǒng)中Merkle 樹的相關(guān)性能.

    4.1 實(shí)驗(yàn)設(shè)計(jì)

    本文中,我們主要進(jìn)行分析和比較比特幣中的Merkle 樹,以太坊中Merkle Patricia 樹和超級(jí)賬本中的Bucket 樹.為了消除其他因素的影響而直接分析不同Merkle 的性能,我們利用統(tǒng)一的語(yǔ)言(Java)對(duì)3 種樹的結(jié)構(gòu)進(jìn)行實(shí)現(xiàn).

    在數(shù)據(jù)方面,為了更好的適配MPT 結(jié)構(gòu),我們統(tǒng)一使用賬戶模型.如圖8所示,在本實(shí)驗(yàn)中,我們通過(guò)隨機(jī)產(chǎn)生的方式,生成了數(shù)量為1000、10 000、50 000和100 000 的鍵值對(duì).這些鍵值對(duì)的key 值不固定大小,其長(zhǎng)度從4 到20 不等;value 的值也不固定大小,長(zhǎng)度從6 到30 不等.

    針對(duì)3 種Merkle 樹結(jié)構(gòu),具體的實(shí)驗(yàn)過(guò)程為:

    在Merkle 樹的實(shí)驗(yàn)中,將key 和value 的值利用“--”字符串進(jìn)行合并,組成一個(gè)新的字符串.之后將新的字符串的Hash 值,作為Merkle 樹的葉子節(jié)點(diǎn).

    在Merkle Patricia 樹的實(shí)驗(yàn)中,首先要對(duì)key 值進(jìn)行Hash 運(yùn)算,將key 編成16 字節(jié)的固定長(zhǎng)度.然后利用Hex 編碼進(jìn)行編碼,之后采用MPT 樹的相關(guān)算法實(shí)現(xiàn)完整的MPT 樹結(jié)構(gòu).

    圖8 數(shù)據(jù)集格式

    在Bucket 樹的實(shí)驗(yàn)中,確定100 個(gè)Hash 桶,每個(gè)節(jié)點(diǎn)最多有3 個(gè)子節(jié)點(diǎn).然后將所有的鍵值隨機(jī)分配到Hash 桶中,保證每個(gè)Hash 桶的鍵值對(duì)應(yīng)數(shù)目基本均勻,最后構(gòu)建Bucket 樹.

    4.2 實(shí)驗(yàn)結(jié)果

    在本實(shí)驗(yàn)中,我們首先對(duì)3 種不同Merkle 樹架構(gòu)的存儲(chǔ)進(jìn)行分析.如3.2 節(jié)所述,在Merkle 樹存儲(chǔ)分析時(shí),我們利用樹的規(guī)模作為反映存儲(chǔ)空間的指標(biāo).即利用樹的節(jié)點(diǎn)數(shù)和樹的深度來(lái)進(jìn)行表示.通過(guò)實(shí)驗(yàn),表2和表3表示在不同數(shù)據(jù)規(guī)模下3 種不同Merkle 樹結(jié)構(gòu)的節(jié)點(diǎn)數(shù)和深度.

    表2 不同規(guī)模樹節(jié)點(diǎn)數(shù)比較(個(gè))

    表3 不同規(guī)模樹深度比較

    從表2中可以看出,在1000、10 000、50 000、100 000組數(shù)據(jù)的情況下,Merkle 樹的節(jié)點(diǎn)數(shù)均為最多,分別為2001、20 004、99 938 和199 750 個(gè);MPT 的節(jié)點(diǎn)數(shù)居中,Bucket 樹的節(jié)點(diǎn)數(shù)最小,均為154 個(gè).

    再看樹的深度,從表3可知,在1000、10 000、50 000、100 000 組數(shù)據(jù)的情況下,Merkle Patricia 樹的樹深均為32,Merkle 樹的深度分別為11,15,17 和18,Bucket 樹的深度均為6.因此,在樹的深度方面,Merkle Patricia 樹的樹深遠(yuǎn)遠(yuǎn)大于Merkle 樹和Bucket 樹兩種算法.同時(shí)Merkle Patricia 樹和Bucket 樹的樹深比較穩(wěn)定,不會(huì)隨著節(jié)點(diǎn)數(shù)的增加而增加.

    其次,如3.1 節(jié)所述,我們進(jìn)一步對(duì)3 種不同Merkle樹的構(gòu)建時(shí)間進(jìn)行分析.如表4所示,表明了3 種不同的Merkle 樹分別創(chuàng)建1000、10 000、50 000 和100 000組數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)所需的時(shí)間.

    表4 不同規(guī)模樹創(chuàng)建時(shí)間比較(ms)

    由表4可以看出,在相同規(guī)模的數(shù)據(jù)下,Merkle Patricia 樹的創(chuàng)建時(shí)間最多,遠(yuǎn)大于其他兩種Merkle 結(jié)構(gòu);Merkle 樹的創(chuàng)建時(shí)間居中,Bucket 樹的創(chuàng)建時(shí)間最短.

    最后,我們需要評(píng)測(cè)3 種Merkle 樹在做SPV 驗(yàn)證.在實(shí)驗(yàn)中,我們分別取了3 種Merkle 樹的Merkle路徑,如表5所示.

    表5 不同規(guī)模樹Merkle 分支(個(gè))

    從表5可以看到,可以看到比特幣,以太坊和超級(jí)賬本在不同規(guī)模數(shù)據(jù)下的Merkle 路徑的長(zhǎng)度,相比之下3 種系統(tǒng)的規(guī)模有著明顯的差異.Merkle 樹的Merkle路徑所需要的節(jié)點(diǎn)最少,其次是MPT 樹.Bucket 樹我們采用和Merkle 樹相同SPV 驗(yàn)證的方法進(jìn)行統(tǒng)計(jì)Merkle路徑,所需要的Merkle 路徑總體來(lái)說(shuō)最長(zhǎng).

    4.3 實(shí)驗(yàn)總結(jié)與分析

    如4.2 節(jié)所示,在存儲(chǔ)方面,如果從節(jié)點(diǎn)數(shù)目來(lái)看,Merkle 所擁有的節(jié)點(diǎn)較多,即所占存儲(chǔ)較大,其次是MPT 樹,Bucket 樹所占空間最小.從之前的理論上分析來(lái)看,由于Merkle Patricia 樹和Bucket 樹均采取措施壓縮數(shù)據(jù),其中MPT 樹使用前綴樹算法,Bucket 樹使用Hash 桶,故其節(jié)點(diǎn)數(shù)均小于Merkle 樹.值得注意的是,MPT 樹的節(jié)點(diǎn)數(shù)其實(shí)與Merkle 樹較為接近.

    從樹的深度來(lái)看,MPT 樹最大,Merkle 其次,Bucket中樹的深度最小.從理論上分析,由于在生成MPT 樹的過(guò)程中,首先要將key 值Hash 運(yùn)算為16 的長(zhǎng)度,同時(shí)采用Hex 編碼,會(huì)擴(kuò)大樹的深度,因此MPT 應(yīng)該是一個(gè)非常狹長(zhǎng)的樹狀結(jié)構(gòu);但是由于key 的長(zhǎng)度一定,因此其深度永遠(yuǎn)不會(huì)進(jìn)行增長(zhǎng);而Merkle 樹的深度是數(shù)據(jù)個(gè)數(shù)的log(n),會(huì)隨著數(shù)據(jù)的增多而增加;Bucket樹中底層的Hash 桶數(shù)量不會(huì)發(fā)生改變,因此其樹的深度很小,同時(shí)其不會(huì)因?yàn)閿?shù)據(jù)規(guī)模的增加而改變.

    從構(gòu)建時(shí)間來(lái)看,同樣是MPT 的構(gòu)造時(shí)間最長(zhǎng),Bucket 樹的構(gòu)造時(shí)間最短.出現(xiàn)這種情況是由其算法的特殊性導(dǎo)致的:首先,為了提高節(jié)點(diǎn)的查找效率和減少存儲(chǔ)空間浪費(fèi),MPT 樹對(duì)單獨(dú)存在的key 進(jìn)行了合并,這需要占用一定時(shí)間;其次,為避免樹中出現(xiàn)很長(zhǎng)的路徑并提高M(jìn)PT 樹的安全性,需要對(duì)每個(gè)key 求Hash 值,這一過(guò)程需要花費(fèi)大量時(shí)間.而Bucket 只需要進(jìn)行Hash 桶的排序和求Hash,上層的Merkle 樹的規(guī)模較小;而Merkle 樹只需要進(jìn)行結(jié)構(gòu)的構(gòu)建.因此,MPT 樹創(chuàng)建時(shí)間遠(yuǎn)大于其他兩種算法.

    從SPV 來(lái)看,在3 種Merkle 樹中,比特幣中Merkle路徑最短,超級(jí)賬本最多,以太坊居中.其原因是因?yàn)楸忍貛藕统?jí)賬本中只需要獲取相應(yīng)的路徑上的節(jié)點(diǎn)即可,因此其Merkle 路徑的長(zhǎng)度應(yīng)該和對(duì)應(yīng)Merkle 樹的深度成正比;而Bucket 樹底層是對(duì)有序的Hash 桶求Hash,所以如果進(jìn)行SPV 驗(yàn)證即不僅僅需要傳遞路徑上的數(shù)據(jù),同時(shí)也需要Hash 桶中其他的數(shù)據(jù).因此,在三種區(qū)塊鏈結(jié)構(gòu)中,比特幣應(yīng)該最適合于在手機(jī)移動(dòng)端使用,超級(jí)賬本不適合在移動(dòng)端實(shí)現(xiàn).

    5 結(jié)論與展望

    在本文中,我們首先分析了比特幣,以太坊和超級(jí)賬本這3 種主流區(qū)塊鏈中Merkle 樹的相關(guān)結(jié)構(gòu)和核心操作,同時(shí)根據(jù)Merkle 樹的作用和特性,提出了相應(yīng)的性能指標(biāo).然后利用統(tǒng)一的語(yǔ)言進(jìn)行了實(shí)現(xiàn),并進(jìn)行了相關(guān)性能指標(biāo)的檢測(cè).實(shí)驗(yàn)結(jié)果表明,比特幣的Merkle 樹結(jié)構(gòu)會(huì)造成更多的存儲(chǔ)消耗,以太坊的MPT結(jié)構(gòu)會(huì)造成更多的時(shí)間消耗,超級(jí)賬本的Bucket 樹SPV 驗(yàn)證最難.本文的操作分析和實(shí)驗(yàn)環(huán)境為我們接下來(lái)的工作也奠定了基礎(chǔ),接下來(lái)我們將針對(duì)Merkle樹的特性和不足,希望提出新的Merkle 樹結(jié)構(gòu),在插入時(shí)間、存儲(chǔ)或者SPV 的驗(yàn)證上取得更好的發(fā)展.

    猜你喜歡
    樹結(jié)構(gòu)以太賬本
    一圖讀懂“上海賬本”
    以太極為旗,開啟新時(shí)代“黃河大合唱”
    少林與太極(2023年7期)2023-08-25 05:27:52
    數(shù)說(shuō):重慶70年“賬本”展示
    丟失的紅色賬本
    車易鏈:做汽車業(yè)的“以太坊”
    汽車觀察(2018年9期)2018-10-23 05:46:24
    丟失的紅色賬本
    四維余代數(shù)的分類
    大數(shù)據(jù)背景下基于B—樹結(jié)構(gòu)的SQL Server數(shù)據(jù)優(yōu)化策略研究
    基于μσ-DWC特征和樹結(jié)構(gòu)M-SVM的多維時(shí)間序列分類
    百通推出入門級(jí)快速工業(yè)以太網(wǎng)絡(luò)交換器系列
    亚洲精品美女久久av网站| 午夜免费成人在线视频| 99热这里只有是精品50| 国产精品久久电影中文字幕| xxxwww97欧美| 18禁黄网站禁片午夜丰满| 午夜免费激情av| 欧美成人一区二区免费高清观看 | 精品久久久久久成人av| 色播亚洲综合网| 精品国产乱码久久久久久男人| 国产三级黄色录像| 国产精品一及| 男女下面进入的视频免费午夜| 中文字幕人成人乱码亚洲影| 99久久久亚洲精品蜜臀av| 国产乱人伦免费视频| 女人爽到高潮嗷嗷叫在线视频| 国产探花在线观看一区二区| 国产精品野战在线观看| xxx96com| 精品午夜福利视频在线观看一区| 欧美色欧美亚洲另类二区| 欧美性猛交╳xxx乱大交人| 国产私拍福利视频在线观看| av欧美777| 亚洲美女黄片视频| 亚洲乱码一区二区免费版| 99国产极品粉嫩在线观看| 此物有八面人人有两片| 久久久久久九九精品二区国产 | 亚洲精品中文字幕一二三四区| 91av网站免费观看| 丝袜美腿诱惑在线| 久久久久久大精品| 天天添夜夜摸| 日韩欧美免费精品| av在线天堂中文字幕| 久久人妻福利社区极品人妻图片| 精品久久久久久久毛片微露脸| 黄色视频,在线免费观看| av在线天堂中文字幕| 亚洲黑人精品在线| 18禁裸乳无遮挡免费网站照片| 久久亚洲真实| 18美女黄网站色大片免费观看| 男插女下体视频免费在线播放| 99在线视频只有这里精品首页| 国产成人av教育| 亚洲人成伊人成综合网2020| 成年免费大片在线观看| 国产亚洲欧美98| 久久久久久亚洲精品国产蜜桃av| 欧美成人免费av一区二区三区| 国产精品永久免费网站| 国产精品一区二区免费欧美| 国产1区2区3区精品| 久久久久久久久中文| 久久久久免费精品人妻一区二区| 成人高潮视频无遮挡免费网站| 无限看片的www在线观看| 欧美性长视频在线观看| 午夜激情av网站| 熟女电影av网| 91字幕亚洲| 亚洲美女黄片视频| 国产主播在线观看一区二区| 国产精品av视频在线免费观看| 18禁国产床啪视频网站| 亚洲精品粉嫩美女一区| 中文字幕熟女人妻在线| а√天堂www在线а√下载| 亚洲aⅴ乱码一区二区在线播放 | 国产伦一二天堂av在线观看| 日韩精品中文字幕看吧| 久久国产精品影院| 黑人巨大精品欧美一区二区mp4| 亚洲全国av大片| 人人妻,人人澡人人爽秒播| 中文字幕人成人乱码亚洲影| 宅男免费午夜| 日韩三级视频一区二区三区| 俄罗斯特黄特色一大片| 亚洲国产欧美一区二区综合| 在线观看午夜福利视频| 久99久视频精品免费| 久久精品国产99精品国产亚洲性色| 丰满人妻熟妇乱又伦精品不卡| 99热这里只有是精品50| 精品高清国产在线一区| 免费在线观看视频国产中文字幕亚洲| 曰老女人黄片| 午夜激情av网站| 亚洲精品中文字幕在线视频| 亚洲真实伦在线观看| avwww免费| 亚洲中文av在线| 最近最新中文字幕大全免费视频| 桃红色精品国产亚洲av| 欧美色视频一区免费| 免费在线观看成人毛片| 国产亚洲欧美98| 国产高清videossex| 免费一级毛片在线播放高清视频| 一本大道久久a久久精品| 曰老女人黄片| 老司机靠b影院| 亚洲国产精品sss在线观看| 国产精品久久久久久精品电影| 久久久水蜜桃国产精品网| 88av欧美| 久久久精品欧美日韩精品| 国产精品av久久久久免费| 精品久久久久久久末码| 午夜精品久久久久久毛片777| 国产97色在线日韩免费| 熟女少妇亚洲综合色aaa.| 亚洲av中文字字幕乱码综合| 欧美日韩精品网址| 12—13女人毛片做爰片一| 欧美日本亚洲视频在线播放| 91麻豆精品激情在线观看国产| or卡值多少钱| 这个男人来自地球电影免费观看| 久久久国产成人免费| www国产在线视频色| 人人妻人人澡欧美一区二区| 五月伊人婷婷丁香| 88av欧美| 黄色视频,在线免费观看| 精品久久久久久久末码| 一级作爱视频免费观看| 成熟少妇高潮喷水视频| 一本精品99久久精品77| 国产亚洲精品av在线| 黄色成人免费大全| 国产一级毛片七仙女欲春2| 2021天堂中文幕一二区在线观| 欧美黑人精品巨大| 波多野结衣高清作品| 国产黄色小视频在线观看| 亚洲成人久久爱视频| 国产av一区在线观看免费| 91在线观看av| 妹子高潮喷水视频| 亚洲精品一区av在线观看| 国产精品免费一区二区三区在线| 91av网站免费观看| 欧美乱妇无乱码| 99久久综合精品五月天人人| 国产又黄又爽又无遮挡在线| 国产精品亚洲美女久久久| 色综合婷婷激情| 在线十欧美十亚洲十日本专区| 日本黄大片高清| 午夜a级毛片| 亚洲人成77777在线视频| 一本久久中文字幕| 久久久久国产一级毛片高清牌| 精品一区二区三区av网在线观看| 欧美日本视频| 777久久人妻少妇嫩草av网站| 999久久久国产精品视频| 午夜免费观看网址| 久久人妻福利社区极品人妻图片| 一边摸一边抽搐一进一小说| 日本撒尿小便嘘嘘汇集6| 级片在线观看| 国产成+人综合+亚洲专区| 久久婷婷成人综合色麻豆| 久久99热这里只有精品18| 叶爱在线成人免费视频播放| 免费看十八禁软件| 中文字幕精品亚洲无线码一区| 国产高清videossex| 国产午夜精品论理片| 国内少妇人妻偷人精品xxx网站 | 搡老岳熟女国产| 亚洲中文av在线| 在线观看免费日韩欧美大片| 日韩欧美在线二视频| 久久精品国产综合久久久| 黄色 视频免费看| 国产91精品成人一区二区三区| 18禁美女被吸乳视频| 国产麻豆成人av免费视频| 一级毛片女人18水好多| 亚洲欧美精品综合一区二区三区| 精华霜和精华液先用哪个| 亚洲狠狠婷婷综合久久图片| 国产精华一区二区三区| 亚洲avbb在线观看| 欧美性长视频在线观看| 国产精品影院久久| 九色成人免费人妻av| 久久久久九九精品影院| www.精华液| 久久精品亚洲精品国产色婷小说| 欧美一区二区精品小视频在线| 亚洲,欧美精品.| 免费人成视频x8x8入口观看| 国产97色在线日韩免费| 日韩欧美在线乱码| 色哟哟哟哟哟哟| 欧美午夜高清在线| 亚洲精品中文字幕一二三四区| 久久这里只有精品19| 日日夜夜操网爽| 国产精品久久久久久久电影 | 国产成人啪精品午夜网站| 熟妇人妻久久中文字幕3abv| 最好的美女福利视频网| 免费在线观看完整版高清| 亚洲五月天丁香| 国产v大片淫在线免费观看| 日韩欧美在线乱码| 黄色 视频免费看| 99精品欧美一区二区三区四区| 亚洲精华国产精华精| 夜夜夜夜夜久久久久| 波多野结衣巨乳人妻| 老司机靠b影院| 99精品欧美一区二区三区四区| 欧美在线一区亚洲| 亚洲欧美精品综合久久99| 亚洲精品av麻豆狂野| 黑人巨大精品欧美一区二区mp4| 国产不卡一卡二| 国产黄片美女视频| 在线视频色国产色| 精品久久久久久久毛片微露脸| 好男人在线观看高清免费视频| 一本精品99久久精品77| 婷婷精品国产亚洲av| 99re在线观看精品视频| 久久中文字幕一级| 国产真实乱freesex| 伦理电影免费视频| 熟妇人妻久久中文字幕3abv| 亚洲欧美精品综合一区二区三区| 在线观看美女被高潮喷水网站 | 国产欧美日韩一区二区精品| 久久人妻av系列| 亚洲中文字幕日韩| 国产精品一区二区三区四区久久| 久久精品成人免费网站| 丰满人妻熟妇乱又伦精品不卡| 三级男女做爰猛烈吃奶摸视频| 亚洲无线在线观看| 亚洲avbb在线观看| 精品久久久久久,| 亚洲色图 男人天堂 中文字幕| 日韩精品中文字幕看吧| 我要搜黄色片| 国产精品野战在线观看| 香蕉av资源在线| 日本撒尿小便嘘嘘汇集6| 久久久久久免费高清国产稀缺| 岛国在线免费视频观看| netflix在线观看网站| 99久久精品热视频| 国产精品亚洲av一区麻豆| 亚洲精品中文字幕在线视频| 一本久久中文字幕| 黄色成人免费大全| 99久久无色码亚洲精品果冻| 亚洲欧美日韩东京热| 视频区欧美日本亚洲| 国产精品永久免费网站| 午夜a级毛片| aaaaa片日本免费| 日韩精品中文字幕看吧| 国产高清视频在线观看网站| 黄色丝袜av网址大全| 成人三级黄色视频| aaaaa片日本免费| 久久婷婷成人综合色麻豆| 日本 欧美在线| 日韩欧美在线乱码| 视频区欧美日本亚洲| 淫妇啪啪啪对白视频| 久久精品夜夜夜夜夜久久蜜豆 | 老汉色∧v一级毛片| 亚洲国产欧美一区二区综合| 曰老女人黄片| 亚洲aⅴ乱码一区二区在线播放 | 亚洲五月婷婷丁香| 777久久人妻少妇嫩草av网站| 俄罗斯特黄特色一大片| 亚洲成av人片在线播放无| 深夜精品福利| 中文字幕最新亚洲高清| 国产精品久久久久久精品电影| 欧美一级毛片孕妇| 一级a爱片免费观看的视频| 很黄的视频免费| 三级国产精品欧美在线观看 | 久久热在线av| 久久亚洲精品不卡| 老司机福利观看| 国产av在哪里看| av福利片在线| 久久久久久人人人人人| 制服诱惑二区| 久久久久久免费高清国产稀缺| 中亚洲国语对白在线视频| 国产精品乱码一区二三区的特点| 91av网站免费观看| 亚洲国产日韩欧美精品在线观看 | 国产精品免费一区二区三区在线| 国产av一区在线观看免费| www日本黄色视频网| 国产97色在线日韩免费| 色在线成人网| 久久精品国产99精品国产亚洲性色| 男人舔奶头视频| 国产熟女午夜一区二区三区| 国产99白浆流出| 日韩大码丰满熟妇| 国产精品久久久久久久电影 | 日本a在线网址| 在线国产一区二区在线| or卡值多少钱| 欧美乱码精品一区二区三区| 亚洲人成77777在线视频| 国产av麻豆久久久久久久| 国产高清视频在线观看网站| 怎么达到女性高潮| 亚洲精品美女久久av网站| 亚洲人成网站高清观看| 日本精品一区二区三区蜜桃| 午夜精品一区二区三区免费看| 久久精品国产清高在天天线| www.熟女人妻精品国产| 国产私拍福利视频在线观看| 精品第一国产精品| 美女高潮喷水抽搐中文字幕| 九色国产91popny在线| 精品国产美女av久久久久小说| 法律面前人人平等表现在哪些方面| 国产真人三级小视频在线观看| 成人国语在线视频| 国产精品久久久av美女十八| 成熟少妇高潮喷水视频| 国内揄拍国产精品人妻在线| 亚洲第一电影网av| 久久中文看片网| 久久久久精品国产欧美久久久| 久久这里只有精品中国| 精品久久久久久久久久久久久| 久久精品国产亚洲av香蕉五月| 欧美成人免费av一区二区三区| 美女大奶头视频| 性欧美人与动物交配| 99国产极品粉嫩在线观看| 无人区码免费观看不卡| 神马国产精品三级电影在线观看 | 在线观看一区二区三区| 亚洲男人的天堂狠狠| 在线观看一区二区三区| 国内久久婷婷六月综合欲色啪| 在线观看一区二区三区| www.熟女人妻精品国产| 黄片小视频在线播放| 日韩欧美国产在线观看| 美女高潮喷水抽搐中文字幕| 精品国内亚洲2022精品成人| 欧美性猛交黑人性爽| 99国产精品99久久久久| av在线天堂中文字幕| 韩国av一区二区三区四区| 欧美性猛交╳xxx乱大交人| 久久久久免费精品人妻一区二区| 一夜夜www| 不卡av一区二区三区| 国产高清有码在线观看视频 | 亚洲人成77777在线视频| 99久久99久久久精品蜜桃| or卡值多少钱| 欧美 亚洲 国产 日韩一| 91av网站免费观看| 亚洲专区字幕在线| 久久久久久国产a免费观看| 国产精品野战在线观看| 欧美日韩中文字幕国产精品一区二区三区| 丰满人妻熟妇乱又伦精品不卡| 国产精品久久久av美女十八| 欧美色欧美亚洲另类二区| 国内少妇人妻偷人精品xxx网站 | 高清毛片免费观看视频网站| 国产熟女xx| 久久久久久久久久黄片| 国产v大片淫在线免费观看| 国产高清视频在线播放一区| 久久精品91无色码中文字幕| 久久久久免费精品人妻一区二区| 欧美黑人欧美精品刺激| 色av中文字幕| 国产三级中文精品| 国产亚洲av嫩草精品影院| 757午夜福利合集在线观看| 国产亚洲欧美在线一区二区| 在线播放国产精品三级| 午夜影院日韩av| 别揉我奶头~嗯~啊~动态视频| 亚洲欧美精品综合一区二区三区| 欧美成人一区二区免费高清观看 | 国产一区二区激情短视频| 91老司机精品| 90打野战视频偷拍视频| 不卡av一区二区三区| 欧美在线一区亚洲| 夜夜看夜夜爽夜夜摸| 99在线视频只有这里精品首页| 日本免费一区二区三区高清不卡| 在线看三级毛片| 国产成人系列免费观看| 国产激情久久老熟女| 国产欧美日韩一区二区三| 99热这里只有是精品50| 色综合站精品国产| 两性午夜刺激爽爽歪歪视频在线观看 | 中国美女看黄片| 亚洲成人免费电影在线观看| 日韩有码中文字幕| 婷婷精品国产亚洲av在线| 少妇的丰满在线观看| 国产一区二区在线观看日韩 | 在线观看午夜福利视频| 悠悠久久av| 一进一出抽搐动态| 国产在线观看jvid| 日韩欧美国产在线观看| av有码第一页| 不卡av一区二区三区| a级毛片在线看网站| 动漫黄色视频在线观看| 久久这里只有精品19| 欧美av亚洲av综合av国产av| √禁漫天堂资源中文www| 日韩欧美三级三区| 色综合婷婷激情| 听说在线观看完整版免费高清| 99国产精品一区二区三区| 18禁观看日本| 中文字幕精品亚洲无线码一区| 天天躁狠狠躁夜夜躁狠狠躁| 国产精品 欧美亚洲| 免费在线观看完整版高清| 黄色毛片三级朝国网站| 日韩欧美免费精品| 又紧又爽又黄一区二区| 免费在线观看黄色视频的| av天堂在线播放| 成人亚洲精品av一区二区| 一进一出好大好爽视频| 国产1区2区3区精品| 精品国产乱码久久久久久男人| 亚洲国产精品合色在线| 青草久久国产| 此物有八面人人有两片| 亚洲精品国产一区二区精华液| 国产精品免费一区二区三区在线| 男男h啪啪无遮挡| 午夜亚洲福利在线播放| 国产亚洲精品av在线| 亚洲aⅴ乱码一区二区在线播放 | 又爽又黄无遮挡网站| 国产蜜桃级精品一区二区三区| 久久久精品大字幕| 久久中文字幕人妻熟女| 国语自产精品视频在线第100页| 午夜福利视频1000在线观看| 婷婷精品国产亚洲av在线| 成熟少妇高潮喷水视频| 中文字幕人妻丝袜一区二区| 黑人操中国人逼视频| 99久久无色码亚洲精品果冻| 悠悠久久av| 成人国语在线视频| 久久中文看片网| 在线国产一区二区在线| 一级片免费观看大全| 不卡一级毛片| 成年免费大片在线观看| 亚洲激情在线av| 国产精品野战在线观看| 成人午夜高清在线视频| 精品国产亚洲在线| 国产亚洲欧美98| 丰满的人妻完整版| 国产成人精品久久二区二区免费| 夜夜爽天天搞| 老熟妇仑乱视频hdxx| 少妇的丰满在线观看| 美女黄网站色视频| 亚洲午夜理论影院| 1024视频免费在线观看| 男人舔奶头视频| 蜜桃久久精品国产亚洲av| 一二三四社区在线视频社区8| 好看av亚洲va欧美ⅴa在| 免费看十八禁软件| 亚洲精品在线观看二区| 国产高清videossex| videosex国产| 亚洲精品一卡2卡三卡4卡5卡| 欧美日韩一级在线毛片| 日韩 欧美 亚洲 中文字幕| 久久久精品大字幕| 一夜夜www| 国产99白浆流出| 女人被狂操c到高潮| 美女黄网站色视频| 国产精品亚洲美女久久久| 18禁裸乳无遮挡免费网站照片| 亚洲av成人不卡在线观看播放网| 色尼玛亚洲综合影院| 国产一区二区激情短视频| 久久久久国产精品人妻aⅴ院| tocl精华| 99re在线观看精品视频| 亚洲 欧美一区二区三区| 日日干狠狠操夜夜爽| 色哟哟哟哟哟哟| 老司机午夜福利在线观看视频| 88av欧美| 不卡av一区二区三区| tocl精华| 国产又色又爽无遮挡免费看| 国产精品野战在线观看| 老鸭窝网址在线观看| 国产高清视频在线播放一区| 亚洲avbb在线观看| 久久精品综合一区二区三区| 国产黄片美女视频| x7x7x7水蜜桃| 1024香蕉在线观看| 国产成+人综合+亚洲专区| 亚洲五月婷婷丁香| 美女大奶头视频| 一级毛片女人18水好多| 欧美在线一区亚洲| 嫩草影视91久久| 伦理电影免费视频| 丝袜美腿诱惑在线| 亚洲中文字幕一区二区三区有码在线看 | 一卡2卡三卡四卡精品乱码亚洲| 十八禁网站免费在线| 亚洲国产精品合色在线| 女警被强在线播放| 一进一出好大好爽视频| 国产伦在线观看视频一区| 青草久久国产| 巨乳人妻的诱惑在线观看| 久久国产精品人妻蜜桃| 国产亚洲精品久久久久5区| 国产一区二区三区视频了| 婷婷丁香在线五月| av有码第一页| 小说图片视频综合网站| 成人国语在线视频| 哪里可以看免费的av片| 777久久人妻少妇嫩草av网站| 精品一区二区三区四区五区乱码| 欧美午夜高清在线| 又黄又粗又硬又大视频| 欧美人与性动交α欧美精品济南到| 男人舔女人下体高潮全视频| 一区二区三区国产精品乱码| 亚洲国产精品成人综合色| 国产爱豆传媒在线观看 | 日韩三级视频一区二区三区| 777久久人妻少妇嫩草av网站| 国内精品久久久久久久电影| 免费在线观看完整版高清| 天天一区二区日本电影三级| 欧美日韩一级在线毛片| 丰满的人妻完整版| 特级一级黄色大片| 在线观看免费午夜福利视频| 欧美午夜高清在线| 免费在线观看视频国产中文字幕亚洲| 在线观看日韩欧美| 日韩欧美一区二区三区在线观看| netflix在线观看网站| 欧美乱妇无乱码| av在线播放免费不卡| 国产亚洲精品综合一区在线观看 | 婷婷精品国产亚洲av在线| 欧美久久黑人一区二区| 大型av网站在线播放| 好男人电影高清在线观看| 亚洲欧洲精品一区二区精品久久久| 日本免费a在线| 日本免费一区二区三区高清不卡| 日韩欧美国产在线观看| 久久精品国产亚洲av高清一级| 好男人电影高清在线观看| 久久人妻av系列| 69av精品久久久久久| 国产三级中文精品| 亚洲av成人精品一区久久| 免费搜索国产男女视频| av中文乱码字幕在线| 一级毛片女人18水好多| 麻豆av在线久日| 97人妻精品一区二区三区麻豆| 国产激情欧美一区二区| 99riav亚洲国产免费| 国产又色又爽无遮挡免费看| netflix在线观看网站| 最近在线观看免费完整版| 99久久精品热视频| 免费在线观看视频国产中文字幕亚洲|