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

    區(qū)塊鏈礦池網(wǎng)絡及典型攻擊方式綜述

    2024-01-18 13:56:48倪雪莉馬卓王群
    計算機工程 2024年1期

    倪雪莉,馬卓,王群

    (1.江蘇警官學院計算機信息與網(wǎng)絡安全系,江蘇南京 210031;2.江蘇省電子數(shù)據(jù)取證分析工程研究中心,江蘇南京 210031;3.南京信息工程大學計算機學院、網(wǎng)絡空間安全學院,江蘇 南京 210044)

    0 引言

    區(qū)塊鏈技術因比特幣(BTC)在全球的持續(xù)升溫而引起廣泛關注,因其具有的去中心化、自治性、開放性、匿名性、防篡改等特征[1],不但成為構(gòu)建各類加密數(shù)字貨幣的基石,而且應用已向著金融、物聯(lián)網(wǎng)、數(shù)字版權(quán)保護、醫(yī)療、政務等眾多領域快速拓展,并正在對傳統(tǒng)行業(yè)產(chǎn)生沖擊和變革。

    比特幣創(chuàng)造了去中心化加密數(shù)字貨幣的神話,區(qū)塊鏈技術確保了比特幣在發(fā)行、應用、管理等各個環(huán)節(jié)的安全性。共識機制[2-3]保證了區(qū)塊鏈系統(tǒng)中數(shù)據(jù)的一致性和不可篡改性,比特幣系統(tǒng)利用基于哈希函數(shù)求解問題的工作量證明(PoW)[4]共識算法實現(xiàn)了交易的安全性。在基于PoW 共識的區(qū)塊鏈系統(tǒng)中,礦工(挖礦節(jié)點)以消耗算力解決特定哈希函數(shù)的求解問題來生成新區(qū)塊,此過程稱為挖礦。當某一礦工挖到一個新區(qū)塊時,為了獲取系統(tǒng)的獎勵(當前為6.25 BTC)和手續(xù)費(打包進該區(qū)塊的所有交易交納的手續(xù)費),需要將該區(qū)塊盡快廣播給其他礦工,當其他正在挖礦的礦工接收到一個新區(qū)塊時,立即對其合法性進行驗證,驗證通過后將其鏈接到正在挖礦的區(qū)塊后面,并在該區(qū)塊基礎上繼續(xù)挖下一個區(qū)塊。采用PoW 共識算法的挖礦機制,其挖礦難度隨網(wǎng)絡中算力的增加不斷上升,獨立礦工受算力限制挖礦成功的概率急劇下降[5]。在此情況下,為了獲得穩(wěn)定的挖礦收益,原來獨立的礦工在相應協(xié)議的支持下有機組織起來,形成了共同參與挖礦的礦池。

    礦池的出現(xiàn)打破了區(qū)塊鏈已有的完全去中心化機制,出現(xiàn)了物理上的局部中心化網(wǎng)絡或邏輯上的中心化擴展網(wǎng)絡。雖然代表礦池的中心化網(wǎng)絡對外仍然以單一節(jié)點(礦池節(jié)點)呈現(xiàn),但礦池網(wǎng)絡內(nèi)部不同節(jié)點之間需要在礦池網(wǎng)絡協(xié)議的協(xié)調(diào)下有序工作。遠遠超出單一礦工節(jié)點算力的礦池的出現(xiàn)破壞了傳統(tǒng)PoW 算法的公平性,進而影響了區(qū)塊鏈的安全性[6],攻擊者借助于區(qū)塊鏈固有運行機制對礦池環(huán)境的不適應性以及區(qū)塊鏈網(wǎng)絡存在的安全風險,攻擊礦池網(wǎng)絡甚至威脅整個區(qū)塊鏈系統(tǒng)的安全。

    近年來,隨著區(qū)塊鏈技術的發(fā)展和應用領域的不斷拓展,學術界和工業(yè)界加快了區(qū)塊鏈關鍵技術的研究步伐和應用創(chuàng)新進程,但系統(tǒng)分析區(qū)塊鏈網(wǎng)絡尤其是礦池網(wǎng)絡的研究成果較少且不聚焦。在國外研究方面:文獻[7]提出一個用于分析礦池中獎勵共享的概念框架,該框架以礦池中報告的有效工作量證明(share)為中心,通過提出的絕對再分配和相對再分配兩個新的標準優(yōu)化了礦池礦工的獎勵共享機制;文獻[8]針對PoW 礦池挖礦可能存在的運營成本超出挖礦回報的風險,利用破產(chǎn)理論和保險風險分擔方法對礦池風險進行研究,并提出幾個明確的風險計算公式;文獻[9]針對礦池對區(qū)塊鏈去中心化機制產(chǎn)生的負面影響,提出一個優(yōu)化分析模型和可降低風險的計算工具。在國內(nèi)研究方面:文獻[10]在對礦池結(jié)構(gòu)進行分析的基礎上,提出一種衡量礦工計算效率的數(shù)值模型(MENM)以及基于該模型實現(xiàn)對礦池中單個礦工難度的性能優(yōu)化機制(DDCT),以提高礦池效率;文獻[11]針對礦池算力和獎勵機制對礦工的影響,提出一個基于風險決策準則的礦池選擇算法;文獻[12]通過對基于PoW 共識機制礦池挖礦困境的博弈均衡分析,提出利用零行列式(ZD)來優(yōu)化挖礦策略的具體算法,并通過仿真方法驗證了算法的有效性。通過對以上成果的梳理分析可以看出,隨著加密數(shù)字貨幣的迅猛發(fā)展,針對礦池挖礦的研究成為當前及未來的研究熱點和重點?,F(xiàn)有研究主要基于礦池的經(jīng)濟激勵機制,就挖礦中的收益分配提出更加優(yōu)化的算法和策略,而系統(tǒng)分析礦池網(wǎng)絡體系結(jié)構(gòu)和協(xié)議的成果較少。

    礦池網(wǎng)絡是在區(qū)塊鏈對等(P2P)網(wǎng)絡基礎上通過礦池協(xié)議構(gòu)建的一個實現(xiàn)眾多礦工聯(lián)合挖礦的分布式網(wǎng)絡,礦池網(wǎng)絡同時面臨傳統(tǒng)P2P 網(wǎng)絡和專門針對礦池網(wǎng)絡的安全威脅。本文的工作主要集中在:1)對區(qū)塊鏈P2P 網(wǎng)絡進行系統(tǒng)分析,這是區(qū)塊鏈網(wǎng)絡的核心;2)詳細討論了礦池網(wǎng)絡的組成及主要協(xié)議,這是分析礦池挖礦的關鍵;3)對礦池網(wǎng)絡中存在的典型安全攻擊方式進行探討,這是有效保障和系統(tǒng)掌握礦池挖礦技術的基礎。在此基礎上,對礦池網(wǎng)絡的未來發(fā)展進行展望。

    1 區(qū)塊鏈P2P 網(wǎng)絡

    圖1 給出了礦池網(wǎng)絡的研究架構(gòu),本節(jié)重點對區(qū)塊鏈P2P 網(wǎng)絡進行分析。在區(qū)塊鏈系統(tǒng)中,P2P網(wǎng)絡是實現(xiàn)不同節(jié)點之間通信的基礎設施,也是構(gòu)建礦池網(wǎng)絡的基礎平臺。P2P 網(wǎng)絡是構(gòu)建在TCP/IP 體系之上的覆蓋網(wǎng)絡[13],而礦池網(wǎng)絡是構(gòu)建在P2P 網(wǎng)絡之上的擴展網(wǎng)絡,P2P 網(wǎng)絡是礦池網(wǎng)絡的基礎。

    圖1 礦池網(wǎng)絡的研究架構(gòu)Fig.1 Research architecture of mining pool network

    1.1 P2P 網(wǎng)絡模型

    在P2P 網(wǎng)絡中,根據(jù)通信需要每一個節(jié)點的身份可在客戶端與服務器之間進行動態(tài)轉(zhuǎn)換。結(jié)合P2P 網(wǎng)絡技術和應用發(fā)展,考慮到P2P 網(wǎng)絡中節(jié)點頻繁加入和退出這一特征,本節(jié)重點從網(wǎng)絡服務過程中的路由選擇策略設計出發(fā),主要針對新節(jié)點加入后鄰居節(jié)點的發(fā)現(xiàn)機制,將P2P 網(wǎng)絡模型分為集中式、分布式、混合式、結(jié)構(gòu)化4 種類型進行比較研究。

    集中式模型是為了適應互聯(lián)網(wǎng)多媒體應用而較早出現(xiàn)的P2P 網(wǎng)絡模型,是一種中心化的網(wǎng)絡服務模型。集中式P2P 網(wǎng)絡模型如圖2(a)所示,信息索引服務器中保存著資源節(jié)點的索引信息(主要包括節(jié)點IP 地址、資源訪問端口、資源名稱等),用戶通過信息索引服務器查詢到所要訪問的資源地址后,再點對點傳輸資源內(nèi)容。如圖2(b)所示,分布式模型是一種節(jié)點之間按需動態(tài)連接的隨機P2P 網(wǎng)絡模型,新節(jié)點加入后的鄰居發(fā)現(xiàn)是分布式模型需要重點解決的問題,以比特幣系統(tǒng)為例,新節(jié)點的發(fā)現(xiàn)主要采取3 種方式:1)采用DNS 查詢(由比特幣社區(qū)成員維護DNS 種子,如dnsseed.bluematt.me、seed.bitcoinstats.com 等;2)采用硬編碼方式將一些穩(wěn)定節(jié)點作為種子提供給新節(jié)點;3)采用消息泛洪方式將要查詢的內(nèi)容發(fā)送到整個網(wǎng)絡,直至找到所需要的內(nèi)容為止,其中可采用生存時間(TTL)來限制消息在網(wǎng)絡中的傳播范圍。如圖2(c)所示,混合式模型是集中式和分布式模型的混合體,網(wǎng)絡中的節(jié)點由超級節(jié)點(SN)和普通節(jié)點組成,其中超級節(jié)點為新節(jié)點加入提供服務,新節(jié)點選擇一個能夠提供優(yōu)質(zhì)服務的超級節(jié)點作為其父節(jié)點。結(jié)構(gòu)化模型也是一種分布式模型,但如圖2(b)所示的分布式模型中的節(jié)點組織具有隨機性,代表的是一種隨機網(wǎng)絡,而結(jié)構(gòu)化模型中的所有節(jié)點是按照特定結(jié)構(gòu)(如樹狀結(jié)構(gòu)、環(huán)狀結(jié)構(gòu)等)進行有序管理。分布式哈希表(DHT)[14]是分布式計算系統(tǒng)中的一種類型,主要用于創(chuàng)建各種點對點通信服務。DHT 作為一種分布式數(shù)據(jù)庫,用Key/Value 對來存儲數(shù)據(jù),例如用Key 存放文件名,用Value 存放保存該文件的節(jié)點IP 地址,節(jié)點可以利用Key 在數(shù)據(jù)庫中查找對應的Value 值。DHT 的具體實現(xiàn)有多種方式,如圖2(d)所示的是基于環(huán)形DHT 的結(jié)構(gòu)化模型,其中每個節(jié)點只知道與其相連的前后節(jié)點的信息。

    圖2 P2P 網(wǎng)絡的4 類典型模型Fig.2 Four typical models of P2P networks

    為了便于對比分析,表1 對4 類模型分別從中心化程度、優(yōu)缺點、典型應用等方面進行比較。需要說明的是:表1 中的中心化程度主要針對節(jié)點之間的路由發(fā)現(xiàn)過程,而P2P 網(wǎng)絡中的數(shù)據(jù)傳輸仍然使用分布式環(huán)境中的去中心化機制。

    表1 不同P2P 網(wǎng)絡模型的主要性能比較Table 1 Comparison of the main performance of different P2P network models

    1.2 區(qū)塊鏈系統(tǒng)中的P2P 網(wǎng)絡

    目前,區(qū)塊鏈的主流應用主要集中在公有鏈中的比特幣和以太坊以及聯(lián)盟鏈中的超級賬本,本節(jié)主要針對以上3 種典型應用場景,重點從節(jié)點發(fā)現(xiàn)、節(jié)點功能、信息交互等方面分析P2P 網(wǎng)絡的特征。

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

    比特幣系統(tǒng)中的P2P 網(wǎng)絡構(gòu)建在TCP 協(xié)議上,信息在節(jié)點之間采用明文方式傳輸。在新節(jié)點加入后,主要通過DNS 種子、硬編碼種子節(jié)點和消息泛洪3 種方式發(fā)現(xiàn)鄰居節(jié)點,一個全新的節(jié)點可以通過啟用DNS 種子查詢機制從DNS 服務器處獲得特定節(jié)點的信息,也可以在節(jié)點啟動時自動加載硬編碼種子節(jié)點信息。當節(jié)點接入后會將發(fā)現(xiàn)的鄰居節(jié)點地址信息以LevelDB 格式保存在本地peers.dat 數(shù)據(jù)庫中,當節(jié)點啟動時由address manager 命令載入。另外,當新節(jié)點加入網(wǎng)絡后,可以通過Net.AdvertiseLocal()命令以“推”的方式將自己的地址信息推送給其他節(jié)點,也可以通過Net.GetAddresses()命令以“拉”的方式從鄰居節(jié)點獲取地址以擴充自己的地址庫。

    目前,出于IP 地址匱乏和安全需要,大部分機構(gòu)的內(nèi)部網(wǎng)絡使用私有IP 地址,在網(wǎng)絡出口處通過網(wǎng)絡地址轉(zhuǎn)換(NAT)服務實現(xiàn)私有IP 地址與公用IP地址之間的映射。比特幣系統(tǒng)使用了通用即插即用(UPnP)協(xié)議實現(xiàn)內(nèi)外網(wǎng)節(jié)點之間的通信。

    在區(qū)塊鏈系統(tǒng)中,每個P2P 網(wǎng)絡節(jié)點分別是承擔不同功能的一類特殊計算機,是實現(xiàn)區(qū)塊鏈分布式賬本技術、去中心化機制和保證區(qū)塊鏈系統(tǒng)安全性與可靠性的基礎。比特幣系統(tǒng)中的節(jié)點提供了錢包、礦工、完整區(qū)塊鏈、網(wǎng)絡路由4 類典型功能,其中所有P2P 網(wǎng)絡節(jié)點都具有網(wǎng)絡路由功能,另外,將同時擁有4 類功能的節(jié)點稱為比特幣核心。全節(jié)點擁有完整的區(qū)塊鏈賬本數(shù)據(jù),能夠獨立校驗區(qū)塊鏈上的所有交易并實時更新數(shù)據(jù)。輕量級節(jié)點或簡易支付驗證(SPV)[25]節(jié)點只存儲了區(qū)塊鏈頭數(shù)據(jù)。比特幣核心錢包是全節(jié)點,其他大部分錢包都是輕量級節(jié)點。獨立礦工是存儲了完整區(qū)塊鏈數(shù)據(jù)的礦工。

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

    以太坊的許多開發(fā)思想和實現(xiàn)思路來源于比特幣,其中以太坊系統(tǒng)中的P2P 網(wǎng)絡也是在借鑒了比特幣網(wǎng)絡基礎上的進一步優(yōu)化和改進。出于安全考慮,以太坊系統(tǒng)中的P2P 網(wǎng)絡采用了安全加密方式。

    以太坊是基于DHT 技術的結(jié)構(gòu)化P2P 網(wǎng)絡,通過Kademlia(簡稱為Kad)協(xié)議來維護每個節(jié)點列表。具體而言,Kad 網(wǎng)絡使用DHT 來定位資源,通過共同維護的路由表實現(xiàn)在分布式環(huán)境中快速準確地定位目標節(jié)點。當使用UDP 協(xié)議定位到目標節(jié)點后,再通過TCP 協(xié)議傳輸數(shù)據(jù),而且數(shù)據(jù)在傳輸過程中經(jīng)過了加密處理。新節(jié)點使用類似于比特幣系統(tǒng)中的硬編碼種子方式接入P2P 網(wǎng)絡,在節(jié)點接入網(wǎng)絡后,會將發(fā)現(xiàn)的節(jié)點以LevelDB 格式保存在本地的地址數(shù)據(jù)庫中[26],在節(jié)點啟動時使用LoadSeedNodes()方式連同種子節(jié)點一并載入,形成較為完整的路由信息表[27]。但是,與比特幣系統(tǒng)不同的是,Kad 網(wǎng)絡的每個節(jié)點都擁有全網(wǎng)唯一的節(jié)點ID,所以以太坊中不存在節(jié)點之間用于廣播地址信息的泛洪機制。

    根據(jù)2023 年7 月Ethernodes 網(wǎng)站統(tǒng)計,國內(nèi)以太坊節(jié)點數(shù)僅有8 個,僅占全球的0.1%,如此少的節(jié)點增加了國內(nèi)以太坊用戶區(qū)塊同步的時間。為了有效解決這一問題,以太坊中文技術社區(qū)EthFans 曾發(fā)起“星火節(jié)點計劃”,希望國內(nèi)對以太坊項目感興趣的組織和個人能夠運行超級節(jié)點。EthFans 會將所有加入該計劃的超級節(jié)點列表信息生成一個staticnodes.json 格式的靜態(tài)節(jié)點文件,用戶節(jié)點只需要將該靜態(tài)節(jié)點文件加入個人錢包就可以連接到超級節(jié)點,加快區(qū)塊的同步速度。

    與比特幣系統(tǒng)一樣,以太坊節(jié)點主要負責交易和區(qū)塊的接收與驗證、交易處理、挖礦、共識、路由等功能,主要分為全節(jié)點、輕節(jié)點和歸檔節(jié)點3 種類型。全節(jié)點擁有完整的區(qū)塊鏈賬本信息,具備對交易的有效性進行獨立驗證的能力。礦工必須是全節(jié)點。輕節(jié)點只需要存儲區(qū)塊頭數(shù)據(jù),以最少的狀態(tài)信息來發(fā)送和傳遞交易數(shù)據(jù)。歸檔節(jié)點在全節(jié)點的基礎上,還存儲了每個區(qū)塊的高度值等狀態(tài)信息,以便于快速定位到某個指定的區(qū)塊。

    1.2.3 超級賬本中的P2P 網(wǎng)絡

    比特幣和以太坊是加密數(shù)字貨幣的典型代表,超級賬本的出現(xiàn)使區(qū)塊鏈技術開始應用于更廣泛的領域,尤其為各類企業(yè)級應用提供了新的解決方案。本節(jié)以Hyperledger Fabric 為例進行分析。Fabric 是一個支持準入機制的分布式賬本方案開發(fā)平臺,通過基于模塊化架構(gòu)的共識算法、加密機制、智能合約、身份認證等可擴展組件,為不同復雜場景中的企業(yè)級應用提供了一個通用的底層基礎服務框架。

    Fabric 使用Gossip 協(xié)議[28-29]實現(xiàn)P2P 網(wǎng)絡節(jié)點之間的通信,該P2P 網(wǎng)絡構(gòu)建在HTTP/2 之上。Gossip 協(xié)議的設計靈感來自傳染病感染和社會謠言傳播機制,即在復雜的環(huán)境中通過消息的隨機傳播實現(xiàn)最終的一致性。Gossip 協(xié)議的主要特征為:在一個網(wǎng)絡域內(nèi),其中一個節(jié)點在接收到一條信息后,會將該信息發(fā)送給隨機選擇的k個節(jié)點,持續(xù)此過程,直至所有節(jié)點中的信息達成最終一致。此過程雖然顯得混亂,而且會產(chǎn)生大量冗余信息,但可以確保網(wǎng)絡域內(nèi)各節(jié)點對某一時間點之前的信息在一定時間內(nèi)達成最終的一致。在Fabric 中,Gossip 協(xié)議負責發(fā)現(xiàn)新節(jié)點、更新節(jié)點列表、去除離線節(jié)點等操作。由于Fabric 主要提供企業(yè)級服務,而企業(yè)級網(wǎng)絡中一般擁有一套較為規(guī)范的用戶管理系統(tǒng),因此Gossip 協(xié)議為每個節(jié)點提供了一個配置文件來配置節(jié)點啟動后可聯(lián)系的其他節(jié)點信息,而沒有使用比特幣和以太坊中的種子節(jié)點和泛洪機制。

    在Fabric 1.0 中,根據(jù)實現(xiàn)功能的不同,可以將節(jié)點主要分為排序(Orderer)、背書(Endorser)和記賬(Committer)節(jié)點,不同節(jié)點之間的操作流程示意圖如圖3所示(彩色效果見《計算機工程》官網(wǎng)HTML 版,下同),為描述方便,同類節(jié)點在圖中僅標出1個。

    圖3 Fabric 中節(jié)點之間的信息交互流程Fig.3 Procedure of information interaction between nodes in a Fabric

    1)背書請求??蛻舳耍–lient)產(chǎn)生交易,并用自己的私鑰對交易進行簽名,然后將交易和對應的簽名信息按規(guī)定格式打包后發(fā)送給背書節(jié)點。

    2)背書驗證。背書節(jié)點對交易信息的身份合法性和交易內(nèi)容的正確性進行驗證,通過驗證后,背書節(jié)點用自己的私鑰對背書結(jié)果進行背書簽名,然后按照規(guī)定格式打包后返還給客戶端。

    3)交易提交。客戶端在收到背書結(jié)果后驗證其正確性,驗證通過后對交易和背書結(jié)果進行簽名,然后打包發(fā)送給排序節(jié)點。

    4)交易打包。排序節(jié)點驗證客戶端簽名的合法性,驗證通過后對交易進行排序(在交易量較大的Fabric 系統(tǒng)中,可采用Kafka[30]集群對交易進行排序),當滿足出塊策略(如達到出塊時間、交易數(shù)量達到了出塊要求等)時,則將交易打包進區(qū)塊,并對區(qū)塊進行簽名后發(fā)送給記賬節(jié)點。

    5)節(jié)點記賬。記賬節(jié)點在接收到區(qū)塊數(shù)據(jù)后,對區(qū)塊以及區(qū)塊中的交易進行驗證,其中交易驗證主要驗證交易是否滿足背書策略以及交易的讀寫集版本是否正確等。在驗證通過后,執(zhí)行交易內(nèi)容,然后將區(qū)塊鏈接到本地區(qū)塊鏈。

    在以上操作過程中,Gossip 協(xié)議負責除客戶端之外的其他節(jié)點之間的通信,實現(xiàn)從單一源節(jié)點到多個目標節(jié)點之間數(shù)據(jù)的高效分發(fā),同時在后臺實現(xiàn)不同節(jié)點之間的數(shù)據(jù)同步,而且可以處理網(wǎng)絡中的拜占庭問題和網(wǎng)絡分區(qū),并能夠適應節(jié)點頻繁加入和退出網(wǎng)絡的需要。

    在P2P 網(wǎng)絡中,衡量網(wǎng)絡性能的主要指標體現(xiàn)在通信協(xié)議(TCP 或UDP)、是否采用加密機制、節(jié)點發(fā)現(xiàn)機制、節(jié)點之間的組網(wǎng)方式以及節(jié)點加入系統(tǒng)時的準入機制(是否需要進行身份驗證)等方面。為便于系統(tǒng)掌握P2P 網(wǎng)絡的運行機理及特點,表2 對3 種典型應用場景中P2P 網(wǎng)絡的主要性能進行綜合比較。

    表2 3 種典型應用場景中的P2P 網(wǎng)絡主要性能比較Table 2 Comparison of the main P2P network performance in three typical application scenarios

    2 礦池網(wǎng)絡

    2.1 礦池、礦場與礦池網(wǎng)絡

    礦池是一個由多個獨立礦工(或礦機)組成的專用網(wǎng)絡,目的是通過聯(lián)合單個礦工的算力共同參與挖礦過程[31-32]。為了進一步降低挖礦成本,提高挖礦效率,可以將一定數(shù)量的礦機集中在一起(如一個設備機房)進行管理,從而形成礦場。礦池是一個邏輯上的集合,組成礦池的礦機可以分布在不同的地理位置甚至是不同地區(qū)或國家,礦工只需要經(jīng)申請注冊后就可以加入礦池,并在礦池網(wǎng)絡協(xié)議的協(xié)調(diào)下進行挖礦。礦場是一個物理上的集合,組成礦場的礦機需要集中在一個相對固定的地方進行統(tǒng)一管理。

    隨著BTC、以太坊(ETH)、萊特幣(LTC)、泰達幣(USDT)等加密數(shù)字貨幣的全球影響力不斷增強,全網(wǎng)的算力也在快速提升,單一礦工在算法競爭中勝出的可能性逐漸減小。在此情況下,獨立礦工傾向于加入礦池,將眾多節(jié)點的算力進行合并運行,從而形成礦工聯(lián)盟,以抱團挖礦的形式減少收入差距并獲得相對穩(wěn)定的挖礦收益。在此機制中,不論單個節(jié)點的算力大小,只要能夠加入礦池參與共同挖礦,都可以根據(jù)對礦池資源的整體貢獻度來獲得收益。以比特幣系統(tǒng)為例,目前主要的礦池有BTC.com、Poolin、AntPool、F2Pool 等。

    區(qū)塊鏈系統(tǒng)中的挖礦是指節(jié)點根據(jù)共識算法生成區(qū)塊的過程,凡是參與挖礦的節(jié)點都稱為礦工。在基于算力競爭的區(qū)塊鏈系統(tǒng)中,超強的全網(wǎng)算力競爭有限的區(qū)塊記賬權(quán),致使單個設備或有限的算力在競爭中獲得記賬獎勵的機會微乎其微。以比特幣系統(tǒng)為例,系統(tǒng)每10 min 生成1 個區(qū)塊,成功挖出該區(qū)塊的礦工將獲得一定數(shù)額的比特幣(當前為6.25 BTC)獎勵,礦工獲得獎勵的概率與設備算力的大小成正比。在此情況下,當算力相差不大的眾多礦工競爭數(shù)量極其有限的區(qū)塊記賬權(quán)時,成功概率幾乎接近于0。在眾多礦工聯(lián)合形成礦池后,會在礦池中確定一位礦池管理員(礦池管理員會收取一定比例的手續(xù)費),在挖到區(qū)塊后,首先將出塊獎勵保存于代表礦池擁有者的比特幣錢包,然后由該礦池管理員負責對所獲得的獎勵根據(jù)貢獻度進行再次分配。在此過程中,每個礦工無論是否挖出了有效區(qū)塊,都會得到相應的獎勵,實現(xiàn)挖礦過程的利益均沾。在礦池挖礦過程中,礦池管理員會向每個參與挖礦的礦池礦工下發(fā)一個難度值低于全網(wǎng)難度值的工作量,礦工在求得該share 后提交給礦池管理員,再由礦池管理員驗證該share 是否滿足全網(wǎng)難度值證明,因為滿足低難度值的share 有可能滿足全網(wǎng)難度值證明。在此過程中,當?shù)V工提交的低難度值證明share 不符合全網(wǎng)難度值證明要求時,其結(jié)果對礦池挖礦是沒有意義的,只能作為礦池管理員評估其工作量的依據(jù)。

    礦池網(wǎng)絡是利用相關協(xié)議和管理方式構(gòu)建在區(qū)塊鏈上的分布式系統(tǒng),基于功能實現(xiàn),礦池網(wǎng)絡主要由位于中心節(jié)點的礦池服務器和分布在礦池服務器周邊的眾多礦池礦工組成。礦池服務器是整個礦池網(wǎng)絡的核心,一方面負責與礦池礦工聯(lián)系進行聯(lián)合挖礦,另一方面負責與礦池網(wǎng)絡之外的其他區(qū)塊鏈節(jié)點進行通信,共享挖礦信息,參與挖礦競爭。例如,當?shù)V池挖出一個區(qū)塊后,需要通過礦池服務器盡快向礦池網(wǎng)絡之外的全網(wǎng)其他節(jié)點進行廣播,以便獲得區(qū)塊的記賬權(quán)進而獲得系統(tǒng)的獎勵。在礦池網(wǎng)絡中,礦池礦工和礦池服務器之間的通信并沒有使用區(qū)塊鏈系統(tǒng)(如比特幣、以太坊等)中的P2P 網(wǎng)絡協(xié)議,而是使用專門開發(fā)的礦池網(wǎng)絡協(xié)議。但是,作為全節(jié)點的礦池服務器在與區(qū)塊鏈系統(tǒng)中的其他節(jié)點(如獨立礦工、其他礦池服務器等)進行通信時使用通用的區(qū)塊鏈P2P 網(wǎng)絡協(xié)議或?qū)iT用于加快區(qū)塊在不同礦工或礦池服務器之間傳播的比特幣中繼網(wǎng)絡[33]。礦池網(wǎng)絡示意圖如圖4 所示。

    圖4 區(qū)塊鏈礦池網(wǎng)絡示意圖Fig.4 Schematic diagram of blockchain mining pool network

    2.2 礦池網(wǎng)絡協(xié)議

    礦池通過專有的礦池網(wǎng)絡協(xié)議來協(xié)調(diào)礦工之間的操作,動態(tài)調(diào)用并分配各礦工提供的資源,礦工在建立礦池賬號后將利用該賬號將礦機連接到礦池服務器。當?shù)V機在線運行挖礦程序時,需要實時保持與礦池服務器之間的連接以及與其他礦工之間操作上的同步。常用的礦池協(xié)議包括GetWork(簡稱為GWK)協(xié)議、GetBlockTemplate(簡稱為GBT)協(xié)議和Stratum(簡稱為STM)協(xié)議。

    2.2.1 GetWork 協(xié)議

    挖礦是一個算法運算過程,對于PoW 共識算法來說是反復執(zhí)行哈希函數(shù)并檢測執(zhí)行結(jié)果的過程。區(qū)塊鏈系統(tǒng)中的每一個區(qū)塊由區(qū)塊頭和區(qū)塊體兩部分組成,其中區(qū)塊體中打包著一筆筆交易,再將由按序排列的交易最后生成的哈希MerkleRoot 保存到區(qū)塊頭指定的字段,比特幣系統(tǒng)的區(qū)塊頭除MerleRoot 外,還包括Version、PrevBlock、Time、Bits、Nonce 共6 個字段,每個字段的具體定義如表3 所示。

    表3 比特幣系統(tǒng)的區(qū)塊頭組成Table 3 Block header composition of the Bitcoin system

    在比特幣區(qū)塊頭的6 個字段中,Version、PrevBlcok 和Bits 字段相對固定,礦工可以自由調(diào)整的3 個字段分別是MerkleRoot、Time 和Nonce,每一次挖礦的實質(zhì)就是對區(qū)塊頭的80 Byte 連接進行2 次Hash 256 運算,其值如果小于難度對應的目標值,將挖出新區(qū)塊。

    CPU 挖礦利用客戶端遠程過程調(diào)用(RPC)接口Setgenerate 控制挖礦。礦工首先初始化區(qū)塊頭的各字段值,然后計算Hash 值并驗證結(jié)果,如不符合條件則Nonce 自增,接著再計算和驗證,如此重復。在進行CPU 挖礦時,Nonce 提供的4 Byte 搜索空間完全能夠滿足遍歷要求。在GPU 運算SHA 256 雙哈希時,僅調(diào)整Nonce 值無法滿足PoW 算法的出塊時間要求,因此需要對Time 和Nonce 值進行交替調(diào)整。

    GPU 挖礦使用GetWork 協(xié)議[34],通過該協(xié)議實現(xiàn)了挖礦程序與客戶端的分離,即數(shù)據(jù)與計算之間相互分開。GetWork 協(xié)議的核心思想是:由節(jié)點構(gòu)造區(qū)塊,然后將區(qū)塊頭數(shù)據(jù)交給挖礦程序,由挖礦程序遍歷Nonce 進行挖礦,在找到符合難度要求的Nonce 值后交給節(jié)點進行驗證,節(jié)點提取Nonce 和Time 值對區(qū)塊進行驗證,驗證通過后立即向全網(wǎng)廣播,盡快獲得該區(qū)塊的記賬權(quán),進而獲得系統(tǒng)獎勵。在一次遍歷結(jié)束后,調(diào)用GetWork 協(xié)議,節(jié)點重新構(gòu)造新區(qū)塊,并重復上述過程??梢钥闯?,在使用GetWork 協(xié)議組成的礦池中,礦工只擁有新構(gòu)造區(qū)塊的80 Byte 的頭信息,而沒有完整的區(qū)塊鏈賬本數(shù)據(jù)和待確認的交易數(shù)據(jù),所以Version、PrevBlock、Bits、MerkleRoot 這4 個字段必須由客戶端節(jié)點提供,挖礦程序主要是遞增遍歷Nonce,需要時再調(diào)整Time值。

    由于礦機需要頻繁調(diào)整RPC 接口,與當前礦機快速提升的挖礦速度之間產(chǎn)生較大反差,因此比特幣、萊特幣等系統(tǒng)節(jié)點已經(jīng)用更高效的GetBlockTemplate 協(xié)議來替代GetWork 協(xié)議。

    2.2.2 GetBlockTemplate 協(xié)議

    GetBlockTemplate[35]是由比特幣社區(qū)于2012 年開發(fā)的用于取代GetWork 協(xié)議的去中心化挖礦協(xié)議。最大特點是讓礦工自己構(gòu)造區(qū)塊,因為在將交易打包進區(qū)塊時,礦工可以構(gòu)建Coinbase 交易(礦工的挖礦收入,包括系統(tǒng)獎勵和區(qū)塊中所有交易支付的交易費,都存放在該交易中),2~100 Byte 的Coinbase 字段提供了充足的隨機數(shù)擴展空間,克服了4 Byte Nonce 空間在隨機數(shù)遍歷時存在的空間限制。

    與GetWork 協(xié)議相比,GBT 協(xié)議主要從以下4 個方面進行了優(yōu)化:1)將區(qū)塊構(gòu)造操作轉(zhuǎn)移給了礦工,同時礦工可以調(diào)整Coinbase 交易來修改打包進區(qū)塊的交易,這使得區(qū)塊生成實現(xiàn)了去中心化,從而提高了比特幣網(wǎng)絡的安全性;2)礦池可以根據(jù)需要制定挖礦規(guī)則,提高了系統(tǒng)的可擴展性;3)極大減少了區(qū)塊創(chuàng)建過程中產(chǎn)生的網(wǎng)絡流量負載,同時也減輕了礦池服務器的工作壓力;4)掌握著區(qū)塊鏈上與挖礦有關的所有信息,礦工可以獨立選擇需要打包進區(qū)塊的交易,提高了整個系統(tǒng)運行過程的透明性。GBT 協(xié)議雖然提供了能夠滿足算法需求的搜索空間,但正常的一次協(xié)議調(diào)用需要把已打包進區(qū)塊的所有交易數(shù)據(jù)都交給礦工,在每一次操作過程中節(jié)點都會返回約1.5 MB 的數(shù)據(jù),因此帶來了過大的數(shù)據(jù)負載。

    2.2.3 Stratum 協(xié)議

    為了解決GBT 協(xié)議在應用中暴露出的礦工與礦池之間信息交互過于頻繁且數(shù)據(jù)量大、礦機內(nèi)存消耗過大、礦工無法獲取到區(qū)塊鏈系統(tǒng)最新的區(qū)塊變化等問題,提出了Stratum 協(xié)議[36]。

    Stratum 協(xié)議綜合了區(qū)塊鏈技術的發(fā)展和礦池網(wǎng)絡的優(yōu)勢,形成了目前基于區(qū)塊鏈的加密數(shù)字貨幣系統(tǒng)使用的事實上的挖礦協(xié)議,使礦工能夠可靠、高效地從礦池服務器獲取任務[37]。利用Stratum 協(xié)議可以實現(xiàn)礦工與礦池之間任務的動態(tài)分配,對于礦池來說,可以將新任務以強制方式分配給礦工并使礦工無條件執(zhí)行,礦工也可以主動向礦池申請新任務。提供可按需擴展的充足搜索空間是礦池挖礦需要解決的核心問題。GetWork 協(xié)議利用8 Byte 的Nonce 和Time 字段提供搜索空間,但該空間早已不能滿足新型礦池挖礦的要求。GBT 協(xié)議為礦工自由構(gòu)造Coinbase 交易提供了巨大的搜索空間,但需要將形成區(qū)塊的所有交易數(shù)據(jù)全部交給礦工,在增加了礦工節(jié)點存儲空間的同時,也對礦池網(wǎng)絡帶寬提出了更高要求。Stratum 協(xié)議通過改進Coinbase 交易的構(gòu)造策略,在給礦工提供足夠搜索空間的同時,還能大幅度減少礦工與礦池之間交互時所需要傳輸?shù)男畔⒘?,解決了GetWork 和GBT 協(xié)議存在的不足。

    不同的Coinbase 交易形成不同的MerkleRoot 哈希值,進而提供更大的算法遍歷空間。在Stratum 協(xié)議中,礦工在構(gòu)造Coinbase 交易時,其中ScriptSig 字段中的一些信息可以讓礦工自己填充,而且由Coinbase 交易生成MerkleRoot 時無需提供全部交易數(shù)據(jù)。如圖5 所示,假設區(qū)塊中包含15 筆用戶交易以及相應的Coinbase 交易,礦池首先根據(jù)區(qū)塊構(gòu)建機制對每一筆交易進行處理,然后只需要將其中的4 個運算得到的Hash 值(圖中虛線框中的4 個節(jié)點)以及構(gòu)造Coinbase 交易需要的信息交給礦工。在此基礎上,礦工就可以根據(jù)Merkle 樹的生成規(guī)則自行生成MerkleRoot 值[38]?;诖朔椒ǎ攨^(qū)塊中包含N筆交易時,礦池只需要將lbN個Hash 值發(fā)送給礦工,大幅降低了礦工與礦池之間的數(shù)據(jù)交互量。

    圖5 Merkle 樹及MerkleRoot 的生成過程Fig.5 Generation process of Merkle tree and MerkleRoot

    Stratum 協(xié)議嚴格定義了礦工與礦池之間通信的接口規(guī)范、數(shù)據(jù)結(jié)構(gòu)和交互邏輯,在以太坊礦池網(wǎng)絡中,有時礦池軟件與錢包安裝在一起合稱為礦池,礦工與礦池軟件之間的通信也采用Stratum 協(xié)議。Stratum 協(xié)議采用輕量級的JSON 數(shù)據(jù)格式,以提高數(shù)據(jù)處理效率。以太坊礦池挖礦的基本操作流程(如圖6 所示)具體如下:

    圖6 以太坊礦池挖礦的基本操作流程Fig.6 Basic operation process of Ethereum mining pool mining

    1)身份注冊。啟動挖礦程序,使用mining.subscribe 方法連接到礦池;礦池使用mining.notify 消息返回訂閱號ID、指定的初始難度、Extranonce(用于增加搜索空間)等信息,礦工將這些信息保存在本地,在整個挖礦過程中都要用到這些數(shù)據(jù)。需要說明的是:礦池允許利用同一個注冊賬號添加多個不同名字的礦工進行同時挖礦。

    2)身份認證與授權(quán)。礦工使用mining.authorize方法向礦池進行身份認證和授權(quán),只有通過認證的合法礦工,礦池才會對其指配挖礦任務。

    3)任務指配。礦池通過mining.notify 方法向礦工指配任務,其中主要包括任務號ID(每一次任務都擁有唯一的標識符)、交易列表的壓縮表示方式(圖5中虛線框中4 個節(jié)點代表的Hash 值)、Version、Time和Bits 等。

    4)挖礦。礦工在接收到礦池下發(fā)的挖礦任務后,開始構(gòu)造Coinbase 交易、生成MerkleRoot 和構(gòu)建區(qū)塊頭,開始挖礦過程。

    5)提交和確認結(jié)果。礦工在尋找到小于目標值(由礦池下發(fā)的難度值產(chǎn)生)的share 時,以mining.submit 方法將其上交給礦池,其中主要包括礦工名字、任務號ID、Extranonce、Time 和Nonce。當?shù)V池接收到以上5 個字段的信息后,首先根據(jù)任務號ID 找到之前指配的任務,然后重構(gòu)區(qū)塊,再驗證share 難度,之后進一步檢測該share 是否符合全網(wǎng)難度。當檢測通過后,礦池通過server.result 方法返回true,說明share 提交成功。

    6)調(diào)整難度。礦池會記錄每個礦工提交的share,并根據(jù)每次成功提交的share 重新調(diào)整下一次挖礦時使用的難度,并隨時通過mining.set_difficulty方法通知給礦工。

    除前文介紹的3 種典型礦池網(wǎng)絡協(xié)議外,隨著近年來全球礦池挖礦方式的不斷升溫,還出現(xiàn)了一些新的協(xié)議、技術和模式,如混合挖礦[38]。域名幣[39]較早使用混合挖礦形式,通過掛靠方式將比特幣作為父鏈,域名幣作為輔鏈,使用AuxPoW[38]協(xié)議進行挖礦。礦工在挖得比特幣的同時可以挖到域名幣。

    表4 針對協(xié)議的算法實現(xiàn)及功能特點,分別從所涉及的字段、遍歷空間大小、區(qū)塊生成過程的特點、協(xié)議的主要功能特征、協(xié)議的主要應用場景、協(xié)議的網(wǎng)絡安全性、協(xié)議實現(xiàn)過程的網(wǎng)絡負載大小等方面對3 類典型礦池協(xié)議進行對比分析。

    表4 3 種典型礦池協(xié)議的性能比較Table 4 Performance comparison of three typical mining pool protocols

    3 針對礦池網(wǎng)絡的典型攻擊方式

    目前,礦池已經(jīng)成為PoW 共識挖礦算力的主要來源,如果礦池網(wǎng)絡自身存在安全風險或攻擊者利用礦池作惡,將會對區(qū)塊鏈系統(tǒng)的安全產(chǎn)生嚴重威脅[40-41]。本節(jié)重點對礦池網(wǎng)絡中的典型攻擊方式進行分析,并提出必要的防范方法。

    3.1 自私挖礦攻擊

    分叉技術是軟件開發(fā)過程中從已有項目的基礎上快速產(chǎn)生另一項目的常見方法,在區(qū)塊鏈系統(tǒng)中指主鏈從某一區(qū)塊開始產(chǎn)生了2 條或2 條以上支鏈的過程。以比特幣系統(tǒng)為例,將分叉分為自然分叉和人為分叉兩種類型[42]。自然分叉是臨時產(chǎn)生的分叉,系統(tǒng)最終只會保留算力最大的一條鏈作為主鏈。人為分叉是在已有區(qū)塊鏈的基礎上產(chǎn)生另一條同源區(qū)塊鏈的過程,兩條分叉鏈之間即可以相互兼容(稱為“軟分叉”),也可以互不兼容(稱為“硬分叉”)。

    自私挖礦攻擊[6,43-44]是指在不影響區(qū)塊鏈網(wǎng)絡正常運行的前提下,利用區(qū)塊鏈分叉原理,攻擊者通過蓄意制造分叉并惡意設置挖礦策略,從而在區(qū)塊鏈網(wǎng)絡中發(fā)起不公平競爭的一種挖礦行為。在比特幣系統(tǒng)中,誠實礦工在挖到一個區(qū)塊后會盡快將其廣播出去以得到網(wǎng)絡中其他礦工的確認。同時,所有礦工堅持最長鏈原則,即在區(qū)塊鏈出現(xiàn)分叉時會將最長的一條鏈作為主鏈,而且存在相同高度的分叉鏈時,誠實礦工會將最先形成的一條鏈作為主鏈?;谝陨贤诘V規(guī)則,自私挖礦中的攻擊者在成功挖到一個區(qū)塊后并不一定會立即廣播出去,而是有策略地選擇后續(xù)的操作,以獲得高出正常挖礦的收益。自私挖礦存在多種策略,其中典型的策略是當攻擊者挖出一個區(qū)塊時并不立即廣播,而是繼續(xù)在該區(qū)塊的基礎上挖下一個區(qū)塊,當攻擊者監(jiān)測到本地區(qū)塊高度大于誠實礦工的區(qū)塊高度時,立即將自己的多個連續(xù)區(qū)塊廣播出去,從而在誠實礦工節(jié)點上產(chǎn)生分叉,根據(jù)最長鏈原則,攻擊者在挖礦競爭中搶先獲得記賬權(quán),從而獲得系統(tǒng)獎勵。從長遠來看,隨著PoW 挖礦難度的不斷增大,礦池會借助算力上的絕對優(yōu)勢實施自私挖礦攻擊,以破壞挖礦的公平性,同時迫使一些原本誠實的礦工在利益驅(qū)動下轉(zhuǎn)向惡意礦池[45],對區(qū)塊鏈網(wǎng)絡安全帶來威脅。

    自私挖礦策略是自私挖礦攻擊的核心。在自私挖礦策略[6]的基礎上,SAPIRSHTEIN 等[46]拓展了自私挖礦的底層模型,并優(yōu)化了攻擊者策略,但部分策略的安全性較弱。NAYAK 等[44]通過有效擴展挖掘策略空間為礦工賺取更多的收益,同時還將自私挖礦攻擊與網(wǎng)絡層的日食攻擊[47]相結(jié)合來進一步擴大收益,該方法雖然實現(xiàn)較為靈活,但難度較大、效率較低。阮娜等[48]在對單一攻擊者的自私挖礦策略進一步優(yōu)化的基礎上,提出包含單一攻擊者與多攻擊者的兩階段自私挖礦攻擊模型,該方法主要集中于對內(nèi)部攻擊者的研究。LEE 等[49]在分析了礦池網(wǎng)絡運行機制的基礎上,提出通過在礦池與礦工之間共享挖礦信息來應對自私挖礦的策略,該方法在單一礦池中的應用效果較好,但在多礦池聯(lián)合挖礦環(huán)境中不太理想。

    針對區(qū)塊鏈自私挖礦攻擊,最有效的防范方法是通過改變PoW 機制的挖礦策略來增大礦池自私挖礦的成本,降低自私挖礦的收益。一種方法是當誠實礦工收到一個具有相同高度的分叉鏈時,不是像PoW 機制中默認的那樣將最先生成的鏈作為主鏈,而是隨機選取其中一條鏈作為主鏈,并繼續(xù)在該主鏈上挖礦;另一種方法是誠實礦工(尤其是長期在線的誠實礦工)每次只接收單一區(qū)塊,而拒絕同時接收分叉鏈中的多個區(qū)塊。另外,近年來快速發(fā)展的人工智能技術也開始被應用到防御自私挖礦中[50]。

    3.2 跳池攻擊

    在礦池挖礦中,礦池的功能是通過礦池管理員給礦池礦工分配一定難度的計算任務,并根據(jù)礦工提交的符合計算要求的解來統(tǒng)計每個礦工的工作量并分配獎勵。在此過程中,如何有效設置經(jīng)濟激勵機制對吸引礦工加入礦池挖礦非常重要,與此同時,也為作惡者借助策略對存在的漏洞發(fā)起攻擊提供了條件。跳池攻擊[51]是指攻擊者為了追求高額收益,不是一直留在一個礦池中進行挖礦,而是根據(jù)不同礦池的當前收益切換到具有更高收益的礦池進行挖礦的一種攻擊現(xiàn)象。跳池攻擊直接利用了礦池挖礦激勵機制存在的漏洞,尤其是借助不同礦池獎勵分配模式的特點,追求最大的收益,而忽視礦池運行的穩(wěn)定性。對于任何一個礦池,出于安全性要求,需要加入礦池的礦工是忠誠的,即希望該礦工一直留在礦池中挖礦,而跳池攻擊損害了忠誠礦工的利益,破壞了礦池運行的穩(wěn)定性。

    目前,主要的礦池挖礦獎勵分配模式包括Proportional、PPS、PPLNS、Slush、Geometric、Triple mining、P2Pool、Luke-Jr 等類型[52],表5 描述了不同獎勵分配模式的特點和主要特征。以Proportional模式為例,如果礦池長時間沒有挖到區(qū)塊,那么礦池中礦工提交的share 將逐漸貶值,即算力越來越不值錢。這時,一些礦工將會暫時離開當前礦池,選擇加入一個剛剛挖出區(qū)塊的礦池進行挖礦,如果一段時間后沒有拿到獎勵,礦工則可能會返回原有礦池繼續(xù)挖礦。攻擊者會給每個礦池的挖礦時間設置一個閾值,當?shù)V工在一個礦池中的挖礦時間達到閾值時將跳到另一個剛剛挖出區(qū)塊而且挖礦周期短的礦池進行挖礦[53]。可以看出,攻擊者為了追求更高的收益,特別會選擇在Proportional 和Slush 模式下實施跳池攻擊。

    表5 主要礦池挖礦獎勵分配模式比較Table 5 Comparison of the main distribution modes of mining pool mining rewards

    跳池攻擊不僅出現(xiàn)在礦池挖礦中,而且出現(xiàn)在跨鏈操作中。同一礦工在不同的時間和不同的區(qū)塊鏈上挖礦會存在不同的收益,因此為了獲得更大的收益,部分礦工會選擇暫時離開原有的礦池,而加入收益率高的分叉鏈上的礦池進行挖礦。例如,當比特幣系統(tǒng)分叉為比特幣和比特幣現(xiàn)金(BCC)后,形成了兩個獎勵分配模式和代幣發(fā)行機制不同的同源區(qū)塊鏈,曾經(jīng)一段時間部分礦工開始從BTC 遷移到BCC 挖礦,后來由于BCC 中算力的大量涌入,導致在下一個難度調(diào)整時會提高難度值,因此礦工又紛紛遷回BTC 礦池。

    針對跳池攻擊,目前有效的防范方法主要有:1)選擇更優(yōu)的獎勵分配模式,例如,可選擇PPLNS、Geometric、Luke-Jr 等模式,防止攻擊者為了追求收益的最大化實施跳池攻擊;2)優(yōu)化礦池獎勵分配模式,例如,文獻[54]針對PPS 和PPLNS 模式對礦池帶來的安全風險,設計一種新的基于零行列式(ZD)理論的礦池挖礦策略,該策略具有免費、適用性廣和公平等特性,需要結(jié)合礦池挖礦技術的發(fā)展,對相關算法進行有針對性的研究;3)選擇符合礦工預期的礦池,為了使礦工在加入礦池時能夠?qū)︻A期收益進行評估,防止出現(xiàn)類似跳池攻擊的現(xiàn)象,目前已出現(xiàn)了類似Multipool[55-56]的礦池,該類型礦池會將礦工推薦到當前收益最大的礦池進行挖礦。

    3.3 扣塊攻擊

    在礦池挖礦過程中的扣塊(BWH)攻擊[57-58]是指攻擊者在挖到share 時,如果該share 符合出塊要求則將其保留,否則提交給礦池管理員,以此降低礦池和礦池中誠實礦工的收益,但當?shù)V池中的誠實礦工挖到區(qū)塊時,攻擊者仍會根據(jù)自己提交的share(無價值的share)來分得獎勵。由此可以看出,扣塊攻擊在未做出任何貢獻的情況下分攤了誠實礦工應獲得的收益,并使得礦池利益嚴重受損。

    另外,扣塊攻擊經(jīng)常被惡意攻擊者用于實現(xiàn)不同礦池之間的惡意競爭。作惡礦池將自身的部分算力(礦工)注入被攻擊對手礦池進行扣塊攻擊,以降低對手算力的價值,并從對手礦池中分得本應屬于礦池和礦工的一定數(shù)量的收益。不過,礦池之間的扣塊攻擊也為攻擊者所在的礦池帶來了一定的損失和風險,被注入到對手礦池的算力削弱了本礦池的算力,也損失了由這部分算力帶來的直接收益。因此,攻擊者會科學計算被注入對手礦池的算力比例,在盡可能維護自身利益的前提下,有效降低對手的收益,并迫使對手礦池中的礦工轉(zhuǎn)入其他礦池進行挖礦。

    防范扣塊攻擊的方法主要是改變收益的分配模式(如采用PPLNS 模式)。另外,針對扣塊攻擊,文獻[59]在研究了比特幣中扣塊攻擊的基礎上,分析了比特幣中防范針對主要獎勵分配模式的扣塊攻擊方法,但該方法僅適用于比特幣系統(tǒng)。文獻[60]認為檢測扣塊攻擊具有挑戰(zhàn)性,只有通過與誠實礦工尋求利益的一致性才是最佳選擇,并證明了雙重收益方案的可行性,但該方法的有效性尚待在不同類型的礦池網(wǎng)絡中進行驗證。文獻[61]在分析扣塊攻擊收益特點的基礎上,提出一種稱為“特殊獎勵”的機制,旨在給予實際挖出區(qū)塊的礦工額外的獎勵,而對于從未向礦池提供有效區(qū)塊的礦工降低獎勵分配,以此來防御扣塊攻擊行為。該方法需要結(jié)合具體的礦池獎勵分配模式,在具體實現(xiàn)過程中進行有針對性的策略設計。

    3.4 空塊攻擊

    區(qū)塊是由合法交易打包生成的數(shù)據(jù)單位,一筆交易只有打包進區(qū)塊后才能被最后確認。在區(qū)塊中的第一筆交易(Coinbase 交易)用于存放挖出該區(qū)塊后系統(tǒng)給予的獎勵以及打包進區(qū)塊的其他有效交易交納的所有手續(xù)費??諌K攻擊[62]是指攻擊者通過構(gòu)造只包含Coinbase 交易的空區(qū)塊,拒絕對有效交易打包,導致大量交易由于未能打包進區(qū)塊而無法得到確認的攻擊方式。區(qū)塊鏈系統(tǒng)的設計目標是實現(xiàn)對交易的打包確認,交易是區(qū)塊鏈系統(tǒng)的最小數(shù)據(jù)單位,也是實現(xiàn)價值生成與轉(zhuǎn)移以及信息交換的核心,然而如果一個區(qū)塊鏈系統(tǒng)中的礦工只挖空塊而不打包用戶交易,區(qū)塊鏈系統(tǒng)也將失去其應用價值。當區(qū)塊鏈系統(tǒng)中存在大量空塊時,相當于對系統(tǒng)實施DDoS 攻擊。

    由于挖空塊相對容易,因此在礦池中作惡者很容易實施空塊攻擊。首先,從區(qū)塊生成算法來看,空塊屬于合法區(qū)塊;其次,空塊具有快速傳播優(yōu)勢。一個區(qū)塊一般由80 Byte 的區(qū)塊頭和以MB 為單位的區(qū)塊體組成,由于空塊大小主要由區(qū)塊頭決定,在空塊確認時不存在對用戶交易進行驗證的過程,因此空塊的傳輸速度很快,在傳播時間上具有競爭優(yōu)勢;最后,空塊避免了因存在重復交易而被作為非法區(qū)塊的現(xiàn)象發(fā)生。正常的區(qū)塊只有經(jīng)礦工驗證通過后才能鏈接到主鏈上,區(qū)塊合法的前提是該區(qū)塊中包含的交易合法,而且本區(qū)塊中的交易不能出現(xiàn)在前面的區(qū)塊中,否則存在重復交易的區(qū)塊為非法區(qū)塊。由于空塊中不存在用戶交易,因此不存在交易重復問題。

    針對空塊攻擊的主要防范方法是限制空塊的生成,對于頻繁生成空塊的節(jié)點限制其挖礦或進行必要的經(jīng)濟懲罰。另外,建立礦工收益與打包進區(qū)塊的交易數(shù)量之間的關聯(lián)關系,單個區(qū)塊包含的交易越多,礦工獲得的收益也越大。從礦工的角度來看,避免挖空塊的前提是盡快或提前得到當前區(qū)塊中包含的交易。目前,在BTC 和BCH 礦池中,多采用緊湊型區(qū)塊[63]或瘦區(qū)塊[64]技術,在礦池中提前保存有需要進行驗證的區(qū)塊中的交易,避免在需要對交易進行驗證時從其他節(jié)點下載完整的區(qū)塊數(shù)據(jù),提高了交易驗證效率。然而,該方法的實現(xiàn)對礦機中用戶交易的存儲和管理也提出了更高的要求,在一定程度上影響了礦池的效率。

    為了便于理解,表6 從攻擊的實現(xiàn)原理、主要攻擊目標、攻擊難度等方面對4 類典型的針對礦池網(wǎng)絡的攻擊方式進行對比分析。

    表6 典型的礦池網(wǎng)絡攻擊方式對比分析Table 6 Comparative analysis of typical mining pool network attack modes

    4 挑戰(zhàn)與展望

    區(qū)塊鏈在繼承了傳統(tǒng)P2P 網(wǎng)絡的基礎上,結(jié)合自身要求進行了功能擴寬,其中礦池網(wǎng)絡就是區(qū)塊鏈挖礦發(fā)展的產(chǎn)物。

    1)區(qū)塊鏈P2P 網(wǎng)絡研究是基礎。P2P 網(wǎng)絡是建立在TCP/IP 基礎上的一種具有特定應用功能的覆蓋網(wǎng)絡,礦池網(wǎng)絡是基于區(qū)塊鏈P2P 網(wǎng)絡的擴展網(wǎng)絡,區(qū)塊鏈P2P 網(wǎng)絡是研究礦池網(wǎng)絡的基礎。對于區(qū)塊鏈P2P 網(wǎng)絡的研究主要集中于2 個方面:

    (1)P2P 網(wǎng)絡自身技術,重點對網(wǎng)絡信任模型、覆蓋網(wǎng)絡的拓撲一致性與效率、資源定位與搜索、網(wǎng)絡抖動、網(wǎng)絡容錯性等方面進行研究。

    (2)P2P 網(wǎng)絡與區(qū)塊鏈技術的結(jié)合,重點從比特幣、以太坊、超級賬本等典型的區(qū)塊鏈應用場景出發(fā),對涉及的核心技術進行針對性的研究,例如:針對比特幣網(wǎng)絡中的交易模式分析,可充分利用圖神經(jīng)網(wǎng)絡、圖論等理論加強對比特幣系統(tǒng)交易網(wǎng)絡的可視化模型研究;針對以太坊中的結(jié)構(gòu)化網(wǎng)絡特點,重點加強DHT 及相關技術在地址管理和路由算法中的應用研究;針對超級賬本技術,重點對超級節(jié)點選擇策略、用戶身份認證技術(尤其是可控匿名認證)、隱私保護等方面進行深入研究。

    2)礦池網(wǎng)絡技術研究是關鍵。礦池網(wǎng)絡是在區(qū)塊鏈技術挖礦過程中礦工為了追求更大收益而形成的一個邏輯上的網(wǎng)絡,有關礦池網(wǎng)絡的研究重點集中在以下3 個方面:

    (1)礦池網(wǎng)絡協(xié)議。網(wǎng)絡功能的實現(xiàn)依賴于協(xié)議,協(xié)議的研究仍然是礦池網(wǎng)絡研究的重點,一方面需要結(jié)合礦池挖礦技術和管理的需要,對應用中的礦池網(wǎng)絡協(xié)議進行進一步優(yōu)化,同時加強對協(xié)議漏洞,尤其是安全漏洞的挖掘、分析和修復,防止攻擊者利用漏洞實施對礦池網(wǎng)絡的攻擊,另一方面根據(jù)新的挖礦模式的出現(xiàn)開發(fā)新的礦池網(wǎng)絡協(xié)議。

    (2)對礦池網(wǎng)絡與區(qū)塊鏈P2P 網(wǎng)絡之間的運行機制進行進一步優(yōu)化,礦池網(wǎng)絡具有相對的獨立性,從整個挖礦過程來看每一個礦池相當于一個挖礦節(jié)點,需要與外界頻繁交換挖礦信息,這就涉及礦池網(wǎng)絡與區(qū)塊鏈P2P 網(wǎng)絡之間的協(xié)調(diào),需要進一步優(yōu)化網(wǎng)絡邊界性能,提升信息交換效率。

    (3)優(yōu)化礦池利益分配方式,開發(fā)符合新型挖礦要求的礦池利益分配策略,礦池挖礦是一種典型的趨利行為,礦池礦工為了追求更大的收益,礦池管理員力求收取更多的挖礦手續(xù)費。為此,礦池中不同利益方如何建立有效的利益分配關系不僅關系到礦工參與礦池挖礦的積極性,更關系到礦池的發(fā)展,主要涉及礦池挖礦獎勵分配策略的設計與優(yōu)化,需要針對具體礦池,在Proportional、PPS、PPLNS 等分配模式的基礎上,綜合礦池發(fā)展定位、對應虛擬幣幣種的影響力、共識機制等方面的因素,科學開發(fā)和運用礦池挖礦收益分配策略。

    3)礦池網(wǎng)絡安全研究是保障。目前,大部分礦池都屬于開放礦池,用戶只需要接入互聯(lián)網(wǎng)就可以通過注冊加入礦池,并通過貢獻有效工作量證明來獲得相應的收益。礦池網(wǎng)絡的開放性不僅容易遭受傳統(tǒng)網(wǎng)絡中的DDoS、協(xié)議分析、端口掃描等攻擊,而且還會受到自私挖礦、扣塊、跳池、空塊等專門針對礦池網(wǎng)絡的安全威脅,針對礦池網(wǎng)絡的安全研究變得更加復雜。為此,針對礦池網(wǎng)絡安全的研究,仍然需要在借鑒互聯(lián)網(wǎng)安全技術的基礎上,結(jié)合區(qū)塊鏈技術特點和礦池網(wǎng)絡運行機制進行創(chuàng)新。例如,針對扣塊攻擊難以定位具體攻擊者這一問題,可以采用博弈理論來分析和設定挖礦規(guī)則,使攻擊者難以獲得預期的作惡收益。

    從技術實現(xiàn)角度看,基于區(qū)塊鏈技術的各類虛擬幣之間的交易實質(zhì)是通過技術手段(如不同虛擬幣之間的跨鏈交易)來改變虛擬幣的控制權(quán)。由于虛擬幣繼承了區(qū)塊鏈技術的去中心化、匿名性等特征,為其流通與應用監(jiān)管帶來了挑戰(zhàn),已成為犯罪分子逃避監(jiān)管及實施各類犯罪活動的工具。另外,虛擬幣挖礦行為占用了大量網(wǎng)絡帶寬,浪費了大量社會資源,亟待對其進行有效監(jiān)管。例如,通過監(jiān)測發(fā)現(xiàn),2021 年僅江蘇省進行虛擬幣挖礦的礦池出口流量就達到1.377 Gb/s,參與挖礦的互聯(lián)網(wǎng)主機IP 地址數(shù)量達到了4 502 個,消耗算力超過10 PH/s,每天耗能達到2.6×105kWh。在此情況下,加強對礦池挖礦行為的監(jiān)管和整治勢在必行,除出臺相關的法律法規(guī)外,加強技術監(jiān)管仍然是根本。下一步需要立足礦池網(wǎng)絡實現(xiàn)原理,通過流量監(jiān)測和協(xié)議分析等技術,識別互聯(lián)網(wǎng)中的礦池流量,進而實現(xiàn)對挖礦流量及礦工主機的溯源與監(jiān)管,如何將目前發(fā)展中的零信任網(wǎng)絡、深度學習等技術應用到礦池網(wǎng)絡監(jiān)管是一個重要的研究方向。

    綜上,針對礦池網(wǎng)絡技術的演進和安全防范的研究,主要集中于以下4 個方面:1)礦池性能的優(yōu)化以及礦池運行的穩(wěn)定性;2)礦場的科學部署和礦池網(wǎng)絡的科學設計;3)隨著礦機技術和工藝的不斷提升,如何更加有效地提升和管理礦池的算力并降低功耗;4)重點從安全漏洞研究入手,加強礦池網(wǎng)絡協(xié)議和運行機制的安全研究等。

    5 結(jié)束語

    隨著因虛擬幣興起所帶來的礦池挖礦產(chǎn)業(yè)的快速發(fā)展,無論是從技術發(fā)展還是應用監(jiān)管角度,都有必要對礦池網(wǎng)絡進行較系統(tǒng)的研究。本文在介紹傳統(tǒng)P2P 網(wǎng)絡工作原理和組網(wǎng)特點的基礎上,結(jié)合具體應用場景分析區(qū)塊鏈P2P 的運行特點,在此基礎上,重點從協(xié)議實現(xiàn)出發(fā)討論礦池網(wǎng)絡的工作機制,并對典型的針對礦池網(wǎng)絡的攻擊行為和防范方法進行闡述。礦池網(wǎng)絡及其安全仍然是未來區(qū)塊鏈技術研究的重點和熱點,下一步將從礦池網(wǎng)絡協(xié)議實現(xiàn)、礦池收益分配策略、針對礦池挖礦的安全性等方面進行針對性的深入研究。

    电影成人av| 久久精品国产亚洲av香蕉五月| 色婷婷久久久亚洲欧美| 午夜福利一区二区在线看| 两个人免费观看高清视频| 亚洲,欧美精品.| 在线视频色国产色| 他把我摸到了高潮在线观看| 亚洲视频免费观看视频| 天堂动漫精品| av视频在线观看入口| 黄片大片在线免费观看| 国产熟女午夜一区二区三区| 国产精品久久电影中文字幕| 国产精品亚洲美女久久久| 一本综合久久免费| 美女国产高潮福利片在线看| 欧美国产精品va在线观看不卡| 手机成人av网站| 一边摸一边抽搐一进一出视频| 中文亚洲av片在线观看爽| 91字幕亚洲| 97人妻精品一区二区三区麻豆 | 午夜福利成人在线免费观看| 国产日韩一区二区三区精品不卡| 一区二区三区国产精品乱码| 757午夜福利合集在线观看| 国产99白浆流出| 无遮挡黄片免费观看| 他把我摸到了高潮在线观看| 亚洲色图 男人天堂 中文字幕| 日韩欧美国产在线观看| 国产一级毛片七仙女欲春2 | 女警被强在线播放| 在线观看舔阴道视频| 韩国精品一区二区三区| 日韩欧美免费精品| 国产精品 欧美亚洲| 国产精品国产高清国产av| 国产xxxxx性猛交| 日韩欧美免费精品| 多毛熟女@视频| 9热在线视频观看99| 国产真人三级小视频在线观看| 久久中文字幕一级| 一卡2卡三卡四卡精品乱码亚洲| 又黄又粗又硬又大视频| 久久亚洲精品不卡| 午夜福利视频1000在线观看 | 久久久久久大精品| 国产单亲对白刺激| 黄色成人免费大全| 国产成年人精品一区二区| 禁无遮挡网站| 一区二区三区国产精品乱码| 97人妻精品一区二区三区麻豆 | 国产精华一区二区三区| xxx96com| 韩国精品一区二区三区| 满18在线观看网站| 91大片在线观看| 亚洲成人免费电影在线观看| 中文字幕人成人乱码亚洲影| 日本精品一区二区三区蜜桃| 天堂动漫精品| 19禁男女啪啪无遮挡网站| 久久天躁狠狠躁夜夜2o2o| 性少妇av在线| 久久人人爽av亚洲精品天堂| 国产aⅴ精品一区二区三区波| 久久天堂一区二区三区四区| 黑人巨大精品欧美一区二区蜜桃| 亚洲中文字幕一区二区三区有码在线看 | 色精品久久人妻99蜜桃| e午夜精品久久久久久久| 久久影院123| 女人爽到高潮嗷嗷叫在线视频| 国产精品亚洲一级av第二区| 亚洲精品一区av在线观看| 亚洲av美国av| 久久精品国产亚洲av高清一级| 午夜精品久久久久久毛片777| 午夜久久久在线观看| 亚洲中文日韩欧美视频| 国产亚洲av高清不卡| 午夜a级毛片| 国产伦人伦偷精品视频| 成年人黄色毛片网站| 淫妇啪啪啪对白视频| 又黄又粗又硬又大视频| 日本 av在线| 久久精品成人免费网站| 国产人伦9x9x在线观看| 成人国产一区最新在线观看| 最近最新中文字幕大全免费视频| 九色国产91popny在线| 色哟哟哟哟哟哟| 国产三级黄色录像| 自拍欧美九色日韩亚洲蝌蚪91| 精品福利观看| 天堂动漫精品| 久久精品国产99精品国产亚洲性色 | 伊人久久大香线蕉亚洲五| 国产精品自产拍在线观看55亚洲| 久久伊人香网站| 国产亚洲av高清不卡| 国产精品一区二区三区四区久久 | 亚洲第一欧美日韩一区二区三区| 亚洲三区欧美一区| 亚洲无线在线观看| 精品欧美一区二区三区在线| 黄网站色视频无遮挡免费观看| 91精品三级在线观看| 日韩有码中文字幕| 欧美激情久久久久久爽电影 | 波多野结衣巨乳人妻| av中文乱码字幕在线| а√天堂www在线а√下载| 亚洲男人的天堂狠狠| 久久香蕉精品热| 十八禁网站免费在线| 精品国产一区二区久久| 激情在线观看视频在线高清| 亚洲熟妇熟女久久| 可以免费在线观看a视频的电影网站| 激情在线观看视频在线高清| 国产一区二区激情短视频| 日本vs欧美在线观看视频| 搞女人的毛片| 中文字幕人妻丝袜一区二区| 老司机午夜福利在线观看视频| 亚洲色图av天堂| 免费在线观看完整版高清| 操出白浆在线播放| 手机成人av网站| 亚洲男人天堂网一区| 女警被强在线播放| 国产精品免费视频内射| 久久精品人人爽人人爽视色| 国产精品 欧美亚洲| 国产午夜福利久久久久久| 亚洲av日韩精品久久久久久密| 女人被狂操c到高潮| av免费在线观看网站| 亚洲久久久国产精品| 精品国产一区二区久久| 国产精品亚洲一级av第二区| 99国产综合亚洲精品| 精品久久久久久成人av| 日本免费一区二区三区高清不卡 | 日本黄色视频三级网站网址| 日韩视频一区二区在线观看| 久久午夜综合久久蜜桃| 村上凉子中文字幕在线| a在线观看视频网站| 99国产精品99久久久久| 亚洲视频免费观看视频| 久久久久久亚洲精品国产蜜桃av| 激情视频va一区二区三区| 国产午夜精品久久久久久| 亚洲一区高清亚洲精品| 国产视频一区二区在线看| 亚洲精品国产精品久久久不卡| 欧美丝袜亚洲另类 | 国产麻豆成人av免费视频| 天天一区二区日本电影三级 | 99久久99久久久精品蜜桃| 午夜福利欧美成人| 亚洲一卡2卡3卡4卡5卡精品中文| 欧美不卡视频在线免费观看 | 久久婷婷人人爽人人干人人爱 | 天天躁狠狠躁夜夜躁狠狠躁| 久久午夜亚洲精品久久| 欧美国产精品va在线观看不卡| 宅男免费午夜| 亚洲成国产人片在线观看| 国产亚洲精品久久久久久毛片| 国产三级黄色录像| 欧洲精品卡2卡3卡4卡5卡区| 丝袜在线中文字幕| 母亲3免费完整高清在线观看| 我的亚洲天堂| 在线观看免费视频网站a站| 精品欧美国产一区二区三| 好看av亚洲va欧美ⅴa在| 国产蜜桃级精品一区二区三区| av福利片在线| 女同久久另类99精品国产91| 中文字幕另类日韩欧美亚洲嫩草| 国产精品电影一区二区三区| 欧美黑人精品巨大| 两人在一起打扑克的视频| 亚洲五月色婷婷综合| 国产亚洲欧美在线一区二区| xxx96com| 欧美黑人精品巨大| 性欧美人与动物交配| 激情视频va一区二区三区| 欧美日韩亚洲综合一区二区三区_| 黄色丝袜av网址大全| 自线自在国产av| av网站免费在线观看视频| 国产精品电影一区二区三区| av在线播放免费不卡| 一区在线观看完整版| 不卡av一区二区三区| 亚洲男人天堂网一区| 在线av久久热| 999久久久国产精品视频| 高清黄色对白视频在线免费看| 精品一区二区三区av网在线观看| 婷婷六月久久综合丁香| 久久草成人影院| 国产一区二区三区视频了| 久久人妻熟女aⅴ| 国产精品一区二区免费欧美| 久久国产精品男人的天堂亚洲| 国产色视频综合| 欧美性长视频在线观看| 精品久久久久久久毛片微露脸| 国产片内射在线| 99国产极品粉嫩在线观看| 午夜福利在线观看吧| 9191精品国产免费久久| 国产一区二区三区综合在线观看| 级片在线观看| avwww免费| 三级毛片av免费| 免费在线观看视频国产中文字幕亚洲| 巨乳人妻的诱惑在线观看| 久久久精品欧美日韩精品| 波多野结衣一区麻豆| 成在线人永久免费视频| 一区二区三区精品91| svipshipincom国产片| 一边摸一边抽搐一进一出视频| 欧美av亚洲av综合av国产av| 日本a在线网址| 色综合欧美亚洲国产小说| 激情在线观看视频在线高清| 精品人妻在线不人妻| www.www免费av| 久久久久久久久免费视频了| 亚洲一区二区三区色噜噜| 啦啦啦 在线观看视频| 美女 人体艺术 gogo| 色综合婷婷激情| 涩涩av久久男人的天堂| 最近最新中文字幕大全免费视频| 色尼玛亚洲综合影院| 国产视频一区二区在线看| 啦啦啦 在线观看视频| 国产亚洲欧美98| 国产免费男女视频| 两个人免费观看高清视频| 国产成人影院久久av| 免费观看精品视频网站| 日韩欧美国产一区二区入口| 亚洲五月天丁香| 中文字幕久久专区| 久久国产乱子伦精品免费另类| 91国产中文字幕| 欧美日韩瑟瑟在线播放| 欧美日韩乱码在线| 搡老熟女国产l中国老女人| 亚洲久久久国产精品| 免费久久久久久久精品成人欧美视频| 亚洲国产精品999在线| 一级作爱视频免费观看| 色哟哟哟哟哟哟| 日本 欧美在线| 一本综合久久免费| 俄罗斯特黄特色一大片| 丝袜美足系列| 美女高潮到喷水免费观看| 久久影院123| av在线播放免费不卡| 欧美色欧美亚洲另类二区 | 国内精品久久久久久久电影| 亚洲专区中文字幕在线| 欧美人与性动交α欧美精品济南到| 亚洲精品一卡2卡三卡4卡5卡| 极品教师在线免费播放| 精品卡一卡二卡四卡免费| 日本精品一区二区三区蜜桃| 精品第一国产精品| 亚洲激情在线av| 成人三级做爰电影| 在线视频色国产色| 首页视频小说图片口味搜索| 精品人妻1区二区| 午夜精品久久久久久毛片777| 国产精品亚洲一级av第二区| 1024视频免费在线观看| 老熟妇乱子伦视频在线观看| 两个人视频免费观看高清| 国产亚洲精品综合一区在线观看 | 婷婷六月久久综合丁香| 自拍欧美九色日韩亚洲蝌蚪91| 婷婷精品国产亚洲av在线| 午夜精品久久久久久毛片777| 亚洲欧美激情在线| 嫁个100分男人电影在线观看| 色老头精品视频在线观看| 国产精品av久久久久免费| 久久国产亚洲av麻豆专区| 88av欧美| 最新美女视频免费是黄的| av在线播放免费不卡| 少妇的丰满在线观看| 日韩欧美国产一区二区入口| 国产精品秋霞免费鲁丝片| 每晚都被弄得嗷嗷叫到高潮| 久9热在线精品视频| 亚洲中文字幕日韩| 大香蕉久久成人网| 亚洲国产高清在线一区二区三 | 可以在线观看的亚洲视频| 国产一级毛片七仙女欲春2 | 国产激情欧美一区二区| 88av欧美| 中文字幕久久专区| 变态另类丝袜制服| 日本三级黄在线观看| 欧美一区二区精品小视频在线| 90打野战视频偷拍视频| 免费在线观看黄色视频的| av电影中文网址| 国产高清激情床上av| 国产欧美日韩综合在线一区二区| 一边摸一边抽搐一进一出视频| 国产精品,欧美在线| 免费在线观看黄色视频的| 日韩精品中文字幕看吧| 国产三级黄色录像| 国产亚洲欧美精品永久| 岛国在线观看网站| 色综合亚洲欧美另类图片| 十八禁人妻一区二区| 窝窝影院91人妻| 无遮挡黄片免费观看| 在线观看午夜福利视频| 真人做人爱边吃奶动态| 97人妻精品一区二区三区麻豆 | 琪琪午夜伦伦电影理论片6080| 精品欧美一区二区三区在线| 日本黄色视频三级网站网址| 国产一区二区三区在线臀色熟女| 成人三级做爰电影| 亚洲一区二区三区色噜噜| 国产av精品麻豆| 亚洲精品国产色婷婷电影| 此物有八面人人有两片| 人成视频在线观看免费观看| 国产99久久九九免费精品| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲欧美精品综合久久99| 天天躁狠狠躁夜夜躁狠狠躁| 成人三级做爰电影| 久热这里只有精品99| 日本三级黄在线观看| 国产高清激情床上av| 法律面前人人平等表现在哪些方面| 亚洲国产看品久久| 日韩欧美在线二视频| 一区二区日韩欧美中文字幕| av天堂久久9| 18禁国产床啪视频网站| 亚洲欧美日韩高清在线视频| 女生性感内裤真人,穿戴方法视频| 亚洲 欧美一区二区三区| АⅤ资源中文在线天堂| 中文字幕高清在线视频| 成人免费观看视频高清| 热re99久久国产66热| 国产精品日韩av在线免费观看 | 免费搜索国产男女视频| 亚洲专区国产一区二区| 一区二区三区精品91| 久久精品91蜜桃| 欧美成人一区二区免费高清观看 | 精品国产一区二区久久| 国产野战对白在线观看| 成熟少妇高潮喷水视频| 国产欧美日韩一区二区三| 久久午夜综合久久蜜桃| 亚洲精品美女久久av网站| 久久青草综合色| 亚洲精品粉嫩美女一区| 亚洲国产欧美网| 成在线人永久免费视频| 少妇熟女aⅴ在线视频| 免费人成视频x8x8入口观看| 成人av一区二区三区在线看| 在线观看日韩欧美| 久久欧美精品欧美久久欧美| 在线av久久热| 日本 av在线| 中文字幕最新亚洲高清| 亚洲精品美女久久久久99蜜臀| 啦啦啦韩国在线观看视频| 女生性感内裤真人,穿戴方法视频| 一级毛片高清免费大全| 久久久水蜜桃国产精品网| 亚洲国产中文字幕在线视频| avwww免费| 国产精品永久免费网站| 亚洲国产毛片av蜜桃av| 国产成人av教育| 此物有八面人人有两片| 精品久久蜜臀av无| 精品人妻在线不人妻| 级片在线观看| 黄色视频不卡| 一本综合久久免费| 久久亚洲真实| 国产一级毛片七仙女欲春2 | 91在线观看av| 69av精品久久久久久| 亚洲专区国产一区二区| 真人一进一出gif抽搐免费| 午夜福利高清视频| 女人被狂操c到高潮| 男人舔女人下体高潮全视频| av天堂久久9| 老汉色av国产亚洲站长工具| 国产熟女xx| 狠狠狠狠99中文字幕| 亚洲精品一卡2卡三卡4卡5卡| 久久久久九九精品影院| 大型黄色视频在线免费观看| 久久精品国产99精品国产亚洲性色 | 免费看美女性在线毛片视频| 精品福利观看| tocl精华| 久久久久亚洲av毛片大全| 亚洲成国产人片在线观看| 亚洲片人在线观看| 精品一区二区三区av网在线观看| 久久久久久大精品| 久久久久国产精品人妻aⅴ院| 一边摸一边抽搐一进一小说| 女人被躁到高潮嗷嗷叫费观| 欧美丝袜亚洲另类 | 啦啦啦韩国在线观看视频| or卡值多少钱| 老熟妇乱子伦视频在线观看| 如日韩欧美国产精品一区二区三区| 大型黄色视频在线免费观看| 亚洲国产欧美一区二区综合| 亚洲精品一卡2卡三卡4卡5卡| 国产亚洲av嫩草精品影院| 国产高清视频在线播放一区| 欧美中文日本在线观看视频| 国产精品久久久久久精品电影 | 精品电影一区二区在线| 最新在线观看一区二区三区| 国产高清激情床上av| 人人澡人人妻人| 亚洲av日韩精品久久久久久密| 免费在线观看视频国产中文字幕亚洲| 久久久久国内视频| 日韩免费av在线播放| 欧美丝袜亚洲另类 | 真人做人爱边吃奶动态| 欧美成人性av电影在线观看| 日韩中文字幕欧美一区二区| 免费在线观看亚洲国产| 欧美黑人精品巨大| 国产精品电影一区二区三区| 51午夜福利影视在线观看| 一级a爱视频在线免费观看| 精品欧美国产一区二区三| 午夜免费成人在线视频| 国产精品 欧美亚洲| 天堂√8在线中文| 韩国av一区二区三区四区| 色播亚洲综合网| 亚洲一区二区三区色噜噜| 97超级碰碰碰精品色视频在线观看| 精品一品国产午夜福利视频| 夜夜躁狠狠躁天天躁| av在线天堂中文字幕| 777久久人妻少妇嫩草av网站| 制服诱惑二区| 欧美日本亚洲视频在线播放| 亚洲精品国产色婷婷电影| 国产三级黄色录像| 亚洲午夜精品一区,二区,三区| 久久性视频一级片| 国产男靠女视频免费网站| 国产精品久久电影中文字幕| 黄色视频不卡| 亚洲一区中文字幕在线| 国产欧美日韩一区二区精品| 美女大奶头视频| 亚洲天堂国产精品一区在线| 淫秽高清视频在线观看| av免费在线观看网站| 午夜精品久久久久久毛片777| 精品久久久久久,| 制服人妻中文乱码| 国产成人精品在线电影| 黄色成人免费大全| 国产成人一区二区三区免费视频网站| 国产主播在线观看一区二区| 黄色a级毛片大全视频| 在线天堂中文资源库| 色播在线永久视频| 国产一区二区在线av高清观看| 看黄色毛片网站| 精品国产乱码久久久久久男人| 在线十欧美十亚洲十日本专区| 99国产精品一区二区蜜桃av| 老熟妇乱子伦视频在线观看| 亚洲五月天丁香| 国产精品1区2区在线观看.| 国产精品久久久久久人妻精品电影| 欧美国产精品va在线观看不卡| а√天堂www在线а√下载| 少妇熟女aⅴ在线视频| 人成视频在线观看免费观看| 欧美精品亚洲一区二区| 又大又爽又粗| 亚洲中文字幕日韩| 两性夫妻黄色片| 12—13女人毛片做爰片一| 免费在线观看黄色视频的| 97碰自拍视频| 美女 人体艺术 gogo| 免费看a级黄色片| 老司机午夜福利在线观看视频| 国产不卡一卡二| 国产精品永久免费网站| 欧美老熟妇乱子伦牲交| 久久热在线av| 久久精品影院6| 精品高清国产在线一区| 亚洲人成77777在线视频| 亚洲一区二区三区不卡视频| 国产亚洲精品久久久久5区| 亚洲va日本ⅴa欧美va伊人久久| 久久中文字幕一级| 在线观看免费视频日本深夜| 两人在一起打扑克的视频| 国产精品免费一区二区三区在线| 精品国产乱子伦一区二区三区| 欧美激情极品国产一区二区三区| 9191精品国产免费久久| 一个人免费在线观看的高清视频| 91在线观看av| 90打野战视频偷拍视频| 男男h啪啪无遮挡| 国产一区二区三区综合在线观看| 国产激情欧美一区二区| 美女高潮到喷水免费观看| 一区二区三区国产精品乱码| 成在线人永久免费视频| 欧美 亚洲 国产 日韩一| 亚洲精华国产精华精| 亚洲三区欧美一区| 亚洲成av人片免费观看| 女人被躁到高潮嗷嗷叫费观| 国产麻豆69| 丁香欧美五月| 欧洲精品卡2卡3卡4卡5卡区| 亚洲成人国产一区在线观看| 国产激情欧美一区二区| 大陆偷拍与自拍| 97人妻天天添夜夜摸| 欧美乱妇无乱码| 成人国产一区最新在线观看| 亚洲一区高清亚洲精品| 国产高清激情床上av| 91老司机精品| 久久精品人人爽人人爽视色| 韩国av一区二区三区四区| av视频在线观看入口| 国产视频一区二区在线看| 午夜精品久久久久久毛片777| 国产精品久久久久久亚洲av鲁大| 国产成人欧美在线观看| 亚洲片人在线观看| 两个人看的免费小视频| 女性生殖器流出的白浆| 熟妇人妻久久中文字幕3abv| 国产精品久久视频播放| 老汉色∧v一级毛片| 69av精品久久久久久| 亚洲三区欧美一区| 无人区码免费观看不卡| 在线视频色国产色| 正在播放国产对白刺激| 亚洲熟妇熟女久久| 欧美乱色亚洲激情| 色精品久久人妻99蜜桃| 一进一出抽搐gif免费好疼| 久久久久久亚洲精品国产蜜桃av| 久久精品aⅴ一区二区三区四区| 我的亚洲天堂| 一个人免费在线观看的高清视频| 不卡av一区二区三区| 久久久久九九精品影院| 97碰自拍视频| 性欧美人与动物交配| 亚洲第一青青草原| 在线国产一区二区在线| av网站免费在线观看视频| 精品国产亚洲在线| 精品无人区乱码1区二区| 国产xxxxx性猛交| 久久人妻av系列| or卡值多少钱| 老司机在亚洲福利影院| 一区在线观看完整版|