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

    區(qū)塊鏈P2P網(wǎng)絡(luò)及安全研究

    2024-03-12 08:57:58倪雪莉
    關(guān)鍵詞:系統(tǒng)

    倪雪莉,馬 卓,王 群

    1.江蘇警官學(xué)院計(jì)算機(jī)信息與網(wǎng)絡(luò)安全系,南京 210031

    2.南京信息工程大學(xué)計(jì)算機(jī)學(xué)院網(wǎng)絡(luò)空間安全學(xué)院,南京 210044

    體系結(jié)構(gòu)和通信協(xié)議是網(wǎng)絡(luò)研究中普遍關(guān)注的兩大核心要素,針對區(qū)塊鏈技術(shù)的研究也是如此。區(qū)塊鏈系統(tǒng)作為一個(gè)構(gòu)建在數(shù)據(jù)通信網(wǎng)絡(luò)基礎(chǔ)上的新型應(yīng)用系統(tǒng),以其去中心化、防篡改、匿名性、自治性、開放性等特征,正在以創(chuàng)新模式影響和改變著傳統(tǒng)網(wǎng)絡(luò)的應(yīng)用,同時(shí)也對傳統(tǒng)網(wǎng)絡(luò)基礎(chǔ)設(shè)施從通信層面提出了新的要求,在應(yīng)用拓展和安全性等方面面臨新的挑戰(zhàn)[1-2]。

    在區(qū)塊鏈基礎(chǔ)架構(gòu)模型中,網(wǎng)絡(luò)層位于數(shù)據(jù)層與共識層之間,主要封裝了區(qū)塊鏈系統(tǒng)的組網(wǎng)方式、消息傳輸協(xié)議和數(shù)據(jù)驗(yàn)證機(jī)制等內(nèi)容。具體講,用戶端程序生成交易初始數(shù)據(jù),在成功驗(yàn)證目的節(jié)點(diǎn)地址后,再經(jīng)用戶的私鑰簽名后通過區(qū)塊鏈網(wǎng)絡(luò)發(fā)送給礦工,礦工首先對接收到的交易數(shù)據(jù)進(jìn)行驗(yàn)證,驗(yàn)證無誤后暫時(shí)保存在內(nèi)存中,等待通過共識算法打包進(jìn)區(qū)塊;礦工節(jié)點(diǎn)通過共識算法競爭系統(tǒng)的記賬權(quán),當(dāng)其中的礦工挖出一個(gè)新區(qū)塊后,為了將區(qū)塊鏈接到主鏈上以便獲得系統(tǒng)的獎(jiǎng)勵(lì),則需要將經(jīng)簽名的區(qū)塊盡快通過區(qū)塊鏈網(wǎng)絡(luò)廣播給其他礦工,其他礦工在驗(yàn)證了新區(qū)塊的合法性和正確性后,立即將該區(qū)塊鏈接到區(qū)塊鏈上,并在該區(qū)塊的基礎(chǔ)上繼續(xù)挖下一個(gè)區(qū)塊[3]。由此可以看出,一筆新交易或一個(gè)新區(qū)塊產(chǎn)生后,都需要通過區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行廣播,以便于實(shí)現(xiàn)新交易的打包和新區(qū)塊的上鏈操作。區(qū)塊鏈網(wǎng)絡(luò)的性能在很大程度上決定著交易被打包進(jìn)區(qū)塊的效率以及礦工的競爭優(yōu)勢,區(qū)塊鏈網(wǎng)絡(luò)的安全性也在不同程度上影響著區(qū)塊鏈挖礦的安全性。

    P2P(peer-to-peer,點(diǎn)對點(diǎn))網(wǎng)絡(luò)是區(qū)塊鏈系統(tǒng)的核心,為區(qū)塊鏈系統(tǒng)中的價(jià)值轉(zhuǎn)移與信息交換提供基礎(chǔ)保障。目前,針對區(qū)塊鏈P2P網(wǎng)絡(luò)及其安全性的研究動因主要體現(xiàn)在以下幾個(gè)方面:(1)P2P 網(wǎng)絡(luò)作為區(qū)塊鏈架構(gòu)中網(wǎng)絡(luò)層的重點(diǎn)組成部分,為交易和區(qū)塊數(shù)據(jù)的傳輸提供了保障,為上層共識結(jié)果的最終達(dá)成、激勵(lì)機(jī)制的實(shí)現(xiàn)、腳本或智能合約的正常運(yùn)行以及各類應(yīng)用系統(tǒng)的開發(fā)提供了底層技術(shù)支撐,所以對區(qū)塊鏈P2P網(wǎng)絡(luò)的研究具有基礎(chǔ)性。(2)P2P 網(wǎng)絡(luò)是構(gòu)建在傳統(tǒng)互聯(lián)網(wǎng)基礎(chǔ)上的一類覆蓋網(wǎng)絡(luò),在資源管理、節(jié)點(diǎn)接入與退出、網(wǎng)絡(luò)抖動等方面具有其特殊性。另外,隨著區(qū)塊鏈應(yīng)用領(lǐng)域的不斷擴(kuò)展,比特幣、以太坊、超級賬本等典型區(qū)塊鏈項(xiàng)目分別對P2P網(wǎng)絡(luò)在功能實(shí)現(xiàn)上提出了新的要求,從而形成了具有獨(dú)特功能的區(qū)塊鏈P2P網(wǎng)絡(luò)。為此,有必要針對區(qū)塊鏈技術(shù)和應(yīng)用發(fā)展,對區(qū)塊鏈P2P網(wǎng)絡(luò)進(jìn)行深入研究。(3)近年來,隨著以以太坊為代表的區(qū)塊鏈2.0時(shí)代的出現(xiàn),智能合約技術(shù)催生了大量區(qū)塊鏈應(yīng)用,同時(shí)區(qū)塊鏈技術(shù)向著加密數(shù)字貨幣之外的其他領(lǐng)域快速滲透。在區(qū)塊鏈應(yīng)用顯現(xiàn)出百花齊放之時(shí),區(qū)塊鏈安全問題成為影響區(qū)塊鏈應(yīng)用發(fā)展的關(guān)鍵因素。其中,在眾多的安全領(lǐng)域,因區(qū)塊鏈P2P網(wǎng)絡(luò)在區(qū)塊鏈架構(gòu)中所處的重要位置以及傳統(tǒng)互聯(lián)網(wǎng)安全問題對區(qū)塊鏈P2P 網(wǎng)絡(luò)帶來的威脅,所以針對區(qū)塊鏈P2P網(wǎng)絡(luò)安全的研究更加重要和緊迫。

    本文重點(diǎn)對P2P網(wǎng)絡(luò)進(jìn)行研究,在系統(tǒng)闡述P2P網(wǎng)絡(luò)的工作機(jī)理和關(guān)鍵技術(shù)的基礎(chǔ)上,重點(diǎn)討論區(qū)塊鏈P2P網(wǎng)絡(luò)的實(shí)現(xiàn)機(jī)制和特征,在此基礎(chǔ)上進(jìn)一步分析區(qū)塊鏈P2P網(wǎng)絡(luò)安全問題。

    1 P2P網(wǎng)絡(luò)

    P2P 網(wǎng)絡(luò)是傳統(tǒng)互聯(lián)網(wǎng)發(fā)展過程中由應(yīng)用需求促動產(chǎn)生的一種網(wǎng)絡(luò)層服務(wù),最早主要用于解決多媒體服務(wù)和管理,后來在比特幣原型系統(tǒng)中將P2P網(wǎng)絡(luò)作為底層的網(wǎng)絡(luò)通信協(xié)議并一直應(yīng)用至今。區(qū)塊鏈系統(tǒng)采用了P2P 網(wǎng)絡(luò)來傳輸交易和區(qū)塊等數(shù)據(jù),全面系統(tǒng)研究P2P 網(wǎng)絡(luò)對進(jìn)一步研究區(qū)塊鏈技術(shù)及應(yīng)用起著至關(guān)重要的作用。

    1.1 P2P網(wǎng)絡(luò)特征

    作為一個(gè)分布式應(yīng)用體系架構(gòu),P2P網(wǎng)絡(luò)的設(shè)計(jì)初衷和思想是通過節(jié)點(diǎn)之間的協(xié)同來提供一種新型網(wǎng)絡(luò)服務(wù)能力,以適應(yīng)互聯(lián)網(wǎng)發(fā)展過程中出現(xiàn)的應(yīng)用需求[4]。P2P 網(wǎng)絡(luò)打破了傳統(tǒng)C/S(client/server,客戶端/服務(wù)器)架構(gòu)模式,節(jié)點(diǎn)在一個(gè)去中心化環(huán)境中主動將自身的算力、網(wǎng)絡(luò)和存儲資源提供給其他節(jié)點(diǎn)使用,每個(gè)節(jié)點(diǎn)既是資源的提供者(服務(wù)器),也是資源的訪問者(客戶端),根據(jù)不同節(jié)點(diǎn)之間的通信需要,任一節(jié)點(diǎn)只需要與相鄰的一部分節(jié)點(diǎn)之間建立連接。由于P2P 網(wǎng)絡(luò)具有可擴(kuò)展性強(qiáng)、利于實(shí)現(xiàn)負(fù)載均衡、網(wǎng)絡(luò)的健壯性和可用性較高,同時(shí)提供了較好的通信匿名性等特點(diǎn),所以P2P 網(wǎng)絡(luò)在流媒體、算力共享、分布式存儲等領(lǐng)域得到了普遍應(yīng)用[5]。

    網(wǎng)絡(luò)架構(gòu)描述的是分布式系統(tǒng)中各計(jì)算節(jié)點(diǎn)之間的物理或邏輯關(guān)系,是確定系統(tǒng)通信模式的重要依據(jù)。P2P 網(wǎng)絡(luò)通常是指構(gòu)建在物理拓?fù)渲系奶摂M覆蓋網(wǎng)絡(luò),在應(yīng)用層節(jié)點(diǎn)通過相應(yīng)的索引和節(jié)點(diǎn)發(fā)現(xiàn)算法建立邏輯拓?fù)洌瑪?shù)據(jù)傳輸仍然采用底層的TCP/ⅠP結(jié)構(gòu),一般采用UDP 發(fā)送控制信息,采用TCP 來傳輸數(shù)據(jù)。根據(jù)網(wǎng)絡(luò)中節(jié)點(diǎn)之間的連接方式以及資源的定位和索引方式的不同,P2P 網(wǎng)絡(luò)一般可以分為非結(jié)構(gòu)化對等網(wǎng)絡(luò)、結(jié)構(gòu)化對等網(wǎng)絡(luò)和混合式對等網(wǎng)絡(luò)3種類型,不同類型的功能描述及主要性能比較如表1所示。

    表1 P2P網(wǎng)絡(luò)的3種類型及主要性能比較Table 1 Comparison of three types and main performance of P2P networks

    1.2 P2P網(wǎng)絡(luò)的關(guān)鍵技術(shù)

    P2P 網(wǎng)絡(luò)涉及的技術(shù)較多,本節(jié)重點(diǎn)對覆蓋網(wǎng)絡(luò)、資源查詢和網(wǎng)絡(luò)抖動等關(guān)鍵技術(shù)進(jìn)行討論。

    1.2.1 P2P覆蓋網(wǎng)絡(luò)

    覆蓋網(wǎng)絡(luò)(overlay network)[6]是指節(jié)點(diǎn)之間通過構(gòu)建在底層物理鏈路之上的邏輯鏈路進(jìn)行通信,為大規(guī)模P2P應(yīng)用提供基于應(yīng)用層的自組織通信基礎(chǔ)設(shè)施,已成為當(dāng)前網(wǎng)絡(luò)的重要組成部分。覆蓋網(wǎng)絡(luò)由于沒有集中的組織或控制機(jī)制,因此需要一定的資源查詢功能來查找網(wǎng)絡(luò)中的共享資源。目前,針對P2P覆蓋網(wǎng)絡(luò)的典型應(yīng)用和研究主要集中在非結(jié)構(gòu)化對等網(wǎng)絡(luò)和結(jié)構(gòu)化對等網(wǎng)絡(luò)兩個(gè)方面,其中在非結(jié)構(gòu)化對等網(wǎng)絡(luò)(如Guntella)中節(jié)點(diǎn)通過向鄰居節(jié)點(diǎn)泛洪(flooding)資源查詢信息來搜索資源,而在結(jié)構(gòu)化對等網(wǎng)絡(luò)中節(jié)點(diǎn)利用覆蓋網(wǎng)絡(luò)的邏輯拓?fù)洌ㄈ鏑hord使用環(huán)型拓?fù)鋄7],而Kademlia使用樹型拓?fù)鋄8])來管理資源。

    結(jié)構(gòu)化對等網(wǎng)絡(luò)采用分布式哈希表(distributed Hash table,DHT)實(shí)現(xiàn)P2P 網(wǎng)絡(luò)中元數(shù)據(jù)的有效共享。由于DHT 具有良好的可擴(kuò)展性、自組織性以及自適應(yīng)性等特點(diǎn),所以可以利用DHT 來組織和管理覆蓋網(wǎng)絡(luò)中的資源并形成相對穩(wěn)定的共享路徑。動態(tài)維護(hù)和消息路由是DHT 拓?fù)錁?gòu)建技術(shù)的核心,其中動態(tài)維護(hù)是指在節(jié)點(diǎn)動態(tài)變化(加入或離開)的不穩(wěn)定網(wǎng)絡(luò)環(huán)境中,通過分布式算法建立節(jié)點(diǎn)之間的邏輯拓?fù)?;而消息路由是指根?jù)目標(biāo)地址,將消息從源節(jié)點(diǎn)路由到目標(biāo)節(jié)點(diǎn)。具體講,P2P網(wǎng)絡(luò)利用DHT以文件形式將用戶需要共享的資源映射成一系列的對后存儲到本地路由表中,每一個(gè)節(jié)點(diǎn)ⅠD 通常由160 bit 的哈希值組成。其中,鍵值為k的數(shù)據(jù)存放在ⅠD同樣為k的節(jié)點(diǎn)上,如果ⅠD 為k的節(jié)點(diǎn)不存在時(shí),將存放在其值與k靠近的節(jié)點(diǎn)上。在P2P網(wǎng)絡(luò)中,DHT一般通過KAD(Kademlia)協(xié)議[9-10]實(shí)現(xiàn),由KAD協(xié)議為上層應(yīng)用提供APⅠ。但是,在結(jié)構(gòu)化對等網(wǎng)絡(luò)中由于每個(gè)節(jié)點(diǎn)ⅠD 是隨機(jī)產(chǎn)生的,該節(jié)點(diǎn)ⅠD 的生成與物理網(wǎng)絡(luò)之間沒有任何關(guān)聯(lián),從而使構(gòu)建在物理網(wǎng)絡(luò)之上的覆蓋網(wǎng)絡(luò)并未與物理網(wǎng)絡(luò)之間建立內(nèi)在的聯(lián)系,在物理上相鄰的節(jié)點(diǎn)有可能在邏輯上相距甚遠(yuǎn),而在物理上分布很遠(yuǎn)的節(jié)點(diǎn)有可能成為邏輯上的鄰居。這種物理與邏輯上不相吻合的現(xiàn)象通常稱之為失配(mismatching)。為了有效解決失配問題,一般可使節(jié)點(diǎn)在學(xué)習(xí)到物理網(wǎng)絡(luò)拓?fù)湫畔⒌幕A(chǔ)上,再利用該底層拓?fù)湫畔?gòu)建拓?fù)湎嚓P(guān)(topology-aware)的覆蓋網(wǎng)絡(luò)[11]。其中,物理網(wǎng)絡(luò)拓?fù)湫畔⒖赏ㄟ^ⅠP地址劃分方法或節(jié)點(diǎn)之間傳輸時(shí)延分析法等策略獲得。當(dāng)學(xué)習(xí)到足夠的物理拓?fù)湫畔⒑?,就可以利用這些信息構(gòu)建或優(yōu)化覆蓋網(wǎng)絡(luò)[12]。另外,對于非結(jié)構(gòu)化對等網(wǎng)絡(luò),由于缺乏固定、統(tǒng)一的拓?fù)浣Y(jié)構(gòu),其覆蓋網(wǎng)絡(luò)的形成也具有不確定性。

    1.2.2 資源查詢

    在對等網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)維護(hù)著有限的鄰居節(jié)點(diǎn)信息,從而形成一個(gè)應(yīng)用層的覆蓋網(wǎng)絡(luò)。由于節(jié)點(diǎn)之間狀態(tài)的不穩(wěn)定性,在P2P 網(wǎng)絡(luò)中很難形成類似C/S 模式的資源訪問方式,而需要采取相應(yīng)措施有針對性地在動態(tài)環(huán)境中發(fā)現(xiàn)和定位資源。

    在結(jié)構(gòu)化對等網(wǎng)絡(luò)中,通過遍歷節(jié)點(diǎn)可以搜索要查詢信息所在的位置。當(dāng)存在n個(gè)節(jié)點(diǎn)時(shí),資源查詢操作步數(shù)為O(logn)。這種方法雖然操作簡單,但效率較低,而且網(wǎng)絡(luò)開銷較大。為了提高結(jié)構(gòu)化對等網(wǎng)絡(luò)中資源的查詢性能,目前采用的方法主要有[13]:一是在搜集鄰居信息的基礎(chǔ)上進(jìn)行節(jié)點(diǎn)信息的交換;二是通過復(fù)制大量的副本信息來提高搜索的命中率。其中,對于訪問頻率較高的資源來說,可以通過數(shù)據(jù)復(fù)制技術(shù)將資源存放在更多節(jié)點(diǎn)上,以便于節(jié)點(diǎn)的快速查詢。但是,數(shù)據(jù)復(fù)制技術(shù)將會帶來存儲空間和網(wǎng)絡(luò)帶寬的額外開銷。

    非結(jié)構(gòu)化對等網(wǎng)絡(luò)一般通過轉(zhuǎn)發(fā)查詢消息來匹配本地存儲進(jìn)而實(shí)現(xiàn)資源定位,網(wǎng)絡(luò)中當(dāng)存在n個(gè)節(jié)點(diǎn)時(shí)資源查詢操作步數(shù)為O(n)。當(dāng)采用泛洪模式時(shí),節(jié)點(diǎn)將查詢消息廣播給鄰居節(jié)點(diǎn),并用一個(gè)TTL(time to live,生存時(shí)間)值來控制該查詢消息的轉(zhuǎn)發(fā)次數(shù)。例如,由于無法確定查詢數(shù)據(jù)的位置,所以可以將TTL 設(shè)置為一個(gè)動態(tài)變化的值,搜索者先使用一個(gè)較小的TTL值利用泛洪方式進(jìn)行查詢,在查詢失敗后逐步增加TTL的值,直到查詢成功為止[14]。

    另外,在混合式對等網(wǎng)絡(luò)中,由于存在專門負(fù)責(zé)資源目錄服務(wù)和管理的節(jié)點(diǎn),所以查詢操作只需要O(1)步。

    1.2.3 網(wǎng)絡(luò)抖動

    在P2P 網(wǎng)絡(luò)中,Churn(抖動)特指節(jié)點(diǎn)頻繁加入和退出的現(xiàn)象[15-16]。Churn反映的是P2P網(wǎng)絡(luò)的動態(tài)特征,描述的是網(wǎng)絡(luò)整體的不穩(wěn)定性。Churn 現(xiàn)象的存在對P2P網(wǎng)絡(luò)產(chǎn)生了嚴(yán)重影響:

    (1)導(dǎo)致網(wǎng)絡(luò)拓?fù)洳环€(wěn)定。由于節(jié)點(diǎn)的頻繁加入和退出,使節(jié)點(diǎn)的鄰居節(jié)點(diǎn)隨之發(fā)生變化。由于節(jié)點(diǎn)中鄰居信息的更新具有一定滯后性,部分鄰居節(jié)點(diǎn)的退出(失效或下線)和加入,會使節(jié)點(diǎn)中保存的鄰居信息與實(shí)際連接的鄰居節(jié)點(diǎn)不相符。節(jié)點(diǎn)的退出將會導(dǎo)致發(fā)送到該節(jié)點(diǎn)的信息不可達(dá),新節(jié)點(diǎn)的加入因?yàn)樾枰蜞従庸?jié)點(diǎn)廣播自身地址會占用額外的網(wǎng)絡(luò)資源。

    (2)導(dǎo)致網(wǎng)絡(luò)性能下降。由于節(jié)點(diǎn)的頻繁加入和退出,使得節(jié)點(diǎn)中維護(hù)的路由表始終處于非穩(wěn)定的收斂過程,這時(shí),在路由傳遞過程中可能會出現(xiàn)網(wǎng)絡(luò)不可達(dá)現(xiàn)象,資源查詢可能會因節(jié)點(diǎn)的失效而無法找到或因資源的重新定位而產(chǎn)生較大延時(shí),數(shù)據(jù)的傳輸可能會因不斷選擇路徑而降低效率。以上現(xiàn)象,都會在不同程度上導(dǎo)致網(wǎng)絡(luò)性能的下降。

    (3)導(dǎo)致網(wǎng)絡(luò)的可靠性降低。網(wǎng)絡(luò)的可靠性定義為在給定條件下網(wǎng)絡(luò)以預(yù)設(shè)性能完成預(yù)定功能的能力。網(wǎng)絡(luò)不可達(dá)、數(shù)據(jù)傳輸延時(shí)、資源無法正確定位等都是可靠性降低的表現(xiàn)。另外,Churn 還會使覆蓋網(wǎng)絡(luò)中的某些節(jié)點(diǎn)被隔離,從而產(chǎn)生網(wǎng)絡(luò)分區(qū)問題,尤其是結(jié)構(gòu)化對等網(wǎng)絡(luò)更容易產(chǎn)生網(wǎng)絡(luò)分區(qū)。

    針對Churn 對P2P 網(wǎng)絡(luò)帶來的危害,近年來研究人員從節(jié)點(diǎn)鄰居選擇、失效節(jié)點(diǎn)恢復(fù)、數(shù)據(jù)復(fù)制、鏈路生命周期(link lifetime)等方面提出了一些優(yōu)化方案[17],以減小其影響。另外,近年來隨著人工智能技術(shù)應(yīng)用的不斷深入,將機(jī)器學(xué)習(xí)方式用于P2P 網(wǎng)絡(luò)來替代傳統(tǒng)的策略,進(jìn)一步優(yōu)化P2P網(wǎng)絡(luò)環(huán)境[18]。與此同時(shí),P2P網(wǎng)絡(luò)模型以其具有的可靠性、魯棒性和可擴(kuò)展性等特性,與可信計(jì)算、邊緣計(jì)算、人工智能等技術(shù)結(jié)合,開始從傳統(tǒng)的互聯(lián)網(wǎng)進(jìn)入智能電網(wǎng)、智能交通等生產(chǎn)型網(wǎng)絡(luò)[19-20]。

    2 區(qū)塊鏈P2P網(wǎng)絡(luò)

    區(qū)塊鏈系統(tǒng)通過內(nèi)嵌的經(jīng)濟(jì)激勵(lì)機(jī)制將大量分布式節(jié)點(diǎn)組織起來實(shí)現(xiàn)共同記賬功能,并維護(hù)系統(tǒng)的安全性以及賬本的一致性和不可篡改性。在區(qū)塊鏈系統(tǒng)中,每個(gè)參與共識的“礦工”節(jié)點(diǎn)具有獨(dú)立的算力和存儲空間,不同節(jié)點(diǎn)之間通過網(wǎng)絡(luò)實(shí)現(xiàn)互操作性。為此,通常情況下將區(qū)塊鏈定義為具有共同記賬功能的分布式系統(tǒng)[21]??紤]到區(qū)塊鏈網(wǎng)絡(luò)研究的完整性,本節(jié)在重點(diǎn)討論區(qū)塊鏈P2P網(wǎng)絡(luò)的基礎(chǔ)上,對區(qū)塊鏈系統(tǒng)中實(shí)現(xiàn)數(shù)據(jù)同步和復(fù)制的Gossip協(xié)議進(jìn)行了介紹。

    2.1 區(qū)塊鏈P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)類型

    由于P2P 網(wǎng)絡(luò)是構(gòu)建在眾多物理節(jié)點(diǎn)之上的覆蓋網(wǎng)絡(luò),節(jié)點(diǎn)的性能以及扮演的角色對研究區(qū)塊鏈系統(tǒng)具有重要意義。P2P網(wǎng)絡(luò)是區(qū)塊鏈系統(tǒng)的核心組成部分,根據(jù)應(yīng)用需要,節(jié)點(diǎn)上運(yùn)行有錢包、挖礦、完整區(qū)塊鏈賬本和路由等部分或全部功能,并利用賬本數(shù)據(jù)來驗(yàn)證交易記錄[22]。以比特幣系統(tǒng)為例,每個(gè)節(jié)點(diǎn)能夠提供的服務(wù)功能一般包括網(wǎng)絡(luò)路由(network route)、完整區(qū)塊鏈(full blockchain)、礦工(miner)和錢包(wallet)共4 種類型,每個(gè)節(jié)點(diǎn)除具有網(wǎng)絡(luò)路由功能外,還可能根據(jù)需要擔(dān)負(fù)其他的功能(如圖1所示)。根據(jù)提供功能的不同,可以將區(qū)塊鏈系統(tǒng)中的常見節(jié)點(diǎn)分為核心客戶端、完成區(qū)塊鏈節(jié)點(diǎn)、獨(dú)立礦工和輕量級錢包4 種類型,不同類型的功能描述及提供的主要服務(wù)如表2所示。

    圖1 區(qū)塊鏈P2P網(wǎng)絡(luò)Fig.1 Blockchain P2P network

    表2 區(qū)塊鏈P2P網(wǎng)絡(luò)的節(jié)點(diǎn)類型及提供的主要功能Table 2 Node types of blockchain P2P networks and main functions provided

    對交易進(jìn)行驗(yàn)證是區(qū)塊鏈中的一項(xiàng)核心服務(wù)功能。根據(jù)應(yīng)用環(huán)境的不同,區(qū)塊鏈系統(tǒng)中提供驗(yàn)證功能的節(jié)點(diǎn)主要分為全節(jié)點(diǎn)和輕量級SPV(simplified payment verification,簡易支付驗(yàn)證)[23]節(jié)點(diǎn)兩種類型。其中,全節(jié)點(diǎn)中維護(hù)著最新、最完整(最長鏈)的區(qū)塊鏈數(shù)據(jù),能夠?qū)灰转?dú)立地完成驗(yàn)證操作;而輕量級SPV節(jié)點(diǎn)中只存儲區(qū)塊鏈的頭部數(shù)據(jù),可以在節(jié)點(diǎn)沒有存儲完整區(qū)塊鏈賬本數(shù)據(jù)的前提下實(shí)現(xiàn)對交易存在性的驗(yàn)證。另外,在比特幣、以太坊等基于PoW(proof of work,工作量證明)共識機(jī)制的中還提供了用于礦池挖礦的礦池協(xié)議服務(wù)器、與礦池對應(yīng)的挖礦節(jié)點(diǎn)以及輕量級Stratum錢包等節(jié)點(diǎn)[24-25],因這些節(jié)點(diǎn)僅存在于特定的環(huán)境而且數(shù)量有限,故在此不再詳述。

    2.2 區(qū)塊鏈P2P網(wǎng)絡(luò)中的協(xié)議

    P2P網(wǎng)絡(luò)是一個(gè)分布式應(yīng)用體系架構(gòu),其實(shí)現(xiàn)原理和設(shè)計(jì)思想是把路由選擇、交易和區(qū)塊數(shù)據(jù)驗(yàn)證、區(qū)塊數(shù)據(jù)傳播、新節(jié)點(diǎn)發(fā)現(xiàn)等眾多功能分散到網(wǎng)絡(luò)中不同節(jié)點(diǎn)上,讓每個(gè)參與節(jié)點(diǎn)平等地分擔(dān)任務(wù)和負(fù)載。區(qū)塊鏈P2P 網(wǎng)絡(luò)在繼承了傳統(tǒng)P2P 網(wǎng)絡(luò)功能優(yōu)勢的基礎(chǔ)上,通過對節(jié)點(diǎn)之間數(shù)據(jù)同步、節(jié)點(diǎn)標(biāo)識、資源定位等機(jī)制的優(yōu)化,在共識算法的配合下實(shí)現(xiàn)了所有節(jié)點(diǎn)中賬本數(shù)據(jù)的一致性。體系結(jié)構(gòu)與協(xié)議是組成網(wǎng)絡(luò)的關(guān)鍵,為此,本節(jié)重點(diǎn)從協(xié)議實(shí)現(xiàn)過程分析區(qū)塊鏈P2P 網(wǎng)絡(luò)的工作機(jī)理。首先討論區(qū)塊鏈P2P 網(wǎng)絡(luò)中的數(shù)據(jù)傳輸協(xié)議的工作過程,然后分析應(yīng)用于超級賬本的Gossip協(xié)議。

    2.2.1 區(qū)塊鏈P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸協(xié)議

    在其論文“Bitcoin:a peer-to-peer electronic cash system”[26]中使用非結(jié)構(gòu)化對等網(wǎng)絡(luò)來傳輸交易和區(qū)塊數(shù)據(jù),節(jié)點(diǎn)可以自由地加入或退出網(wǎng)絡(luò),通過PoW共識算法實(shí)現(xiàn)各節(jié)點(diǎn)中賬本的一致性,通過基于公鑰密鑰的身份管理機(jī)制實(shí)現(xiàn)交易信息的匿名化,開創(chuàng)了加密數(shù)字貨幣的先河;以太坊(Ethereum)[27]采用結(jié)構(gòu)化對等網(wǎng)絡(luò),將利用ECDSA-secp256k1算法生成的公鑰經(jīng)一系列哈希變換后再通過Base58編碼生成64 Byte的字符串作為節(jié)點(diǎn)ⅠD,統(tǒng)一的編址方案實(shí)現(xiàn)了資源的快速定位;超級賬本(hyperledger)[28]采用混合式對等網(wǎng)絡(luò),所有節(jié)點(diǎn)都是committer(記賬節(jié)點(diǎn)),部分節(jié)點(diǎn)會根據(jù)網(wǎng)絡(luò)運(yùn)行和管理需要擔(dān)負(fù)endorser(背書節(jié)點(diǎn))、leader(領(lǐng)導(dǎo)節(jié)點(diǎn))和anchor(錨節(jié)點(diǎn))的職責(zé)。本節(jié)選擇比特幣P2P 網(wǎng)絡(luò)進(jìn)行具體分析。

    比特幣P2P 網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)都會維護(hù)一個(gè)節(jié)點(diǎn)列表(peer list),該列表中存儲著可供連接的鄰居節(jié)點(diǎn)ⅠD,該列表通過基于UDP 協(xié)議的節(jié)點(diǎn)發(fā)現(xiàn)機(jī)制建立和更新,當(dāng)節(jié)點(diǎn)之間需要傳輸數(shù)據(jù)時(shí),節(jié)點(diǎn)通過采用TCP協(xié)議與其他對等節(jié)點(diǎn)進(jìn)行交互。下面,基于區(qū)塊鏈系統(tǒng)的典型運(yùn)行場景,較為系統(tǒng)地分析P2P網(wǎng)絡(luò)的工作機(jī)制,其中version 和verack 消息用于節(jié)點(diǎn)之間建立連接,addr 和getaddr 消息用于鄰居節(jié)點(diǎn)之間交換路由信息,getblocks、inv和getdata消息用于節(jié)點(diǎn)之間的數(shù)據(jù)傳輸,tx消息用于發(fā)送交易數(shù)據(jù)。主要操作過程如下[29]:

    (1)新節(jié)點(diǎn)加入。當(dāng)區(qū)塊鏈系統(tǒng)中有新節(jié)點(diǎn)加入時(shí),可以通過類似TCP三次握手機(jī)制建立與相鄰節(jié)點(diǎn)之間的連接。如圖2(a)所示,新加入節(jié)點(diǎn)A 廣播version消息,鄰居節(jié)點(diǎn)B 在接收到該消息后檢查消息內(nèi)容,如果與自己軟件版本相兼容,則向節(jié)點(diǎn)A回復(fù)verack消息,經(jīng)進(jìn)一步交互后新節(jié)點(diǎn)A將建立與節(jié)點(diǎn)B之間的連接。

    圖2 區(qū)塊鏈P2P網(wǎng)絡(luò)協(xié)議工作示意圖Fig.2 Blockchain P2P network protocol working diagram

    (2)地址告知與獲取。一旦新節(jié)點(diǎn)加入后,新節(jié)點(diǎn)便向鄰居節(jié)點(diǎn)廣播自己的地址addr 消息。鄰居節(jié)點(diǎn)在接收到addr消息后繼續(xù)將其向前廣播,從而使更多節(jié)點(diǎn)學(xué)習(xí)到節(jié)點(diǎn)A 的地址,進(jìn)而知道網(wǎng)絡(luò)中有新節(jié)點(diǎn)加入。新節(jié)點(diǎn)除將自己的地址廣播給其他節(jié)點(diǎn)外,還可根據(jù)地址維護(hù)需要通過getaddr消息來獲取鄰居節(jié)點(diǎn)上保存的地址列表信息,具體交互方式如圖2(b)所示。

    (3)區(qū)塊數(shù)據(jù)同步。由于新加入節(jié)點(diǎn)只知道內(nèi)置的創(chuàng)世區(qū)塊(genesis block),所以為了實(shí)現(xiàn)賬本數(shù)據(jù)的一致性,需要同步區(qū)塊高度值最大的區(qū)塊數(shù)據(jù)。如圖2(c)所示,當(dāng)新節(jié)點(diǎn)加入后,與鄰居節(jié)點(diǎn)之間分別通過getblocks消息交換各自的區(qū)塊高度值,其中高度值大的一方將向高度值小的一方發(fā)送僅包含區(qū)塊清單的inv 消息。區(qū)塊高度值大的一方在接收到區(qū)塊高度值小的一方的getdata 請求消息后,將通過block 消息向?qū)Ψ酵扑蛥^(qū)塊數(shù)據(jù),最終實(shí)現(xiàn)兩節(jié)點(diǎn)中區(qū)塊數(shù)據(jù)的完全一致。

    需要說明的是:輕量級SPV節(jié)點(diǎn)之間不需要同步完整的區(qū)塊鏈數(shù)據(jù),只需要同步區(qū)塊頭部數(shù)據(jù),具體使用getheaders和headers消息實(shí)現(xiàn),消息交互過程如圖2(d)所示。

    (4)交易數(shù)據(jù)的廣播。當(dāng)某一節(jié)點(diǎn)生成一筆交易時(shí),為了盡快將該筆交易打包進(jìn)區(qū)塊從而得到確認(rèn),需要經(jīng)私鑰簽名后再封裝在inv 消息中廣播給鄰居節(jié)點(diǎn)。鄰居節(jié)點(diǎn)通過getdata 響應(yīng)消息請求對方發(fā)送完整的交易數(shù)據(jù),交易生成節(jié)點(diǎn)在接收到getdata響應(yīng)消息后將使用tx發(fā)送交易數(shù)據(jù),鄰居節(jié)點(diǎn)在接收到交易數(shù)據(jù)后利用公鑰對交易數(shù)據(jù)的合法性進(jìn)行驗(yàn)證,通過驗(yàn)證的合法交易數(shù)據(jù)存儲在節(jié)點(diǎn)的內(nèi)存中。此操作將會持續(xù)下去,接收到交易數(shù)據(jù)的節(jié)點(diǎn)使用相同的方式轉(zhuǎn)發(fā)交易數(shù)據(jù),直到轉(zhuǎn)發(fā)給所有節(jié)點(diǎn)。其中,當(dāng)節(jié)點(diǎn)為礦工時(shí),將會把交易打包進(jìn)區(qū)塊,再通過PoW 共識算法基于節(jié)點(diǎn)的算力競爭記賬權(quán)。

    (5)探測節(jié)點(diǎn)是否處于存活狀態(tài)。節(jié)點(diǎn)會定期向鄰居節(jié)點(diǎn)發(fā)送ping 消息來探測是否處于存活狀態(tài)。如果接收到鄰居節(jié)點(diǎn)返回的pong 響應(yīng)消息,則說明該鄰居節(jié)點(diǎn)處于存活狀態(tài)。默認(rèn)情況下,在20 min內(nèi)未對ping消息作出響應(yīng)的節(jié)點(diǎn)被認(rèn)為已經(jīng)下線。

    2.2.2 Gossip協(xié)議

    Gossip協(xié)議[30]也稱為流行病協(xié)議(epidemic protocol)或流言算法、疫情傳播算法等,主要用于分布式數(shù)據(jù)庫系統(tǒng)不同節(jié)點(diǎn)之間副本數(shù)據(jù)的同步。在分布式數(shù)據(jù)庫中,不同節(jié)點(diǎn)組成一個(gè)非結(jié)構(gòu)化對等網(wǎng)絡(luò),Gossip 協(xié)議實(shí)現(xiàn)了在限定時(shí)間范圍內(nèi)同一數(shù)據(jù)在所有節(jié)點(diǎn)上的最終一致性。目前,Gossip 協(xié)議已應(yīng)用在比特幣系統(tǒng)和Fabric等項(xiàng)目中,F(xiàn)acebook開發(fā)的Cassandra[31]通過Gossip協(xié)議實(shí)現(xiàn)了分布式結(jié)構(gòu)化數(shù)據(jù)存儲。在區(qū)塊鏈超級賬本(hyperledger Fabric)中,通過Gossip協(xié)議實(shí)現(xiàn)對節(jié)點(diǎn)發(fā)現(xiàn)、節(jié)點(diǎn)檢測以及節(jié)點(diǎn)上路由列表信息的更新等功能。

    Gossip協(xié)議的實(shí)現(xiàn)方式非常多,每一種應(yīng)用場景都可以根據(jù)具體要求對協(xié)議的具體實(shí)現(xiàn)進(jìn)行優(yōu)化或“定制”。通常情況下,Gossip 協(xié)議在執(zhí)行時(shí)是由種子節(jié)點(diǎn)發(fā)起,當(dāng)某一個(gè)種子節(jié)點(diǎn)在自身狀態(tài)發(fā)生變化后需要向其他節(jié)點(diǎn)告知時(shí),會隨機(jī)選擇鄰居節(jié)點(diǎn)進(jìn)行廣播,收到該廣播消息的節(jié)點(diǎn)在更新自己的節(jié)點(diǎn)列表信息的同時(shí),也會將收到的消息繼續(xù)廣播出去。后續(xù)節(jié)點(diǎn)重復(fù)該廣播過程,直至網(wǎng)絡(luò)中所有的節(jié)點(diǎn)接收到該消息。Gossip協(xié)議的消息傳播方式分為反熵(anti-entropy)傳播和謠言(rumor-mongering)傳播,其中反熵以確定的周期隨機(jī)選取某個(gè)節(jié)點(diǎn),然后通過互相交換數(shù)據(jù)的方式實(shí)現(xiàn)兩個(gè)節(jié)點(diǎn)數(shù)據(jù)的一致性;謠言傳播是指某個(gè)節(jié)點(diǎn)有了新消息后立即轉(zhuǎn)換到活躍狀態(tài),并周期性地將該消息發(fā)送給隨機(jī)選取的未被感染的節(jié)點(diǎn)(首次感染),被感染的節(jié)點(diǎn)將接收到的消息發(fā)送給其他未被感染的節(jié)點(diǎn)(二次感染),直至所有的節(jié)點(diǎn)接收到該消息。反熵傳播方式主要用于新加入節(jié)點(diǎn)的數(shù)據(jù)初始化過程,而謠言傳播方式適用于分布式系統(tǒng)中的數(shù)據(jù)同步。以謠言傳播方式為例,如圖3所示為Gossip協(xié)議執(zhí)行的示意圖。首先,源節(jié)點(diǎn)周期性地廣播Gossip 消息;然后,接收節(jié)點(diǎn)(被感染節(jié)點(diǎn))隨機(jī)選擇k個(gè)尚未感染的鄰居節(jié)點(diǎn)繼續(xù)廣播該消息(圖4中每次選擇的鄰居節(jié)點(diǎn)數(shù)為3)。收到消息的節(jié)點(diǎn)不再將該消息廣播給發(fā)送節(jié)點(diǎn),即消息的廣播有單向的;經(jīng)過一段時(shí)間后,網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都將收到該消息,數(shù)據(jù)同步結(jié)束。

    圖3 Gossip協(xié)議消息傳播模型示意圖Fig.3 Schematic diagram of Gossip protocol message propagation model

    圖4 Fabric區(qū)塊鏈P2P網(wǎng)絡(luò)Fig.4 Fabric blockchain P2P network

    Gossip協(xié)議支持節(jié)點(diǎn)頻繁地加入和退出操作,具有良好的分布式容錯(cuò)特性和健壯性,能夠以完全去中心化方式實(shí)現(xiàn)系統(tǒng)狀態(tài)的最終一致性。Gossip 協(xié)議對消息的傳播支持推(push)、拉(pull)和推/拉(push/pull)3種類型。在一個(gè)通信周期內(nèi),每種類型所需要的交互次數(shù)和收斂時(shí)間不同,應(yīng)用效果也不一樣,但目的都要實(shí)現(xiàn)數(shù)據(jù)的最終一致性。但是,Gossip協(xié)議會產(chǎn)生消息傳播的延時(shí)和對網(wǎng)絡(luò)帶寬的占用,不適合要求對消息實(shí)時(shí)傳播的應(yīng)用場景。另外,同一節(jié)點(diǎn)可能會多次接收到相同的消息,存在消息傳播冗余的現(xiàn)象。

    2.3 典型應(yīng)用場景中的區(qū)塊鏈P2P網(wǎng)絡(luò)

    對于任一區(qū)塊鏈系統(tǒng)(公有鏈、聯(lián)盟鏈或私有鏈)來說,節(jié)點(diǎn)發(fā)現(xiàn)是節(jié)點(diǎn)加入網(wǎng)絡(luò)的第一個(gè)環(huán)節(jié)。根據(jù)節(jié)點(diǎn)是否為全新節(jié)點(diǎn),將區(qū)塊鏈P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)分為初始節(jié)點(diǎn)和重啟節(jié)點(diǎn)兩種類型。其中,重啟節(jié)點(diǎn)可以利用前期已有的地址信息建立與其他可用節(jié)點(diǎn)之間的連接,而初始節(jié)點(diǎn)需要通過完整的消息交互建立與鄰居節(jié)點(diǎn)之間的聯(lián)系。下面,分別結(jié)合比特幣、以太坊和超級賬本等應(yīng)用場景,分析區(qū)塊鏈P2P網(wǎng)絡(luò)的工作機(jī)理和應(yīng)用特點(diǎn)。結(jié)合比特幣、以太坊和超級賬本3 類典型應(yīng)用場景,本節(jié)分別介紹P2P網(wǎng)絡(luò)在每一類場景中的功能實(shí)現(xiàn)和應(yīng)用特點(diǎn)。

    2.3.1 比特幣系統(tǒng)中的P2P網(wǎng)絡(luò)

    中本聰在設(shè)計(jì)比特幣系統(tǒng)原型時(shí)就采用了P2P 方式來組織和管理不同的節(jié)點(diǎn),并為去中心化思想的實(shí)現(xiàn)提供了安全保障。同時(shí),比特幣系統(tǒng)中的P2P網(wǎng)絡(luò)更加接近傳統(tǒng)P2P網(wǎng)絡(luò)的特征,尤其是P2P網(wǎng)絡(luò)中節(jié)點(diǎn)的隨機(jī)加入和離開機(jī)制為比特幣系統(tǒng)的開放性奠定了基礎(chǔ)。借鑒了傳統(tǒng)P2P 網(wǎng)絡(luò)的工作機(jī)制,在比特幣系統(tǒng)中,初始節(jié)點(diǎn)發(fā)現(xiàn)一般通過種子節(jié)點(diǎn)(seed node)來實(shí)現(xiàn)。根據(jù)實(shí)現(xiàn)方式的不同,比特幣系統(tǒng)中的種子節(jié)點(diǎn)通常分為DNS 種子節(jié)點(diǎn)和硬編碼(hard code)兩種方式。其中,DNS種子是由比特幣社區(qū)維護(hù)的一個(gè)中心化域名查詢系統(tǒng),如seed.bitcoin.sipa.be;而硬編碼方式是將一些地址(這些地址稱之為“種子”)以代碼形式寫入一些穩(wěn)定的節(jié)點(diǎn),由這些穩(wěn)定節(jié)點(diǎn)為新節(jié)點(diǎn)的加入提供地址發(fā)現(xiàn)服務(wù)。

    比特幣系統(tǒng)將一些長期在線的穩(wěn)定節(jié)點(diǎn)配置為種子節(jié)點(diǎn),種子節(jié)點(diǎn)通過硬編碼方式保存有完整的區(qū)塊鏈網(wǎng)絡(luò)地址列表,可以為新加入節(jié)點(diǎn)提供優(yōu)質(zhì)的節(jié)點(diǎn)發(fā)現(xiàn)和路由列表服務(wù)。例如,比特幣系統(tǒng)的種子節(jié)點(diǎn)可以定期通過Net.AdvertiseLocal()方式將本地地址列表以廣播方式主動推送給其他節(jié)點(diǎn),以使其他節(jié)點(diǎn)及時(shí)更新地址列表。另外,比特幣系統(tǒng)中節(jié)點(diǎn)將地址以LevelDB[32]格式存儲在peer.dat 數(shù)據(jù)庫系統(tǒng)中。LevelDB 數(shù)據(jù)庫是一個(gè)“鍵/值”(Key/Value)數(shù)據(jù)庫,主要用于存儲和管理關(guān)聯(lián)性數(shù)組,具有良好的讀寫性能,非常適合對比特幣系統(tǒng)中節(jié)點(diǎn)地址的管理要求。

    2.3.2 以太坊系統(tǒng)中的P2P網(wǎng)絡(luò)

    與比特幣相比較,以太坊的功能更加強(qiáng)大,應(yīng)用場景更加豐富,相應(yīng)地對節(jié)點(diǎn)的組織管理方式更加靈活和高效。以太坊系統(tǒng)中的P2P 網(wǎng)絡(luò)在借鑒了比特幣系統(tǒng)中P2P網(wǎng)絡(luò)應(yīng)用特點(diǎn)的基礎(chǔ)上,結(jié)合以太坊功能實(shí)現(xiàn)進(jìn)行了一些改進(jìn)和優(yōu)化:

    (1)采用結(jié)構(gòu)化對等網(wǎng)絡(luò)模式。通過DHT 方式實(shí)現(xiàn)其結(jié)構(gòu)化功能,任一節(jié)點(diǎn)都擁有全網(wǎng)唯一的哈希列表中的位置ⅠD,以便于其他節(jié)點(diǎn)精準(zhǔn)定位。

    (2)具體使用KAD 協(xié)議。為了更好地適應(yīng)網(wǎng)絡(luò)中節(jié)點(diǎn)頻繁加入和退出的需要,以太坊中使用了KAD 協(xié)議。KAD 協(xié)議是一種對DHT 的具體實(shí)現(xiàn),是第三代P2P網(wǎng)絡(luò)中節(jié)點(diǎn)動態(tài)管理和路由的協(xié)議,與其前兩代協(xié)議(如Chord[33]、CAN[34]、Pastry[35])相比,KAD以全局唯一ⅠD 標(biāo)記對等網(wǎng)絡(luò)節(jié)點(diǎn),以節(jié)點(diǎn)ⅠD 異或(XOR)值度量節(jié)點(diǎn)之間的距離,即Dis(M,N)=XOR(M,N)。

    (3)種子節(jié)點(diǎn)。與比特幣系統(tǒng)一樣,以太坊系統(tǒng)同樣將穩(wěn)定的節(jié)點(diǎn)配置為種子節(jié)點(diǎn),以便為其他節(jié)點(diǎn)提供更優(yōu)質(zhì)的節(jié)點(diǎn)列表服務(wù)。與比特幣系統(tǒng)一樣,種子節(jié)點(diǎn)的引入,在方便了對新節(jié)點(diǎn)管理的同時(shí),在一定程度上弱化了P2P網(wǎng)絡(luò)的去中心化特征,影響了網(wǎng)絡(luò)的安全性。

    (4)地址數(shù)據(jù)庫。以太坊系統(tǒng)采用與比特幣系統(tǒng)相同的LevelDB格式數(shù)據(jù)庫來保存地址信息。

    (5)地址查詢。由于以太坊節(jié)點(diǎn)使用全網(wǎng)唯一的結(jié)構(gòu)化編址方案,所以可以根據(jù)KAD 表結(jié)構(gòu)快速定位到待查詢節(jié)點(diǎn)ⅠD的具體位置。

    隨著以太坊應(yīng)用范圍的不斷擴(kuò)展,研究人員對以太坊系統(tǒng)中P2P 網(wǎng)絡(luò)的節(jié)點(diǎn)管理方式進(jìn)行了進(jìn)一步分析和優(yōu)化。例如,通過對以太坊的網(wǎng)絡(luò)測量,發(fā)現(xiàn)網(wǎng)絡(luò)中可能影響正常路由的節(jié)點(diǎn)[36],以及礦工的節(jié)點(diǎn)位置對挖礦結(jié)果的影響[37]。

    2.3.3 超級賬本中的P2P網(wǎng)絡(luò)

    比特幣創(chuàng)造了區(qū)塊鏈技術(shù)應(yīng)用的神話,以太坊以圖靈完備和智能合約使區(qū)塊技術(shù)走出數(shù)字加密貨幣,廣泛服務(wù)于金融、醫(yī)療、公共服務(wù)、供應(yīng)鏈、智能制造、保險(xiǎn)、游戲等眾多領(lǐng)域。比特幣和以太坊系統(tǒng)是公有鏈應(yīng)用的典型,而超級賬本為聯(lián)盟鏈應(yīng)用提供了一個(gè)開源技術(shù)架構(gòu)。目前,主流的超級賬本項(xiàng)目有Monax 和Ⅰntel 的Hyperledge Burrow[38]、Soramitsu 的Hyperledge Ⅰroha[39]、ⅠBM和Digital Asset的Hyperledge Fabric[40]等,其中Fabric是目前主流的開源聯(lián)盟鏈產(chǎn)品之一,主要有Fabric 0.6和Fabric 1.0兩個(gè)版本。

    Fabric 1.0 采用半中心化模式,根據(jù)企業(yè)級應(yīng)用的具體需要,基于網(wǎng)絡(luò)中扮演的角色不同,將節(jié)點(diǎn)分為NP(validating peer,驗(yàn)證節(jié)點(diǎn))、NVP(nove validating peer,非驗(yàn)證節(jié)點(diǎn))以及成員管理(membership services)節(jié)點(diǎn)3種類型。其中,成員管理服務(wù)為了適應(yīng)企業(yè)級應(yīng)用,借鑒了傳統(tǒng)身份管理的功能,實(shí)現(xiàn)成員注冊、身份管理、交易審計(jì)等功能,以確保平臺應(yīng)用的安全性;VP節(jié)點(diǎn)負(fù)責(zé)共識達(dá)成、驗(yàn)證和確認(rèn)交易以及維護(hù)賬本數(shù)據(jù)的一致性;NVP節(jié)點(diǎn)主要對從客戶端接收到的交易進(jìn)行驗(yàn)證,并將驗(yàn)證通過的合法交易轉(zhuǎn)發(fā)給VP節(jié)點(diǎn),由VP節(jié)點(diǎn)通過共識算法寫入?yún)^(qū)塊。Fabric 0.6 中VP 和NVP 節(jié)點(diǎn)之間的關(guān)系如圖4(a)所示。

    Fabric 1.0中沒有了VP和NVP節(jié)點(diǎn),而是由Orderer(排序)、Endorser(背書)和Committer(記賬)節(jié)點(diǎn)替代,具體如圖4(b)所示。其中,作為企業(yè)級的應(yīng)用,客戶端首先需要向管理成員節(jié)點(diǎn)(一般為企業(yè)CA)申請一個(gè)入網(wǎng)證書用于身份驗(yàn)證和對交易進(jìn)行簽名??蛻舳松梢粋€(gè)提案(proposal)后發(fā)送到背書節(jié)點(diǎn),背書節(jié)點(diǎn)對通過驗(yàn)證的提案交由鏈碼chaincode 進(jìn)行模擬執(zhí)行,并將經(jīng)過背書的結(jié)果返回給客戶端;隨之,客戶端在接收到背書節(jié)點(diǎn)的提案響應(yīng)(proposal response)消息后,將其封裝成一筆交易發(fā)送給排序節(jié)點(diǎn)進(jìn)行排序操作,將創(chuàng)建一個(gè)新的有序交易的區(qū)塊,然后將新區(qū)塊發(fā)送給記賬節(jié)點(diǎn);每個(gè)記賬節(jié)點(diǎn)在收到新區(qū)塊之后會對其驗(yàn)證(包括簽名、背書策略以及讀寫集的校驗(yàn)等),在通過驗(yàn)證后將區(qū)塊鏈接到主鏈的尾部。

    另外,F(xiàn)abric 種子節(jié)點(diǎn)并沒有采用比特幣和以太坊中的硬編碼方案,而是通過配置文件加載方式實(shí)現(xiàn)對節(jié)點(diǎn)地址的動態(tài)獲取與管理。具體講,F(xiàn)abric采用了近年來廣受歡迎的開源配置解決方案Viper[41],不但可以動態(tài)獲取本地地址參數(shù),而且可以獲得遠(yuǎn)端節(jié)點(diǎn)的配置文件消息。節(jié)點(diǎn)通過Viper獲取到的信息可以在無需重啟系統(tǒng)的情況下自動生效。另外,F(xiàn)abric采用Gossip協(xié)議實(shí)現(xiàn)P2P網(wǎng)絡(luò)中節(jié)點(diǎn)之間的數(shù)據(jù)交互與最終一致性。

    3 區(qū)塊鏈P2P網(wǎng)絡(luò)的安全

    3.1 區(qū)塊鏈P2P網(wǎng)絡(luò)的主要安全問題

    P2P 網(wǎng)絡(luò)為區(qū)塊鏈節(jié)點(diǎn)的安全接入以及節(jié)點(diǎn)之間的通信提供基本保障,具體包括節(jié)點(diǎn)之間的組網(wǎng)模式、通信模式及通信管理等。區(qū)塊鏈系統(tǒng)采用不依賴于第三方的P2P組網(wǎng)通信方式,在全網(wǎng)范圍內(nèi)的不同節(jié)點(diǎn)之間建立聯(lián)系并實(shí)現(xiàn)路由選擇和資源查詢等服務(wù)功能。P2P網(wǎng)絡(luò)的安全問題必然導(dǎo)致區(qū)塊鏈應(yīng)用的安全風(fēng)險(xiǎn),總體來看,區(qū)塊鏈P2P網(wǎng)絡(luò)的安全問題主要反映在漏洞威脅、網(wǎng)絡(luò)分區(qū)和隱私威脅三個(gè)方面[42-43]。

    3.1.1 漏洞威脅

    漏洞的存在是安全問題產(chǎn)生的主要根源,目前大量網(wǎng)絡(luò)攻擊行為的實(shí)施都是借助漏洞來實(shí)現(xiàn)的。然而,漏洞的存在是不可避免的,只能在發(fā)現(xiàn)后進(jìn)行修復(fù)。對于攻擊者來說,任何已存在但未修復(fù)的漏洞都具有利用的價(jià)值。區(qū)塊鏈P2P網(wǎng)絡(luò)是一種典型的覆蓋網(wǎng)絡(luò),用于為區(qū)塊鏈節(jié)點(diǎn)之間提供一種分布式的自組織連接方式。但是,由于P2P 網(wǎng)絡(luò)中的節(jié)點(diǎn)接入和退出自由,而且不存在身份認(rèn)證和數(shù)據(jù)驗(yàn)證(正常通信情況下,不涉及到挖礦操作)等管理機(jī)制,所以存在較大的安全風(fēng)險(xiǎn):

    (1)易遭受惡意攻擊。攻擊節(jié)點(diǎn)可以惡意傳播病毒、木馬、蠕蟲等惡意代碼,破壞正常的網(wǎng)絡(luò)運(yùn)行機(jī)制。也可以對一些重要節(jié)點(diǎn)(如礦工節(jié)點(diǎn)、礦池節(jié)點(diǎn)等)發(fā)起DDoS(distributed denial of service,分布式拒絕服務(wù))攻擊[44],或?qū)χ赶蛱囟ü?jié)點(diǎn)的路由實(shí)施路由攻擊。

    (2)攻擊行為難以檢測。傳統(tǒng)的基于邊界安全的防火墻和入侵檢測技術(shù)無法對P2P流量進(jìn)行有效管理,而且針對P2P 網(wǎng)絡(luò)節(jié)點(diǎn)的攻擊源較難進(jìn)行溯源和實(shí)施阻斷。雖然零信任技術(shù)[45]從理論上可以解決這一問題,但是零信任網(wǎng)絡(luò)的大規(guī)模部署目前尚存在較大的困難。

    (3)節(jié)點(diǎn)間存在資源和權(quán)限的差異性。任何網(wǎng)絡(luò)都存在物理和邏輯上的邊界,區(qū)塊鏈P2P 網(wǎng)絡(luò)也是如此。區(qū)塊鏈P2P網(wǎng)絡(luò)中,節(jié)點(diǎn)會因?yàn)樵诰W(wǎng)絡(luò)中的具體位置以及加入網(wǎng)絡(luò)的時(shí)間先后,存在對資源占有的不平衡性。一般情況下,位于網(wǎng)絡(luò)中心位置以及較早加入網(wǎng)絡(luò)且運(yùn)行穩(wěn)定(長期在線)的節(jié)點(diǎn)占有資源較多,如果這些重要節(jié)點(diǎn)被惡意控制后,就可能會限制其他節(jié)點(diǎn)享有數(shù)據(jù)資源,或?qū)ζ渌?jié)點(diǎn)的路由及資源查詢進(jìn)行誤導(dǎo)。在區(qū)塊鏈系統(tǒng)中,當(dāng)輕量級SPV節(jié)點(diǎn)需要訪問全節(jié)點(diǎn)中的賬本數(shù)據(jù)時(shí),更容易被全節(jié)點(diǎn)限制訪問。

    (4)智能合約安全漏洞的利用。智能合約以其具有的部署靈活、公開透明、調(diào)用便捷等特點(diǎn),豐富了區(qū)塊鏈的應(yīng)用功能。與此同時(shí),智能合約存在的合約安全和隱私安全等問題已嚴(yán)重影響著區(qū)塊鏈應(yīng)用的進(jìn)一步發(fā)展[46]。由于合約部署在公開節(jié)點(diǎn)上,這些節(jié)點(diǎn)自身的安全以及防范外界攻擊的能力對提升P2P 網(wǎng)絡(luò)的安全性顯得極為重要。

    針對區(qū)塊鏈P2P 網(wǎng)絡(luò)安全漏洞的產(chǎn)生原因較為復(fù)雜,目前的研究主要集中于協(xié)議設(shè)計(jì)缺陷和軟件實(shí)現(xiàn)中存在的漏洞兩個(gè)方面,其目標(biāo)是在提升P2P網(wǎng)絡(luò)運(yùn)行性能的同時(shí),加強(qiáng)對以P2P網(wǎng)絡(luò)為重點(diǎn)的漏洞檢測技術(shù)的研究。

    3.1.2 網(wǎng)絡(luò)分區(qū)

    網(wǎng)絡(luò)分區(qū)的概念較早出現(xiàn)在分布式系統(tǒng)中,是分布式系統(tǒng)的一種故障類型[47]。在分布式集群中,受網(wǎng)絡(luò)通信質(zhì)量的影響,部分節(jié)點(diǎn)之間會因?yàn)闊o法建立連接從而使集群中的節(jié)點(diǎn)形成不同的子集,且不同子集之間相互隔離。

    區(qū)塊鏈基于P2P 網(wǎng)絡(luò)在共識算法的作用下實(shí)現(xiàn)不同節(jié)點(diǎn)上賬本的一致性。區(qū)塊鏈系統(tǒng)中一旦出現(xiàn)網(wǎng)絡(luò)分區(qū),不同分區(qū)形成不同節(jié)點(diǎn)子集,每個(gè)子集分別維護(hù)各自的賬本,破壞了網(wǎng)絡(luò)中共識算法的一致性。在區(qū)塊鏈網(wǎng)絡(luò)中,全節(jié)點(diǎn)上存儲著完整的賬本數(shù)據(jù),而輕量級SPV節(jié)點(diǎn)只保存有區(qū)塊頭數(shù)據(jù)和交易相關(guān)的細(xì)節(jié)信息,輕量級SPV 節(jié)點(diǎn)需要通過全節(jié)點(diǎn)上的數(shù)據(jù)來更新自身節(jié)點(diǎn)的數(shù)據(jù)。另外,當(dāng)輕量級SPV節(jié)點(diǎn)需要對某一筆交易是否真實(shí)存在進(jìn)行驗(yàn)證時(shí),需要借助周邊的全節(jié)點(diǎn)來完成。區(qū)塊鏈系統(tǒng)的這種工作方式,很容易被攻擊后形成網(wǎng)絡(luò)分區(qū)。攻擊節(jié)點(diǎn)通過主動探測或被動監(jiān)聽方式在獲取到網(wǎng)絡(luò)拓?fù)湫畔⒑?,就可以確定被攻擊的目標(biāo)節(jié)點(diǎn),再控制目標(biāo)節(jié)點(diǎn)周圍的鄰居節(jié)點(diǎn)從而形成網(wǎng)絡(luò)分區(qū),進(jìn)一步控制網(wǎng)絡(luò)路由和資源查詢。

    目前的比特幣和以太坊系統(tǒng)都沒有提供有效的防范網(wǎng)絡(luò)分區(qū)的功能,更沒有研究網(wǎng)絡(luò)分區(qū)時(shí)的共識算法優(yōu)化機(jī)制[48]。未來研究仍然集中于P2P 網(wǎng)絡(luò)協(xié)議優(yōu)化和開發(fā)適應(yīng)網(wǎng)絡(luò)分區(qū)環(huán)境的區(qū)塊鏈共識協(xié)議兩個(gè)方面。

    3.1.3 隱私威脅

    隱私專指用戶不想公開的個(gè)人信息,數(shù)據(jù)安全是實(shí)現(xiàn)隱私保護(hù)的前提[49],用戶不愿意公開的姓名、年齡、家庭住址等信息,都屬于隱私的范疇。隱私的確定并非一成不變的,它會根據(jù)不同的時(shí)間和知悉對象發(fā)生變化,即隱私具有針對性和時(shí)限性。

    區(qū)塊鏈系統(tǒng)中的大部分隱私與交易相關(guān)[50]。如圖5所示的是從blockchain.info網(wǎng)站公開顯示的比特系統(tǒng)的一筆交易信息,主要包括交易輸入(From)、交易輸出(To)和元數(shù)據(jù)三部分內(nèi)容,詳細(xì)描述了本筆交易的來源和去向以及相互之間的關(guān)系。

    從圖5中可以看出,比特幣系統(tǒng)中與交易相關(guān)的信息都是公開的。雖然這些與用戶身份相關(guān)的公開信息(如交易地址、輸入與輸出地址之間的關(guān)系等)都以假名機(jī)制經(jīng)過了匿名化處理,但由于賬本數(shù)據(jù)的公開性以及交易之間的關(guān)聯(lián)性,攻擊者仍然可能會窺探到用戶隱私。目前,已有大量研究表明,通過對比特幣賬本數(shù)據(jù)的分析,再借助互聯(lián)網(wǎng)節(jié)點(diǎn)對應(yīng)的ⅠP地址及其他公開信息,可以確定交易者的身份。

    隱私保護(hù)是目前區(qū)塊鏈研究的重點(diǎn)[51-52],未來研究將主要針對區(qū)塊鏈中的數(shù)據(jù)隱私泄露問題,加強(qiáng)針對P2P網(wǎng)絡(luò)通信隱私以及針對網(wǎng)絡(luò)節(jié)點(diǎn)隱私的研究,同時(shí)結(jié)合區(qū)塊鏈的跨鏈操作需要,對跨鏈操作中產(chǎn)生的隱私泄露風(fēng)險(xiǎn)進(jìn)行分析。在此基礎(chǔ)上,基于系統(tǒng)思維方式,加強(qiáng)區(qū)塊鏈技術(shù)(如智能合約、側(cè)鏈等)和應(yīng)用過程中的隱私保護(hù)研究。

    表3從安全威脅的主要表現(xiàn)、安全威脅的主要產(chǎn)生原因以及安全威脅程度等方面,對漏洞威脅、網(wǎng)絡(luò)分區(qū)和隱私威脅進(jìn)行了比較分析。

    表3 針對區(qū)塊鏈P2P網(wǎng)絡(luò)主要安全威脅的比較Table 3 Comparison of major security threats to blockchain P2P networks

    3.2 典型攻擊與防范方法

    針對前文分析的區(qū)塊鏈P2P網(wǎng)絡(luò)安全問題,并通過對近年來發(fā)生的區(qū)塊鏈安全事件的分析,本節(jié)重點(diǎn)對區(qū)塊鏈P2P網(wǎng)絡(luò)中的DDoS攻擊、Sybil攻擊和Eclipse攻擊的實(shí)現(xiàn)原理和防范思路進(jìn)行討論。

    3.2.1 DDoS攻擊

    DDoS 攻擊[53]是指位于不同地點(diǎn)的多個(gè)攻擊者(attacker)聯(lián)合起來向受害主機(jī)(victim)同時(shí)發(fā)起攻擊,或攻擊者在控制了多臺主機(jī)(傀儡主機(jī))后再借助這些受控主機(jī)向受害主機(jī)實(shí)施攻擊。DDoS攻擊是一種基于分布式系統(tǒng)的具有協(xié)同功能的大規(guī)模攻擊方式。隨著P2P 網(wǎng)絡(luò)的流行,DDoS 攻擊方式與P2P 網(wǎng)絡(luò)開始走向融合,出現(xiàn)了專門針對P2P網(wǎng)絡(luò)的DDoS攻擊方式[54]。

    如圖6所示的是區(qū)塊鏈P2P網(wǎng)絡(luò)中DDoS攻擊的實(shí)現(xiàn)方式。攻擊者在實(shí)施P2P 網(wǎng)絡(luò)攻擊時(shí),一般情況下,不需要像傳統(tǒng)DDoS 攻擊那樣利用已經(jīng)發(fā)現(xiàn)的漏洞向傀儡機(jī)植入木馬,然后利用構(gòu)建的僵尸網(wǎng)絡(luò)向受害主機(jī)發(fā)起攻擊,而是基于P2P 覆蓋網(wǎng)絡(luò)的特點(diǎn),在應(yīng)用層通過構(gòu)建攻擊報(bào)文并利用反射式攻擊方式發(fā)起攻擊。具體講,攻擊者將受害主機(jī)的ⅠP地址和端口寫入到攻擊報(bào)文的應(yīng)用層消息中,以此將P2P網(wǎng)絡(luò)的節(jié)點(diǎn)流量引向受害主機(jī)。用此方式,可以實(shí)現(xiàn)利用較小的請求報(bào)文來觸發(fā)較大的響應(yīng)報(bào)文,進(jìn)而生成巨大的攻擊數(shù)據(jù)流;同時(shí),攻擊者還可以通過修改P2P網(wǎng)絡(luò)的路由信息,將攻擊數(shù)據(jù)流指向受害主機(jī);另外,攻擊者還可以修改P2P 網(wǎng)絡(luò)中的資源查詢方式,形成匯聚到受害主機(jī)的攻擊流量。

    圖6 P2P網(wǎng)絡(luò)中DDoS攻擊示意圖Fig.6 Diagram of DDoS attacks on P2P network

    借助P2P網(wǎng)絡(luò)中節(jié)點(diǎn)間的通信方式,可以將P2P網(wǎng)絡(luò)中的DDoS 攻擊分為主動攻擊和被動攻擊兩種類型。其中,主動攻擊是指攻擊者利用P2P 協(xié)議的推(push)機(jī)制,主動向網(wǎng)絡(luò)中發(fā)送大量虛假信息,使得針對這些虛假信息的后續(xù)訪問都指向受害主機(jī);而被動攻擊是指攻擊者利用P2P 協(xié)議的拉(pull)機(jī)制,被動地等待其他節(jié)點(diǎn)來訪問虛構(gòu)的攻擊資源,再利用信息放大措施產(chǎn)生攻擊數(shù)據(jù)流并進(jìn)一步增強(qiáng)攻擊效果。相對來講,主動攻擊具有可控性強(qiáng)、控制面廣、放大效應(yīng)明顯等特點(diǎn),攻擊效果要比被動攻擊好。

    針對P2P網(wǎng)絡(luò)中DDoS攻擊的防范方法主要有建立鄰居節(jié)點(diǎn)之間的信任機(jī)制、對產(chǎn)生較大流量的節(jié)點(diǎn)身份進(jìn)行驗(yàn)證,以及加強(qiáng)對重要節(jié)點(diǎn)的保護(hù)等。當(dāng)然,這些方法中部分功能的實(shí)現(xiàn)與區(qū)塊鏈的去中心化、去信任等機(jī)制相悖,這也是在追求安全過程中需要付出的代價(jià)。

    3.2.2 Sybil攻擊

    Sybil(女巫)來自于一個(gè)故事中的女主角,她患有多重人格障礙癥,不同時(shí)刻會扮演不同的角色。在P2P網(wǎng)絡(luò)中,Sybil 攻擊[55]是指單一節(jié)點(diǎn)具有多個(gè)身份,而且網(wǎng)絡(luò)中的其他節(jié)點(diǎn)對其每一個(gè)身份及其行為都認(rèn)為是合法合規(guī)的。

    在區(qū)塊鏈P2P網(wǎng)絡(luò)中,Sybil攻擊主要針對采用拜占庭容錯(cuò)(Byzantine fault tolerance,BFT)共識算法的區(qū)塊鏈系統(tǒng)[56]。由于BFT 協(xié)議要求系統(tǒng)中錯(cuò)誤節(jié)點(diǎn)數(shù)要小于節(jié)點(diǎn)總數(shù)的1/3 才能達(dá)成最終的一致性,為此,在Sybil攻擊中,攻擊者借助P2P網(wǎng)絡(luò)中節(jié)點(diǎn)自由加入的和離開特點(diǎn),通過創(chuàng)建多個(gè)擁有不同身份信息的節(jié)點(diǎn),以此來破壞區(qū)塊鏈系統(tǒng)的共識算法中的投票機(jī)制,從而產(chǎn)生錯(cuò)誤的最終提案,具體操作過程如圖7所示。

    圖7 P2P網(wǎng)絡(luò)中Sybil攻擊示意圖Fig.7 Diagram of Sybil attack in P2P network

    針對Sybil攻擊的防范方法主要是優(yōu)化區(qū)塊鏈系統(tǒng)共識算法,在算法中增加挖礦節(jié)點(diǎn)的身份識別和驗(yàn)證機(jī)制,確保挖礦節(jié)點(diǎn)的可信性,防止惡意節(jié)點(diǎn)假扮成礦工進(jìn)行共識挖礦。

    3.2.3 Eclipse攻擊

    Eclipse(日蝕)攻擊[57]主要出現(xiàn)在網(wǎng)絡(luò)分區(qū)中,是攻擊者在獲取到網(wǎng)絡(luò)拓?fù)湫畔⒑?,再利用該拓?fù)湫畔?shí)現(xiàn)網(wǎng)絡(luò)分區(qū)的一種典型的攻擊方式。攻擊者首先獲取到網(wǎng)絡(luò)拓?fù)湫畔?,然后確定受害節(jié)點(diǎn)在網(wǎng)絡(luò)中的具體位置信息,接著通過限制外界與受害節(jié)點(diǎn)之間的通信,甚至使受害節(jié)點(diǎn)完全與外界隔離,使受害節(jié)點(diǎn)無法接收到外部節(jié)點(diǎn)的信息,致使受害節(jié)點(diǎn)所在網(wǎng)絡(luò)中節(jié)點(diǎn)存儲的區(qū)塊鏈賬本數(shù)據(jù)與外界不一致,破壞了區(qū)塊鏈分布式節(jié)點(diǎn)中數(shù)據(jù)的一致性。與此同時(shí),攻擊者還可以有目的地控制受害節(jié)點(diǎn)所在的子網(wǎng)絡(luò),使該子網(wǎng)絡(luò)從整個(gè)網(wǎng)絡(luò)中隔離,形成網(wǎng)絡(luò)分區(qū)。攻擊者通過有效隔離受害節(jié)點(diǎn),控制甚至征用受害節(jié)點(diǎn)的算力,為進(jìn)一步實(shí)施雙花攻擊或自私挖礦(selfish mining)[58]提供條件。

    在區(qū)塊鏈P2P網(wǎng)絡(luò)中,完整的路由信息是實(shí)現(xiàn)全網(wǎng)不同節(jié)點(diǎn)之間信息交互的基礎(chǔ)。而在Eclipse 攻擊中,攻擊者不斷向受害節(jié)點(diǎn)的鄰居節(jié)點(diǎn)(傀儡節(jié)點(diǎn))發(fā)送經(jīng)事先偽造的虛假路由更新信息,使鄰居節(jié)點(diǎn)中充斥著大量無效路由信息。當(dāng)鄰居節(jié)點(diǎn)逐個(gè)變成傀儡節(jié)點(diǎn)時(shí),形成一個(gè)以受害節(jié)點(diǎn)為中心的網(wǎng)絡(luò)分區(qū),外界與受害節(jié)點(diǎn)之間的信息交互(路由查詢、資源搜索等)被攻擊者掌控。如圖8 顯示了區(qū)塊鏈P2P 網(wǎng)絡(luò)中Eclipse 攻擊的基本實(shí)現(xiàn)原理。

    圖8 P2P網(wǎng)絡(luò)中Eclipse攻擊示意圖Fig.8 Eclipse attack diagram in P2P network

    區(qū)塊鏈系統(tǒng)中,針對Eclipse 攻擊的防范方法主要是修改節(jié)點(diǎn)路由信息的更新規(guī)則,對單位時(shí)間內(nèi)更新的路由條目進(jìn)行必要的限制,防止大量虛假路由信息的更新。同時(shí),采用相應(yīng)策略,當(dāng)進(jìn)行路由信息更新時(shí),對新加入路由信息的有效性進(jìn)行測試。還有,限制從單一節(jié)點(diǎn)(一般為攻擊者節(jié)點(diǎn))接收需要頻繁更新的路由信息。

    為便于對三類典型攻擊方式的理解,表4分別從主要攻擊對象、主要攻擊目的、主要防范方法、關(guān)聯(lián)攻擊方式和實(shí)施難易度等方面對其進(jìn)行了比較分析。

    表4 針對區(qū)塊鏈P2P網(wǎng)絡(luò)的三類典型攻擊方式的比較Table 4 Comparison of 3 types of typical attacks against blockchain P2P networks

    4 總結(jié)與展望

    區(qū)塊鏈系統(tǒng)中使用的共識機(jī)制、公鑰密鑰算法、P2P網(wǎng)絡(luò)、經(jīng)濟(jì)激勵(lì)和博弈論等理論與技術(shù)都不是專門針對區(qū)塊鏈而開發(fā)的,只是在區(qū)塊鏈技術(shù)中重新找到了自己的價(jià)值,并在應(yīng)用迭代中進(jìn)一步優(yōu)化和完善。P2P網(wǎng)絡(luò)最初也是應(yīng)用在音樂、視頻等多媒體服務(wù)(如目前互聯(lián)網(wǎng)中擁有巨大用戶量的PPS、PPLive網(wǎng)絡(luò)電視等),在中本聰?shù)膮^(qū)塊鏈技術(shù)以及基于該技術(shù)開發(fā)的比特幣系統(tǒng)原型中選擇了P2P網(wǎng)絡(luò)作為底層通信協(xié)議。后來,隨著區(qū)塊鏈技術(shù)在加密數(shù)字貨幣中應(yīng)用的深入以及向其他領(lǐng)域的擴(kuò)展,P2P 網(wǎng)絡(luò)技術(shù)得到了進(jìn)一步發(fā)展和完善。與此同時(shí),區(qū)塊鏈P2P技術(shù)自身以及P2P網(wǎng)絡(luò)的安全性也在一定程度上影響著區(qū)塊鏈的發(fā)展。目前,針對區(qū)塊鏈P2P網(wǎng)絡(luò)和安全問題的研究,主要在以下幾個(gè)方面存在一定的挑戰(zhàn):

    (1)針對區(qū)塊鏈P2P網(wǎng)絡(luò)的流量分析。區(qū)塊鏈作為一項(xiàng)實(shí)現(xiàn)去中心化應(yīng)用的底層技術(shù),并非所有應(yīng)用在全球都是合法的,例如,中國政府就嚴(yán)厲打擊比特幣挖礦和交易行為。然而,從技術(shù)層面并不能因?yàn)榻雇诘V就全面禁止其他的區(qū)塊鏈應(yīng)用,反而應(yīng)通過區(qū)塊鏈應(yīng)用創(chuàng)新來促進(jìn)經(jīng)濟(jì)社會高質(zhì)量發(fā)展。為此,需要通過綜合運(yùn)用深度學(xué)習(xí)、大語言模型等技術(shù)和方法,加強(qiáng)對互聯(lián)網(wǎng)流量特征的動態(tài)識別和分析,從技術(shù)層面限制非法應(yīng)用,保護(hù)合法網(wǎng)絡(luò)流量。

    (2)技術(shù)研究與應(yīng)用創(chuàng)新。區(qū)塊鏈?zhǔn)且豁?xiàng)繼承和綜合了多項(xiàng)成熟技術(shù)的創(chuàng)新應(yīng)用,強(qiáng)化單一技術(shù)的研究和多技術(shù)之間深度融合是推動區(qū)塊鏈技術(shù)發(fā)展的關(guān)鍵。針對區(qū)塊鏈P2P網(wǎng)絡(luò),需要對覆蓋網(wǎng)絡(luò)路由及不同節(jié)點(diǎn)信息的一致性進(jìn)行優(yōu)化,對P2P網(wǎng)絡(luò)尤其是非結(jié)構(gòu)化對等網(wǎng)絡(luò)中的信息檢索機(jī)制進(jìn)行優(yōu)化,對大型P2P網(wǎng)絡(luò)中因節(jié)點(diǎn)頻繁加入和退出對網(wǎng)絡(luò)產(chǎn)生的抖動特性進(jìn)行研究,對P2P網(wǎng)絡(luò)分區(qū)問題產(chǎn)生的機(jī)理和應(yīng)對策略進(jìn)行系統(tǒng)分析,對基于DHT 的P2P 網(wǎng)絡(luò)中數(shù)據(jù)的冗余機(jī)制和高可用性進(jìn)行研究等。與此同時(shí),需要堅(jiān)持問題導(dǎo)向,在工程實(shí)踐中加強(qiáng)不同技術(shù)之間的協(xié)同和應(yīng)用優(yōu)化,并確保其安全性。

    (3)區(qū)塊鏈網(wǎng)絡(luò)安全。安全是一個(gè)基礎(chǔ)問題,也是一個(gè)謀長遠(yuǎn)的問題,區(qū)塊鏈網(wǎng)絡(luò)安全更是如此。一方面,區(qū)塊鏈P2P 網(wǎng)絡(luò)自身持有其安全特質(zhì),如利用P2P網(wǎng)絡(luò)的分布式存儲和處理特征防止單一節(jié)點(diǎn)攻擊,利用數(shù)據(jù)存儲的多副本特征提升系統(tǒng)的容錯(cuò)能力,利用P2P網(wǎng)絡(luò)的拓?fù)涮卣髟鰪?qiáng)系統(tǒng)的兼容性和可擴(kuò)展性等。另一方面,區(qū)塊鏈P2P 網(wǎng)絡(luò)因其具有的網(wǎng)絡(luò)開放性、節(jié)點(diǎn)加入與退出的隨意性、單一節(jié)點(diǎn)對整個(gè)網(wǎng)絡(luò)信息了解的有限性等特點(diǎn),在安全方面存在一定的挑戰(zhàn)。針對這些區(qū)塊鏈P2P 網(wǎng)絡(luò)的安全問題,需要從信任認(rèn)證、惡意節(jié)點(diǎn)檢測、攻擊容忍、攻擊限制、礦池挖礦規(guī)則和算法優(yōu)化等方面進(jìn)行系統(tǒng)研究,盡可能避免區(qū)塊鏈網(wǎng)絡(luò)安全中木桶效應(yīng)現(xiàn)象的出現(xiàn)。

    另外,針對區(qū)塊鏈網(wǎng)絡(luò)的用戶隱私保護(hù)也是一個(gè)重要的研究領(lǐng)域,隨著區(qū)塊鏈技術(shù)的不斷發(fā)展和應(yīng)用的不斷普及,以及人們對隱私保護(hù)意識的不斷增強(qiáng),針對區(qū)塊鏈P2P 網(wǎng)絡(luò)及隱私保護(hù)研究的意義和價(jià)值將會進(jìn)一步突顯。同時(shí),無線Mesh 網(wǎng)絡(luò)[59]在區(qū)塊鏈系統(tǒng)中的應(yīng)用也是一個(gè)應(yīng)用和研究熱點(diǎn)。

    猜你喜歡
    系統(tǒng)
    Smartflower POP 一體式光伏系統(tǒng)
    WJ-700無人機(jī)系統(tǒng)
    ZC系列無人機(jī)遙感系統(tǒng)
    北京測繪(2020年12期)2020-12-29 01:33:58
    基于PowerPC+FPGA顯示系統(tǒng)
    基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
    半沸制皂系統(tǒng)(下)
    FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
    連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
    一德系統(tǒng) 德行天下
    PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
    亚洲人成伊人成综合网2020| 国产久久久一区二区三区| 亚洲av.av天堂| 亚洲色图av天堂| 成人美女网站在线观看视频| 一级黄片播放器| 亚洲va在线va天堂va国产| 91麻豆精品激情在线观看国产| 草草在线视频免费看| 搡女人真爽免费视频火全软件 | 精品久久久久久久人妻蜜臀av| 在线观看舔阴道视频| 亚洲最大成人中文| 国产高清不卡午夜福利| 99视频精品全部免费 在线| 12—13女人毛片做爰片一| 国产真实伦视频高清在线观看 | 亚洲天堂国产精品一区在线| av专区在线播放| 又黄又爽又免费观看的视频| 五月伊人婷婷丁香| 观看美女的网站| 国内精品久久久久久久电影| 国产亚洲精品综合一区在线观看| 日本五十路高清| 精品久久国产蜜桃| 非洲黑人性xxxx精品又粗又长| 国产精品电影一区二区三区| 久久久久久九九精品二区国产| 亚洲精品色激情综合| 日本 欧美在线| 成人鲁丝片一二三区免费| 中文字幕av在线有码专区| 免费在线观看影片大全网站| 麻豆国产97在线/欧美| 日韩亚洲欧美综合| 黄色欧美视频在线观看| 成人毛片a级毛片在线播放| 亚洲av免费在线观看| 国模一区二区三区四区视频| 国产综合懂色| 精品不卡国产一区二区三区| 色综合亚洲欧美另类图片| 天美传媒精品一区二区| 亚洲avbb在线观看| 国产亚洲精品综合一区在线观看| 欧美日韩国产亚洲二区| 精品不卡国产一区二区三区| 亚洲自拍偷在线| 极品教师在线免费播放| 最近在线观看免费完整版| 亚洲欧美日韩高清在线视频| 成人高潮视频无遮挡免费网站| 亚洲电影在线观看av| 99久久中文字幕三级久久日本| 听说在线观看完整版免费高清| 色精品久久人妻99蜜桃| 美女高潮的动态| 日日摸夜夜添夜夜添av毛片 | 亚洲精品成人久久久久久| 少妇的逼好多水| 观看美女的网站| 别揉我奶头~嗯~啊~动态视频| 国产精品久久久久久久久免| 欧美潮喷喷水| 亚洲欧美清纯卡通| 亚洲国产精品sss在线观看| 久久精品综合一区二区三区| 变态另类成人亚洲欧美熟女| 三级男女做爰猛烈吃奶摸视频| 国产又黄又爽又无遮挡在线| 国产v大片淫在线免费观看| 男女视频在线观看网站免费| 97超视频在线观看视频| 男人舔奶头视频| 亚洲中文字幕一区二区三区有码在线看| 一区二区三区激情视频| 久久香蕉精品热| 亚洲经典国产精华液单| 国产亚洲精品综合一区在线观看| 成人欧美大片| 久久久久久久亚洲中文字幕| 欧洲精品卡2卡3卡4卡5卡区| 女人被狂操c到高潮| 一级黄片播放器| 很黄的视频免费| 亚洲精品粉嫩美女一区| 能在线免费观看的黄片| 久久久久久久午夜电影| 波多野结衣高清作品| 久久婷婷人人爽人人干人人爱| 成人三级黄色视频| www日本黄色视频网| 日本三级黄在线观看| 麻豆成人午夜福利视频| 色在线成人网| 国产精品久久久久久久电影| 国产一区二区亚洲精品在线观看| 国产综合懂色| 别揉我奶头~嗯~啊~动态视频| 亚洲av日韩精品久久久久久密| 亚洲av不卡在线观看| 色精品久久人妻99蜜桃| 亚洲内射少妇av| 丰满人妻一区二区三区视频av| 午夜a级毛片| 久久久久久九九精品二区国产| 人妻丰满熟妇av一区二区三区| 欧洲精品卡2卡3卡4卡5卡区| 国产伦人伦偷精品视频| 久久精品夜夜夜夜夜久久蜜豆| 欧美激情国产日韩精品一区| 看黄色毛片网站| 久久国产精品人妻蜜桃| 中文在线观看免费www的网站| 国产高清三级在线| 日韩精品中文字幕看吧| 欧美+日韩+精品| 不卡视频在线观看欧美| 久久精品国产亚洲av涩爱 | 免费高清视频大片| 美女免费视频网站| 十八禁网站免费在线| 99国产精品一区二区蜜桃av| 女的被弄到高潮叫床怎么办 | 天堂动漫精品| 久久久久性生活片| 可以在线观看毛片的网站| 熟女电影av网| 欧美性猛交黑人性爽| 最近最新免费中文字幕在线| 久久久久久久精品吃奶| 国产麻豆成人av免费视频| 午夜视频国产福利| 精华霜和精华液先用哪个| av中文乱码字幕在线| 午夜福利高清视频| 三级男女做爰猛烈吃奶摸视频| 中文字幕av在线有码专区| 日本爱情动作片www.在线观看 | 桃红色精品国产亚洲av| 一个人观看的视频www高清免费观看| 亚洲aⅴ乱码一区二区在线播放| 俺也久久电影网| 男女视频在线观看网站免费| 国产成人影院久久av| 成年女人永久免费观看视频| 日韩强制内射视频| 超碰av人人做人人爽久久| 校园人妻丝袜中文字幕| 国模一区二区三区四区视频| 给我免费播放毛片高清在线观看| 欧美色欧美亚洲另类二区| 成人欧美大片| 日韩人妻高清精品专区| 亚洲熟妇熟女久久| 1024手机看黄色片| 国产色婷婷99| 欧美日韩综合久久久久久 | 人人妻,人人澡人人爽秒播| 久久午夜亚洲精品久久| 一区二区三区免费毛片| 嫩草影院精品99| 久久精品综合一区二区三区| 亚洲无线在线观看| 久久久久久久久久黄片| 久久精品国产亚洲av香蕉五月| 国产精品综合久久久久久久免费| 永久网站在线| 永久网站在线| 亚洲专区中文字幕在线| av天堂在线播放| 少妇被粗大猛烈的视频| 久久精品久久久久久噜噜老黄 | 特级一级黄色大片| 精品一区二区三区视频在线观看免费| 亚洲熟妇熟女久久| 日韩 亚洲 欧美在线| 黄色欧美视频在线观看| 国产精品无大码| 日本免费a在线| 亚洲人成伊人成综合网2020| 在线a可以看的网站| 国产真实伦视频高清在线观看 | 国产在视频线在精品| av专区在线播放| 亚洲精品成人久久久久久| 观看美女的网站| 97热精品久久久久久| 日韩欧美国产在线观看| 欧美三级亚洲精品| 最好的美女福利视频网| 嫩草影院入口| 又黄又爽又刺激的免费视频.| 日本黄色视频三级网站网址| 精品一区二区三区人妻视频| 亚洲美女视频黄频| 国产高清激情床上av| 色精品久久人妻99蜜桃| av在线天堂中文字幕| 久久天躁狠狠躁夜夜2o2o| 国产伦人伦偷精品视频| а√天堂www在线а√下载| 国产精品精品国产色婷婷| 亚洲美女黄片视频| 熟女电影av网| 日本免费一区二区三区高清不卡| 国产蜜桃级精品一区二区三区| 亚洲内射少妇av| 丰满乱子伦码专区| 嫩草影院精品99| 狠狠狠狠99中文字幕| 国产精品久久视频播放| 亚洲久久久久久中文字幕| 亚洲欧美日韩高清在线视频| 老熟妇乱子伦视频在线观看| 成年版毛片免费区| ponron亚洲| 免费av毛片视频| www.www免费av| 国产麻豆成人av免费视频| 可以在线观看的亚洲视频| 天堂网av新在线| 老熟妇仑乱视频hdxx| 国产精品精品国产色婷婷| 亚洲欧美激情综合另类| 国产成人一区二区在线| 精品福利观看| 人妻制服诱惑在线中文字幕| 色5月婷婷丁香| h日本视频在线播放| 午夜免费男女啪啪视频观看 | 国产av不卡久久| 最近视频中文字幕2019在线8| www.www免费av| 亚洲欧美激情综合另类| 别揉我奶头 嗯啊视频| 欧美一级a爱片免费观看看| 亚洲国产高清在线一区二区三| av中文乱码字幕在线| 久久中文看片网| 亚洲性夜色夜夜综合| 嫁个100分男人电影在线观看| 很黄的视频免费| 亚洲avbb在线观看| 久久精品国产99精品国产亚洲性色| 精品一区二区三区av网在线观看| 99精品在免费线老司机午夜| 麻豆一二三区av精品| 又黄又爽又免费观看的视频| 久久国产乱子免费精品| 91麻豆精品激情在线观看国产| 久久久精品欧美日韩精品| 日本 欧美在线| 欧洲精品卡2卡3卡4卡5卡区| 成人欧美大片| 精品福利观看| 国产高清视频在线播放一区| 色综合亚洲欧美另类图片| 长腿黑丝高跟| 久久久久性生活片| 久久久精品大字幕| 久久久午夜欧美精品| 亚洲精华国产精华精| 久久人妻av系列| 不卡一级毛片| 中亚洲国语对白在线视频| 成熟少妇高潮喷水视频| 99久久久亚洲精品蜜臀av| 亚洲国产欧美人成| 亚洲欧美日韩高清在线视频| 亚洲真实伦在线观看| 99九九线精品视频在线观看视频| 国产av一区在线观看免费| 天堂av国产一区二区熟女人妻| 精品午夜福利在线看| 久久久成人免费电影| 久久精品国产亚洲av香蕉五月| 亚洲av日韩精品久久久久久密| www.www免费av| 美女高潮的动态| 日韩,欧美,国产一区二区三区 | 欧美丝袜亚洲另类 | av在线亚洲专区| 男女啪啪激烈高潮av片| 男女之事视频高清在线观看| 1024手机看黄色片| 真实男女啪啪啪动态图| 网址你懂的国产日韩在线| 在线免费观看的www视频| 亚洲性夜色夜夜综合| 久久精品国产亚洲网站| 欧美人与善性xxx| 伦理电影大哥的女人| 日本免费一区二区三区高清不卡| 一进一出好大好爽视频| 亚洲最大成人av| 精品无人区乱码1区二区| 美女被艹到高潮喷水动态| 午夜福利18| 免费大片18禁| 免费看av在线观看网站| 三级男女做爰猛烈吃奶摸视频| 日本五十路高清| 长腿黑丝高跟| 99久国产av精品| 国产午夜福利久久久久久| 深夜精品福利| 久久99热这里只有精品18| 国产伦精品一区二区三区视频9| 久久精品夜夜夜夜夜久久蜜豆| 亚洲精品影视一区二区三区av| 一级黄片播放器| 久久久精品大字幕| 国产激情偷乱视频一区二区| 亚洲真实伦在线观看| 色综合站精品国产| 久久国内精品自在自线图片| 亚洲av不卡在线观看| 全区人妻精品视频| 男女做爰动态图高潮gif福利片| 91久久精品国产一区二区成人| 亚洲在线自拍视频| 欧美最黄视频在线播放免费| 久久久久久久久久成人| 亚洲中文字幕日韩| 久久精品人妻少妇| 亚州av有码| 在线免费观看不下载黄p国产 | 亚洲avbb在线观看| 99热精品在线国产| 亚洲av中文av极速乱 | 亚洲美女搞黄在线观看 | 日本免费一区二区三区高清不卡| 国产淫片久久久久久久久| 日韩国内少妇激情av| 国产黄a三级三级三级人| 欧美成人一区二区免费高清观看| 国产真实乱freesex| 成年女人毛片免费观看观看9| av在线亚洲专区| 亚洲成人久久性| 亚洲精品影视一区二区三区av| 成人欧美大片| 国产精品三级大全| 99热这里只有精品一区| 22中文网久久字幕| 人妻少妇偷人精品九色| h日本视频在线播放| 国产精品精品国产色婷婷| 美女cb高潮喷水在线观看| 麻豆成人午夜福利视频| 精品久久久久久成人av| 国产老妇女一区| 国产一区二区三区在线臀色熟女| x7x7x7水蜜桃| 亚洲最大成人中文| 九九久久精品国产亚洲av麻豆| 国产精品嫩草影院av在线观看 | 亚洲最大成人中文| 91午夜精品亚洲一区二区三区 | 色综合亚洲欧美另类图片| 丰满乱子伦码专区| 亚洲国产色片| 欧美一级a爱片免费观看看| 国产精品久久久久久久电影| 亚洲精品粉嫩美女一区| x7x7x7水蜜桃| 中文亚洲av片在线观看爽| 少妇猛男粗大的猛烈进出视频 | 日韩人妻高清精品专区| 亚洲av.av天堂| 超碰av人人做人人爽久久| 亚洲一区高清亚洲精品| 亚洲精品一卡2卡三卡4卡5卡| 亚洲av第一区精品v没综合| 久久久精品大字幕| 精品久久久久久,| 久久久精品欧美日韩精品| 一本久久中文字幕| 婷婷丁香在线五月| 亚洲经典国产精华液单| 亚洲成人中文字幕在线播放| 国产精品女同一区二区软件 | 国产视频内射| 国产精品永久免费网站| ponron亚洲| 深夜精品福利| 亚洲精品成人久久久久久| 国产精品一区二区性色av| 午夜影院日韩av| 亚洲美女视频黄频| 欧美一区二区亚洲| 成年人黄色毛片网站| 精品午夜福利视频在线观看一区| 久久久久性生活片| 国产国拍精品亚洲av在线观看| 嫩草影院新地址| 日本一二三区视频观看| 一级av片app| 18+在线观看网站| 中文字幕av成人在线电影| 嫩草影院入口| 久久精品国产亚洲av天美| 久久香蕉精品热| 欧美黑人欧美精品刺激| 亚洲欧美日韩高清专用| 我要看日韩黄色一级片| 99在线人妻在线中文字幕| 在线免费十八禁| 日韩大尺度精品在线看网址| 成人精品一区二区免费| 白带黄色成豆腐渣| 久久欧美精品欧美久久欧美| 天天一区二区日本电影三级| 12—13女人毛片做爰片一| 欧美日韩国产亚洲二区| 搡老熟女国产l中国老女人| 人人妻,人人澡人人爽秒播| 久久国内精品自在自线图片| 色综合婷婷激情| 亚洲精品成人久久久久久| 男插女下体视频免费在线播放| 国产av一区在线观看免费| 亚洲自拍偷在线| 精品免费久久久久久久清纯| 亚洲一区高清亚洲精品| 婷婷亚洲欧美| 亚洲精品日韩av片在线观看| 最近中文字幕高清免费大全6 | 日韩欧美免费精品| 免费看日本二区| 日韩精品青青久久久久久| av在线天堂中文字幕| 亚洲欧美精品综合久久99| 国产精品国产高清国产av| 亚洲国产欧洲综合997久久,| 国产精品美女特级片免费视频播放器| 国产午夜精品论理片| 久久精品夜夜夜夜夜久久蜜豆| 欧美黑人巨大hd| 特级一级黄色大片| 国产免费av片在线观看野外av| 亚洲欧美清纯卡通| 老熟妇乱子伦视频在线观看| 国产男人的电影天堂91| 久久精品国产亚洲网站| 色综合色国产| 丰满的人妻完整版| 成人无遮挡网站| 最近最新中文字幕大全电影3| 男女啪啪激烈高潮av片| 欧美一区二区亚洲| 麻豆成人午夜福利视频| 精品人妻熟女av久视频| 国产探花在线观看一区二区| 国产爱豆传媒在线观看| 黄片wwwwww| 国产三级中文精品| a级毛片免费高清观看在线播放| 成人亚洲精品av一区二区| 一区二区三区高清视频在线| 欧美性猛交黑人性爽| 日本 欧美在线| 免费观看精品视频网站| 99久久久亚洲精品蜜臀av| 美女黄网站色视频| 中亚洲国语对白在线视频| 中文字幕人妻熟人妻熟丝袜美| 亚洲专区中文字幕在线| 国产一区二区亚洲精品在线观看| 午夜老司机福利剧场| 亚洲不卡免费看| 欧美三级亚洲精品| 精品乱码久久久久久99久播| 日韩高清综合在线| 精品久久久久久久久久久久久| 婷婷精品国产亚洲av| 亚洲成人精品中文字幕电影| 少妇猛男粗大的猛烈进出视频 | 亚洲成人久久性| 在线观看午夜福利视频| 国内少妇人妻偷人精品xxx网站| 久久午夜亚洲精品久久| 九九在线视频观看精品| 一进一出抽搐动态| 国产 一区精品| 夜夜夜夜夜久久久久| 最新中文字幕久久久久| 亚洲精品乱码久久久v下载方式| 亚洲成人精品中文字幕电影| 级片在线观看| 亚洲美女视频黄频| 女的被弄到高潮叫床怎么办 | 少妇人妻精品综合一区二区 | 久久九九热精品免费| 亚洲欧美日韩东京热| 十八禁网站免费在线| 少妇人妻精品综合一区二区 | 又粗又爽又猛毛片免费看| 我要搜黄色片| 国产在视频线在精品| 日韩人妻高清精品专区| 超碰av人人做人人爽久久| 天堂网av新在线| 免费不卡的大黄色大毛片视频在线观看 | 少妇猛男粗大的猛烈进出视频 | 搡老熟女国产l中国老女人| 国产黄a三级三级三级人| 蜜桃久久精品国产亚洲av| АⅤ资源中文在线天堂| 国产欧美日韩精品一区二区| 亚洲av.av天堂| 中文资源天堂在线| 亚洲一级一片aⅴ在线观看| 亚洲午夜理论影院| 国产精品精品国产色婷婷| 一卡2卡三卡四卡精品乱码亚洲| 97超视频在线观看视频| 国产又黄又爽又无遮挡在线| 国产主播在线观看一区二区| 成熟少妇高潮喷水视频| 婷婷色综合大香蕉| 在线播放国产精品三级| 久久久久久久久久黄片| 黄色丝袜av网址大全| 综合色av麻豆| 久久久久久久久中文| 十八禁网站免费在线| 真实男女啪啪啪动态图| 亚洲专区中文字幕在线| 亚洲av不卡在线观看| 久久精品国产自在天天线| 美女 人体艺术 gogo| 国产伦精品一区二区三区视频9| 欧美国产日韩亚洲一区| 久久热精品热| 色尼玛亚洲综合影院| 日本 av在线| 可以在线观看的亚洲视频| 久久热精品热| 亚洲精品影视一区二区三区av| 亚洲精品一卡2卡三卡4卡5卡| 日本a在线网址| 少妇熟女aⅴ在线视频| 国产私拍福利视频在线观看| 国产伦在线观看视频一区| 国产精品女同一区二区软件 | 国产成人福利小说| 欧美潮喷喷水| 最近最新免费中文字幕在线| av天堂中文字幕网| 欧美xxxx性猛交bbbb| 男女啪啪激烈高潮av片| 99精品久久久久人妻精品| eeuss影院久久| 日本三级黄在线观看| 亚洲狠狠婷婷综合久久图片| 中文资源天堂在线| or卡值多少钱| 日韩,欧美,国产一区二区三区 | 男人的好看免费观看在线视频| av在线观看视频网站免费| 国产 一区 欧美 日韩| 国产精品自产拍在线观看55亚洲| 一区二区三区激情视频| 中出人妻视频一区二区| 精品久久国产蜜桃| 国产乱人伦免费视频| 欧美xxxx性猛交bbbb| 99热网站在线观看| 国产亚洲精品av在线| 久久国内精品自在自线图片| 3wmmmm亚洲av在线观看| 赤兔流量卡办理| 18禁裸乳无遮挡免费网站照片| 国产真实伦视频高清在线观看 | 日韩欧美免费精品| 1000部很黄的大片| 欧美国产日韩亚洲一区| 俄罗斯特黄特色一大片| 国产免费一级a男人的天堂| 亚洲av不卡在线观看| 久久久久久大精品| 日本黄色视频三级网站网址| 色av中文字幕| 综合色av麻豆| 精品一区二区三区视频在线观看免费| 蜜桃亚洲精品一区二区三区| 99久久中文字幕三级久久日本| 国产av麻豆久久久久久久| 九九热线精品视视频播放| 亚洲在线观看片| 欧美最黄视频在线播放免费| av在线蜜桃| 午夜老司机福利剧场| 黄色欧美视频在线观看| 不卡一级毛片| 哪里可以看免费的av片| 免费在线观看日本一区| 一区福利在线观看| 亚洲欧美日韩高清专用| 在线天堂最新版资源| 69av精品久久久久久| av专区在线播放| 国内揄拍国产精品人妻在线| 亚洲人成伊人成综合网2020| 欧美三级亚洲精品| 一夜夜www| 91狼人影院| 午夜亚洲福利在线播放| 亚洲专区中文字幕在线| 性欧美人与动物交配| 亚洲av日韩精品久久久久久密| 亚洲性久久影院|