国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于附鏈的容遲網(wǎng)絡(luò)區(qū)塊鏈貿(mào)易機(jī)制

2020-12-10 11:31:40
通信學(xué)報(bào) 2020年11期
關(guān)鍵詞:挖礦聯(lián)通共識

(遼寧工程技術(shù)大學(xué)電子與信息工程學(xué)院,遼寧 葫蘆島 125105)

1 引言

區(qū)塊鏈技術(shù)能使相互之間不信任的用戶在不依賴可信第三方的情況下進(jìn)行安全貿(mào)易[1],其核心優(yōu)勢在于非中心化,通過使用數(shù)據(jù)加密、分布式共識機(jī)制、激勵機(jī)制,改變了中心化貿(mào)易方法,有效地避免了當(dāng)前貿(mào)易過程中的高成本、低效率和不安全數(shù)據(jù)存儲等缺陷。近年來,以太坊的快速發(fā)展促進(jìn)了學(xué)術(shù)界和工業(yè)界對區(qū)塊鏈技術(shù)開展了新一輪的研究和部署[2-6],但已有的研究均建立在區(qū)塊鏈能運(yùn)行在持續(xù)聯(lián)通網(wǎng)絡(luò)的條件下,未涉及網(wǎng)絡(luò)在非持續(xù)聯(lián)通(如容遲網(wǎng)絡(luò))狀態(tài)下如何利用區(qū)塊鏈技術(shù)進(jìn)行貿(mào)易。

已有的調(diào)查發(fā)現(xiàn),2019 年53.6%的全球用戶都已接入互聯(lián)網(wǎng)中[7],通過固定寬帶和移動網(wǎng)絡(luò)接入互聯(lián)網(wǎng)的分別占14.5%和83%,然而,尚有近67.1億人沒有接入或者非實(shí)時接入互聯(lián)網(wǎng)。已有的臨時網(wǎng)絡(luò)和容遲網(wǎng)絡(luò)利用偶發(fā)連接可以為非實(shí)時情況提供一定質(zhì)量保證的接入服務(wù),但不能滿足區(qū)塊鏈運(yùn)行的需求。如果使遠(yuǎn)離城市的山區(qū)、鄉(xiāng)村或者海島上的居民加入?yún)^(qū)塊鏈網(wǎng)絡(luò)開展貿(mào)易和挖礦活動,網(wǎng)絡(luò)接入服務(wù)和區(qū)塊鏈技術(shù)的支持是2 個必不可少的前提。

對于網(wǎng)絡(luò)接入服務(wù),可以采用一些服務(wù)提供商提供的社區(qū)基站方案來解決,對內(nèi)可為本地的用戶搭建社區(qū)局域網(wǎng)絡(luò),對外通過衛(wèi)星接入互聯(lián)網(wǎng),可提供有時延的網(wǎng)絡(luò)接入服務(wù)。Blattman 等[8]建立容遲網(wǎng)絡(luò)為偏遠(yuǎn)山區(qū)、海島等提供遠(yuǎn)程互聯(lián)網(wǎng)接入服務(wù)。以容遲網(wǎng)絡(luò)為基礎(chǔ),Hu 等[9]提出了基于以太坊的時延支付方案,重點(diǎn)關(guān)注了網(wǎng)絡(luò)中斷情況下生成的數(shù)據(jù)總量與節(jié)點(diǎn)帶寬對區(qū)塊上傳的影響。Alaslani等[10]研究了物聯(lián)網(wǎng)中影響區(qū)塊鏈貿(mào)易時間的因素,計(jì)算了物聯(lián)網(wǎng)節(jié)點(diǎn)之間采用區(qū)塊鏈進(jìn)行貿(mào)易的時延。但上述2 個文獻(xiàn)均未對區(qū)塊鏈在該網(wǎng)絡(luò)下的適應(yīng)性做表述。對于區(qū)塊鏈技術(shù),加密貨幣的應(yīng)用使其具有非中心化貿(mào)易的特征[11],但需要持續(xù)的網(wǎng)絡(luò)連接,保證貿(mào)易主體和協(xié)同者之間進(jìn)行大量的數(shù)據(jù)交互。在不能保證實(shí)時聯(lián)通的容遲網(wǎng)絡(luò),區(qū)塊鏈擴(kuò)展技術(shù)[12]可為區(qū)塊鏈部署提供一定的支持,以網(wǎng)絡(luò)中斷為分界,將容遲網(wǎng)絡(luò)分割為網(wǎng)絡(luò)聯(lián)通和非聯(lián)通2 個階段,利用擴(kuò)展技術(shù)將網(wǎng)絡(luò)非聯(lián)通時生成的區(qū)塊在聯(lián)通時附加到主鏈上。Worley 等[13]介紹了已有的側(cè)鏈技術(shù),指出側(cè)鏈可以有不同于主鏈的共識協(xié)議,但如何有效地將側(cè)鏈整合到主鏈上依然是待研究的問題。

綜上,如何在容遲網(wǎng)絡(luò)支持節(jié)點(diǎn)之間的區(qū)塊鏈貿(mào)易是本文解決的問題。本文的貢獻(xiàn)如下。

1)構(gòu)建了容遲網(wǎng)絡(luò)區(qū)塊鏈貿(mào)易模型,以節(jié)點(diǎn)能力屬性為基準(zhǔn),設(shè)計(jì)了節(jié)點(diǎn)可參與區(qū)塊鏈活動的類型,提出了容遲網(wǎng)絡(luò)區(qū)塊鏈貿(mào)易的2 種不同類型及其識別依據(jù)。

2)設(shè)計(jì)了新的區(qū)塊數(shù)據(jù)結(jié)構(gòu),以此為基礎(chǔ),提出了從屬于主鏈的附鏈定義、附鏈區(qū)塊打包方法、附鏈區(qū)塊挖掘方法、附鏈區(qū)塊共識方法及網(wǎng)絡(luò)重聯(lián)通時附鏈追加到主鏈的確認(rèn)共識方法。

3)從理論上證明了提出的容遲網(wǎng)絡(luò)區(qū)塊鏈貿(mào)易機(jī)制具有持續(xù)性、安全性和容錯性的特征,從實(shí)驗(yàn)?zāi)M上分析了所提機(jī)制的有效性。

2 容遲網(wǎng)絡(luò)區(qū)塊鏈模型

諾基亞使用Kuha 基站[14]的方式為難以建立基礎(chǔ)通信設(shè)施的區(qū)域提供周期性網(wǎng)絡(luò)互聯(lián)服務(wù)。該區(qū)域內(nèi)節(jié)點(diǎn)通過基站設(shè)備(由Kuha 提供)實(shí)現(xiàn)相互通信,稱之為社區(qū),一個社區(qū)就是一個局域網(wǎng)絡(luò)。基站設(shè)備與衛(wèi)星進(jìn)行連接和通信,為社區(qū)內(nèi)節(jié)點(diǎn)提供帶有時延的互聯(lián)網(wǎng)連接服務(wù)。與Kuha 類似,構(gòu)建帶有衛(wèi)星通信的容遲網(wǎng)絡(luò),如圖1 所示。依據(jù)節(jié)點(diǎn)(用戶)所在地理位置將容遲網(wǎng)絡(luò)分成2 個表示性的區(qū)域:網(wǎng)絡(luò)實(shí)時聯(lián)通區(qū)域(以城市為代表)和網(wǎng)絡(luò)非實(shí)時聯(lián)通區(qū)域(以非城市為代表)。處于實(shí)時聯(lián)通區(qū)域的節(jié)點(diǎn)很少發(fā)生網(wǎng)絡(luò)中斷的情形。位于非實(shí)時聯(lián)通區(qū)域基于運(yùn)營商收益考慮,僅建有少量的基礎(chǔ)設(shè)施,通過衛(wèi)星中繼接入互聯(lián)網(wǎng),其網(wǎng)絡(luò)連接狀態(tài)周期性處于非聯(lián)通狀態(tài),該區(qū)域內(nèi)部的節(jié)點(diǎn)通過無線或有線方式互通。定義“全網(wǎng)”是指由實(shí)時聯(lián)通區(qū)域和處于網(wǎng)絡(luò)聯(lián)通周期的非實(shí)時聯(lián)通區(qū)域內(nèi)的節(jié)點(diǎn)組成的網(wǎng)絡(luò)。定義“局域網(wǎng)”是指處于非實(shí)時聯(lián)通區(qū)域的連接到同一基站設(shè)備的節(jié)點(diǎn)組成的網(wǎng)絡(luò)。假設(shè)局域網(wǎng)絡(luò)為V,,N表示自然數(shù),vi表示第i個非城市區(qū)域。在每個非城市區(qū)域內(nèi),包含節(jié)點(diǎn)和運(yùn)營商服務(wù)器(基站)。

圖1 容遲網(wǎng)絡(luò)區(qū)塊鏈模型

區(qū)塊鏈網(wǎng)絡(luò)建立完成后,可以容納節(jié)點(diǎn)之間的貿(mào)易,該網(wǎng)絡(luò)下的區(qū)塊鏈節(jié)點(diǎn)活動詳細(xì)描述如圖2所示。區(qū)塊鏈網(wǎng)絡(luò)中存在2 類節(jié)點(diǎn):輕量級節(jié)點(diǎn)和完全節(jié)點(diǎn)。輕量級節(jié)點(diǎn)以手機(jī)設(shè)備為代表,安裝輕量級的區(qū)塊鏈軟件,具有低計(jì)算、存儲和帶寬能力,在區(qū)塊鏈中只能和其他節(jié)點(diǎn)發(fā)起貿(mào)易。完全節(jié)點(diǎn)以計(jì)算機(jī)設(shè)備為代表,安裝完全的區(qū)塊鏈軟件,具有一定的計(jì)算、存儲和帶寬能力,在區(qū)塊鏈中能進(jìn)行貿(mào)易,參與消息轉(zhuǎn)發(fā)、挖礦、共識等活動??紤]非城市網(wǎng)絡(luò)會發(fā)生連接斷開的情況,將貿(mào)易類型分為2 種:貿(mào)易發(fā)起者在非實(shí)時聯(lián)通區(qū)域內(nèi),貿(mào)易發(fā)起者在非實(shí)時聯(lián)通區(qū)域外。當(dāng)網(wǎng)絡(luò)正常時,區(qū)域vi內(nèi)的節(jié)點(diǎn)與其他區(qū)域節(jié)點(diǎn)一樣參與區(qū)塊鏈活動,當(dāng)網(wǎng)絡(luò)中斷時,vi內(nèi)節(jié)點(diǎn)在本地設(shè)備上記錄中斷的時間tinter。設(shè)網(wǎng)絡(luò)重聯(lián)通時刻為tconn、tinter和tconn之間的時間段,節(jié)點(diǎn)在運(yùn)營商服務(wù)器的支持下會維持封閉的局域P2P 網(wǎng)絡(luò),此時,在該網(wǎng)絡(luò)中運(yùn)行區(qū)塊鏈應(yīng)用是可行的。具體來說,位于同一局域網(wǎng)的節(jié)點(diǎn)相互之間是可以通過運(yùn)營商服務(wù)器進(jìn)行相互通信,以此為基礎(chǔ)部署區(qū)塊鏈,完成對網(wǎng)絡(luò)非聯(lián)通狀態(tài)局域網(wǎng)節(jié)點(diǎn)生成貿(mào)易記錄的打包、挖礦和共識過程。

圖2 容遲網(wǎng)絡(luò)區(qū)塊鏈節(jié)點(diǎn)活動

如圖2 所示,當(dāng)前時刻t(tinter≤t≤tconn)節(jié)點(diǎn)可進(jìn)行的活動有:1)繼續(xù)進(jìn)行tinter之前已經(jīng)開始的挖礦活動,風(fēng)險(xiǎn)是當(dāng)網(wǎng)絡(luò)恢復(fù)時,由于時延,該數(shù)據(jù)塊已經(jīng)被其他節(jié)點(diǎn)挖掘出而造成算力浪費(fèi);2)放棄tinter之前已經(jīng)開始的挖礦活動,在本地局域網(wǎng)絡(luò)內(nèi)尋找時間戳在tinter之后的貿(mào)易記錄并打包成塊,開展挖礦活動;3)中斷當(dāng)前的驗(yàn)證活動,停止更新本地的區(qū)塊鏈賬簿,記錄中斷時區(qū)塊鏈最后一塊的哈希值。網(wǎng)絡(luò)連接中斷時,在本地局域網(wǎng)絡(luò)內(nèi)產(chǎn)生的新貿(mào)易記錄會被本局域網(wǎng)節(jié)點(diǎn)進(jìn)行打包、挖礦和共識,追加在本地的區(qū)塊鏈中。當(dāng)前時刻(ttconn≤t)時,網(wǎng)絡(luò)已經(jīng)恢復(fù)連接,節(jié)點(diǎn)可進(jìn)行的活動有:1)下載最新的區(qū)塊鏈以同步本地賬簿;2)網(wǎng)絡(luò)連接恢復(fù)時將[tinter,tconn]周期內(nèi)追加的區(qū)塊在整個區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行確認(rèn)共識,確認(rèn)后更新入本地賬簿中;3)未被挖掘的斷網(wǎng)時產(chǎn)生的貿(mào)易記錄全部由本地節(jié)點(diǎn)挖掘,網(wǎng)絡(luò)聯(lián)通時產(chǎn)生的貿(mào)易記錄由全網(wǎng)節(jié)點(diǎn)挖掘。

3 容遲網(wǎng)絡(luò)區(qū)塊鏈貿(mào)易機(jī)制

容遲網(wǎng)絡(luò)在網(wǎng)絡(luò)中斷時形成局域網(wǎng),網(wǎng)內(nèi)節(jié)點(diǎn)生成的貿(mào)易記錄只能在局域網(wǎng)內(nèi)部被接收,節(jié)點(diǎn)當(dāng)前正在進(jìn)行的挖礦活動會因網(wǎng)絡(luò)較大的時延而有很大的概率不能追加到區(qū)塊鏈上,節(jié)點(diǎn)賬戶信息不能及時更新,從而可能造成虛假貿(mào)易,因此局域網(wǎng)生成的區(qū)塊在網(wǎng)絡(luò)重聯(lián)通時需要追加到區(qū)塊鏈中且不能對局域網(wǎng)外正在挖礦的節(jié)點(diǎn)造成不利影響。針對上述網(wǎng)絡(luò)非聯(lián)通情況下的特性和需求,本文修改了附鏈區(qū)塊數(shù)據(jù)結(jié)構(gòu),將區(qū)塊鏈結(jié)構(gòu)更改成可容納分支的鏈?zhǔn)浇Y(jié)構(gòu),設(shè)計(jì)了附鏈區(qū)塊打包方法、挖掘方法、共識方法及網(wǎng)絡(luò)重聯(lián)通時的確認(rèn)共識方法。

3.1 區(qū)塊數(shù)據(jù)結(jié)構(gòu)

在企業(yè)級網(wǎng)絡(luò)中,已有的區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)保證了區(qū)塊能以鏈?zhǔn)浇Y(jié)構(gòu)進(jìn)行分布式存儲,但嚴(yán)重限制了區(qū)塊的可擴(kuò)展性。為了滿足在容遲網(wǎng)絡(luò)中能利用區(qū)塊鏈進(jìn)行貿(mào)易,在主鏈上容納網(wǎng)絡(luò)中斷時局域網(wǎng)生成的區(qū)塊且不對當(dāng)前正在挖礦的節(jié)點(diǎn)產(chǎn)生影響,本文修改了附鏈區(qū)塊數(shù)據(jù)結(jié)構(gòu),如圖3 所示。

區(qū)域vi的網(wǎng)絡(luò)處于非聯(lián)通狀態(tài)時,節(jié)點(diǎn)以tinter為分界點(diǎn),通過查詢貿(mào)易記錄時間戳或接收到該貿(mào)易記錄的時刻將貿(mào)易記錄分成2 類:tinter之前的貿(mào)易記錄和[tinter,tconn]范圍的貿(mào)易記錄。以此為基礎(chǔ),可采用3 種方案對貿(mào)易記錄進(jìn)行打包成區(qū)塊:全部打包tinter之前的貿(mào)易記錄;全部打包在[tinter,tconn]范圍的貿(mào)易記錄;混合打包以上2 種貿(mào)易記錄。第一種和第三種方案在網(wǎng)絡(luò)重聯(lián)通時,由于較長的時延,有極大的可能性導(dǎo)致該塊不能被追加到區(qū)塊鏈主鏈上,雖然浪費(fèi)算力,但能獲取到挖礦的獎勵。第二種方案在網(wǎng)絡(luò)重聯(lián)通時以附鏈的方式追加到主鏈,由于該挖礦屬于區(qū)域內(nèi)的活動,沒有挖礦獎勵,但收取貿(mào)易記錄內(nèi)聲明的貿(mào)易手續(xù)費(fèi)。

圖3 附鏈及修改后的區(qū)塊數(shù)據(jù)結(jié)構(gòu)

區(qū)域vi內(nèi)節(jié)點(diǎn)將貿(mào)易記錄按圖3 修改后的區(qū)塊數(shù)據(jù)結(jié)構(gòu)進(jìn)行打包成區(qū)塊,將區(qū)塊標(biāo)識位置1,說明該塊是網(wǎng)絡(luò)處于非聯(lián)通狀態(tài)時挖掘出來的,且附加到主鏈上。將區(qū)塊標(biāo)識位置0,說明該塊是網(wǎng)絡(luò)聯(lián)通狀態(tài)下挖掘出來的,參與全網(wǎng)區(qū)塊共識,確定是否追加到主鏈上,如果在網(wǎng)絡(luò)非聯(lián)通情況下將區(qū)塊標(biāo)識位置0,則由于網(wǎng)絡(luò)中斷時延,有很大的可能性導(dǎo)致該塊不能被追加到主鏈上。網(wǎng)絡(luò)非聯(lián)通情況下,父哈希值數(shù)據(jù)來源于網(wǎng)絡(luò)中斷時本地區(qū)塊鏈最后一個區(qū)塊的哈希值。挖礦難度可以依據(jù)區(qū)塊鏈更新難度的方式,從網(wǎng)絡(luò)中獲取。

3.2 附鏈區(qū)塊挖掘

附鏈區(qū)塊挖掘是在容遲網(wǎng)絡(luò)非聯(lián)通階段內(nèi)由局域網(wǎng)內(nèi)部節(jié)點(diǎn)進(jìn)行的區(qū)塊生成的活動,與比特幣網(wǎng)絡(luò)挖礦方法相同。在圖3 所示的區(qū)塊數(shù)據(jù)結(jié)構(gòu)下,在一次非聯(lián)通階段只能生成一個區(qū)塊,因此需要依據(jù)上一次挖礦時間對挖礦難度進(jìn)行動態(tài)調(diào)整。挖礦難度計(jì)算方法為

其中,BDIFF 是當(dāng)前的挖礦難度;BMAX 是初始數(shù)值;BT 是當(dāng)前挖礦的目標(biāo)值;TA 是全網(wǎng)平均挖礦時間,即塊生成時間(當(dāng)前比特幣網(wǎng)絡(luò)塊生成時間約為10 min);TI 是網(wǎng)絡(luò)非聯(lián)通時間;CA 是區(qū)塊鏈網(wǎng)絡(luò)平均算力;CI 是非聯(lián)通網(wǎng)絡(luò)節(jié)點(diǎn)的平均算力。運(yùn)營商服務(wù)器負(fù)責(zé)管理vi內(nèi)節(jié)點(diǎn)網(wǎng)絡(luò)接入功能,可按照全網(wǎng)算力的測算方法統(tǒng)計(jì)出網(wǎng)內(nèi)節(jié)點(diǎn)的平均算力CI,預(yù)估網(wǎng)絡(luò)非聯(lián)通時間TI,運(yùn)營商服務(wù)器檢測本次網(wǎng)絡(luò)非聯(lián)通時間內(nèi)局域網(wǎng)節(jié)點(diǎn)挖礦的區(qū)塊數(shù)(可通過需要共識的區(qū)塊數(shù)確定),初始設(shè)置CI=CA、TI=TA,此時,局域網(wǎng)挖礦難度和全網(wǎng)一致,記錄局域網(wǎng)節(jié)點(diǎn)挖出的第一個區(qū)塊的時間,該時間為TI,統(tǒng)計(jì)出全網(wǎng)挖礦的平均時間TA 和平均算力CA,即可計(jì)算出CI 值。然后依據(jù)每次網(wǎng)絡(luò)非聯(lián)通時節(jié)點(diǎn)挖掘出的第一個區(qū)塊的時間動態(tài)調(diào)整BDIFF 數(shù)值,運(yùn)營商服務(wù)器在網(wǎng)絡(luò)非聯(lián)通時將該值廣播到所在區(qū)域節(jié)點(diǎn),區(qū)域內(nèi)節(jié)點(diǎn)就按照此難度值進(jìn)行挖礦。

3.3 附鏈區(qū)塊共識

網(wǎng)絡(luò)非聯(lián)通情況下的局域網(wǎng)共識機(jī)制與工作量證明類似,需要檢查區(qū)塊標(biāo)識位是否置1,若非1 則放棄該塊共識(即使是網(wǎng)絡(luò)聯(lián)通正常時挖掘出的區(qū)塊,即區(qū)塊標(biāo)識位為0,也會因?yàn)楣沧R節(jié)點(diǎn)比例不夠而被放棄,從而浪費(fèi)算力);檢查難度設(shè)置是否與本地難度一致;按照工作量證明進(jìn)行驗(yàn)證,需要注意的是,節(jié)點(diǎn)沒有挖礦獎勵,僅收取貿(mào)易處理手續(xù)費(fèi)。網(wǎng)絡(luò)非聯(lián)通狀態(tài)下附鏈區(qū)塊共識算法可簡述為:步驟①,驗(yàn)證區(qū)塊標(biāo)識,是否為網(wǎng)絡(luò)非聯(lián)通時生成的區(qū)塊;步驟②,驗(yàn)證挖礦難度;步驟③,統(tǒng)計(jì)該區(qū)塊被驗(yàn)證通過的次數(shù)(達(dá)到區(qū)塊被全網(wǎng)節(jié)點(diǎn)驗(yàn)證通過的比例),具體如算法1 所示。

算法1網(wǎng)絡(luò)非聯(lián)通條件下附鏈區(qū)塊共識算法

網(wǎng)絡(luò)非聯(lián)通狀態(tài)下挖掘的區(qū)塊可能存在2 個問題:1)區(qū)塊造假,節(jié)點(diǎn)由于網(wǎng)絡(luò)非聯(lián)通狀態(tài)下挖礦的難度較低,且參與共識的節(jié)點(diǎn)相對較少的特征,在網(wǎng)絡(luò)聯(lián)通時,私自傳播區(qū)塊,占用網(wǎng)絡(luò)帶寬且浪費(fèi)算力;2)虛假貿(mào)易,用戶利用貿(mào)易時延,超出賬戶余額進(jìn)行貿(mào)易,例如用戶John 賬戶余額為4 虛擬幣,在網(wǎng)絡(luò)聯(lián)通時,John 將3 虛擬幣給用戶Bob,該貿(mào)易未追加到區(qū)塊鏈主鏈中,在網(wǎng)絡(luò)非聯(lián)通時,John將2 虛擬幣貿(mào)易給用戶Alice,這2 條貿(mào)易均可能成功被記錄到區(qū)塊鏈。為了解決上述問題,在附鏈區(qū)塊追加到主鏈時,需要進(jìn)行確認(rèn)共識。

3.4 附鏈區(qū)塊追加

網(wǎng)絡(luò)非聯(lián)通狀態(tài)下經(jīng)共識后的區(qū)塊,暫時存儲在局域網(wǎng)節(jié)點(diǎn)處,在網(wǎng)絡(luò)聯(lián)通時,每個節(jié)點(diǎn)將該區(qū)塊廣播到全網(wǎng)中。接收到該區(qū)塊的節(jié)點(diǎn),利用哈希函數(shù)計(jì)算該區(qū)塊的哈希值,并臨時存儲在本地,按照預(yù)定的閾值,當(dāng)接收相同哈希值的區(qū)塊次數(shù)超過閾值時,認(rèn)為該區(qū)塊為非虛假區(qū)塊,解決第一個問題。網(wǎng)絡(luò)中的節(jié)點(diǎn)在檢查區(qū)塊真實(shí)性后,將該區(qū)塊每條貿(mào)易發(fā)起人的賬戶余額與區(qū)塊鏈賬簿中該用戶的賬戶余額進(jìn)行對比,以確定該區(qū)塊是否有虛假貿(mào)易,解決第二個問題。附鏈區(qū)塊追加算法(即確認(rèn)共識算法)可簡述為:步驟①,驗(yàn)證區(qū)塊標(biāo)識;步驟②,驗(yàn)證同一區(qū)塊驗(yàn)證次數(shù);步驟③,驗(yàn)證區(qū)塊內(nèi)貿(mào)易記錄,具體如算法2 所示。

算法2確認(rèn)共識算法

4 理論分析和性能評估

評定區(qū)塊鏈性能的基本屬性包括持續(xù)性和安全性[15-16]。持續(xù)性保證了區(qū)塊鏈服務(wù)的可用性,安全性保證了在同一時刻有且僅有一個區(qū)塊能被節(jié)點(diǎn)接收。評定區(qū)塊鏈性能的擴(kuò)展屬性為容錯性,保證區(qū)塊鏈服務(wù)可正常工作條件下,網(wǎng)絡(luò)中容許惡意節(jié)點(diǎn)的比例。

4.1 理論分析

定義1持續(xù)性。在每個時間段內(nèi),生成至少一個新的區(qū)塊。

證明在區(qū)塊鏈中,礦工將多條貿(mào)易記錄打包成區(qū)塊,以達(dá)到預(yù)期的收益。依據(jù)Btime,在一個時間單位內(nèi),會有多個貿(mào)易記錄到達(dá)礦工節(jié)點(diǎn)。在τ內(nèi),貿(mào)易手續(xù)費(fèi)滿足的貿(mào)易被礦工打包,則生成下一個區(qū)塊的時間為。因此,礦工通常在時間內(nèi)生成一個新的區(qū)塊。

證畢。

定義2安全性。在每個時間段內(nèi),即使由不同的礦工生成多個區(qū)塊,也不會產(chǎn)生分支。

定義2 處于非聯(lián)通狀態(tài)下的容遲網(wǎng)絡(luò),假設(shè)標(biāo)號為0~N的區(qū)塊已經(jīng)追加到區(qū)塊鏈中,在下一個時間段內(nèi),遵守區(qū)塊鏈協(xié)議的礦工會共識同一標(biāo)號為N+1 的區(qū)塊。

證明依據(jù)定義1,在標(biāo)號為0~N的區(qū)塊被追加至區(qū)塊鏈后,在一個時間段內(nèi),有至少一個標(biāo)號為N+1 的區(qū)塊由礦工生成。在新區(qū)塊生成的同時,礦工會將該區(qū)塊立刻廣播到網(wǎng)絡(luò)中,而在有限時間內(nèi),該區(qū)塊就會被網(wǎng)絡(luò)中其他節(jié)點(diǎn)接收到。假設(shè)節(jié)點(diǎn)i在t0時刻接收到該時間段內(nèi)的第一個區(qū)塊BN+1,則i在t0+τ時間內(nèi)持續(xù)監(jiān)聽和接收其他區(qū)塊。t0+τ時刻之后,依據(jù)算法1,i選擇時間戳最小的區(qū)塊作為標(biāo)號為N+1 的區(qū)塊加入到區(qū)塊鏈中。

因?yàn)椋粐姆晌幕c一國的政治、經(jīng)濟(jì)相互交融。不同政治體制、經(jīng)濟(jì)發(fā)展道路的國家所表現(xiàn)的法律文化往往大相徑庭,此時要直接通過法律文化變化的方式發(fā)起自主的法律趨同,不僅理論上不可能,實(shí)踐上也難以進(jìn)行。不過,法律文化的多樣性是人類社會的基本特征,一國的法律文化也并非封閉、守舊的,文化的交流在“地球村”的背景下一直在進(jìn)行,此時,若一國的法律文化在兩國交流的過程中被他國理解、接受并認(rèn)可,進(jìn)而產(chǎn)生法律文化的借鑒與融合,致使一國的法律文化發(fā)生變化,則可能使原本擁有完全不同的政治、經(jīng)濟(jì)發(fā)展背景的國家自主地向經(jīng)濟(jì)發(fā)達(dá)國家趨同,甚至相互趨同。而這里的關(guān)鍵因素就在于法律的相互理解、接受、認(rèn)可,即法律認(rèn)同。

依據(jù)以上過程,網(wǎng)絡(luò)中的節(jié)點(diǎn)都依據(jù)自己接收的新區(qū)塊,確定標(biāo)號為N+1 的區(qū)塊,該區(qū)塊的時間戳為TSN+1,且t?TSN+1>0,有式(2)所示密度計(jì)算式成立。

則有

在一段時間結(jié)束時,即t=TSN+1+τ時刻,標(biāo)號為N+1 的區(qū)塊被節(jié)點(diǎn)接收的概率為

由式(4)可以得到,當(dāng)時間戳大于TSN+1的區(qū)塊到來時,其監(jiān)聽持續(xù)時間t'要小于TSN+1+τ,依據(jù)概率論的置信區(qū)間原則,該區(qū)塊被接收的概率降低,即

接收新區(qū)塊的等待時間τ是影響區(qū)塊被接收概率的關(guān)鍵參數(shù),該參數(shù)可依據(jù)網(wǎng)絡(luò)狀態(tài)和實(shí)際需求進(jìn)行動態(tài)調(diào)整,可取值為τ=12ω(以太坊區(qū)塊鏈)或τ=12.6ω(比特幣區(qū)塊鏈),ω∈[1,10]。當(dāng)ω=2時,時間戳為TSN+1的新塊被接收的概率為0.865;當(dāng)ω=6 時,時間戳為TSN+1的新區(qū)塊被接收的概率為0.99。

證畢。

定義3容錯性。在區(qū)塊鏈網(wǎng)絡(luò)中存在惡意節(jié)點(diǎn)的情況下,遵守區(qū)塊鏈協(xié)議的節(jié)點(diǎn)也能將同一區(qū)塊追加到區(qū)塊鏈中。

定義3 處于非聯(lián)通狀態(tài)下的容遲網(wǎng)絡(luò),一定比例的惡意節(jié)點(diǎn)不會對新區(qū)塊的追加造成影響。

證明基于區(qū)塊鏈中節(jié)點(diǎn)不可信及以利益為驅(qū)動的事實(shí),理性的惡意節(jié)點(diǎn)也是以獲取更多收益為目標(biāo)。根據(jù)定義2,一旦惡意節(jié)點(diǎn)較之其他節(jié)點(diǎn)先挖掘出區(qū)塊,該節(jié)點(diǎn)會在第一時間將該區(qū)塊廣播到全網(wǎng),以取得較大的接收概率,此時惡意節(jié)點(diǎn)不會有惡意行為,也不會對區(qū)塊追加造成影響。反之,該節(jié)點(diǎn)會與其他惡意節(jié)點(diǎn)聯(lián)合,以使挖掘的區(qū)塊被接收。然而,遵守區(qū)塊鏈協(xié)議的節(jié)點(diǎn)由于該區(qū)塊時間戳較大而拒絕接收該區(qū)塊。

當(dāng)節(jié)點(diǎn)不確定接收到的區(qū)塊來源是否是惡意節(jié)點(diǎn)時,節(jié)點(diǎn)可以向其他節(jié)點(diǎn)發(fā)送請求,以更新本地接收到的區(qū)塊。如果被請求的節(jié)點(diǎn)中有遵守區(qū)塊鏈協(xié)議的節(jié)點(diǎn),則該節(jié)點(diǎn)能得到本時間段有最小時間戳的區(qū)塊,從而保證惡意節(jié)點(diǎn)不會對該節(jié)點(diǎn)追加的新區(qū)塊造成影響。

但存在一種極端情況,即節(jié)點(diǎn)發(fā)送更新區(qū)塊請求時,其鄰居節(jié)點(diǎn)均是惡意節(jié)點(diǎn),此時,更新的區(qū)塊是錯誤的,會影響新區(qū)塊追加。假設(shè)區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)量為O,惡意節(jié)點(diǎn)數(shù)量為Ω,則惡意節(jié)點(diǎn)的比例。設(shè)節(jié)點(diǎn)的鄰居數(shù)量為H,則鄰居節(jié)點(diǎn)均為惡意節(jié)點(diǎn)的概率Π的計(jì)算方法可簡述為第一個鄰居節(jié)點(diǎn)為惡意節(jié)點(diǎn)的概率為,第二個鄰居節(jié)點(diǎn)為惡意節(jié)點(diǎn)的概率為,依次類推,第H個鄰居節(jié)點(diǎn)為惡意節(jié)點(diǎn)的概率為,則有

依據(jù)網(wǎng)絡(luò)實(shí)際需求,設(shè)最大可容納惡意節(jié)點(diǎn)的比例為閾值σ,Π要滿足不大于σ,即

在網(wǎng)絡(luò)中,節(jié)點(diǎn)的鄰居節(jié)點(diǎn)數(shù)量和網(wǎng)絡(luò)中全部的節(jié)點(diǎn)數(shù)量的比值趨近于0,式(7)可以近似轉(zhuǎn)換為

從式(8)可知,H越大時,Π越小,但H值影響設(shè)備的性能,即設(shè)備同時連接節(jié)點(diǎn)數(shù)是有限制的。當(dāng)σ=1×10?6、平均鄰居節(jié)點(diǎn)數(shù)為[10,20],網(wǎng)絡(luò)中可以容納的惡意節(jié)點(diǎn)比例為25%~50%。

證畢。

定義4能耗。能耗是指區(qū)塊生成過程中的電力消耗。相比于PoW 方式,在全網(wǎng)范圍內(nèi)生成主鏈區(qū)塊的能源消耗變化不大。在局域網(wǎng)范圍內(nèi)由于算力相對于全網(wǎng)來說是有限的,依據(jù)設(shè)計(jì)的挖礦難度動態(tài)調(diào)整算法,生成附鏈區(qū)塊所消耗的電力較低。

定義5區(qū)塊生成時間和確認(rèn)時間。區(qū)塊生成時間是指從貿(mào)易記錄打包開始,直到區(qū)塊被挖掘出來為止。確認(rèn)時間是指從區(qū)塊生成時刻算起到追加到區(qū)塊鏈上為止。相比于PoW 方式,在全網(wǎng)范圍內(nèi)主鏈區(qū)塊生成時間和確認(rèn)時間變化不大。在局域網(wǎng)范圍內(nèi)依據(jù)挖礦難度動態(tài)調(diào)整算法,附鏈區(qū)塊生成時間較短。但附鏈區(qū)塊需要在局域網(wǎng)絡(luò)聯(lián)通時上傳到全網(wǎng)其他節(jié)點(diǎn)進(jìn)行確認(rèn)共識,確認(rèn)共識時間與PoW 一致,上傳時間取決于網(wǎng)絡(luò)帶寬,因此,附鏈區(qū)塊確認(rèn)時間較PoW 長。

4.2 性能評估

為了評估所提機(jī)制在網(wǎng)絡(luò)非聯(lián)通狀態(tài)下的性能,利用PeerSim[18]模擬器建立P2P 網(wǎng)絡(luò)環(huán)境用以運(yùn)行區(qū)塊鏈系統(tǒng),并將該網(wǎng)格分割成多個封閉的P2P 子網(wǎng)絡(luò),每個子網(wǎng)絡(luò)設(shè)置主路由節(jié)點(diǎn)模擬運(yùn)營商服務(wù)器,主路由節(jié)點(diǎn)的工作方式是周期性地連接或斷開局域網(wǎng)絡(luò),以模擬基站與衛(wèi)星的工作方式。區(qū)塊鏈運(yùn)行協(xié)議為區(qū)塊鏈協(xié)議,數(shù)據(jù)傳輸遵循TCP/IP(transmission control protocol/Internet protocol)。使用由10 臺刀片式服務(wù)器組成的服務(wù)器集群作為硬件運(yùn)行環(huán)境,每個刀片服務(wù)器的主要配置為2 顆Intel Xeon E5-2620 CPU,每顆包含8 核、16 線程、32 GB 內(nèi)存。由這些服務(wù)器集群利用虛擬化方式生成1 000 個節(jié)點(diǎn),每個節(jié)點(diǎn)的算力相同,初始區(qū)塊生成時間為10 min,按照已有的礦機(jī)的收益和成本參數(shù),設(shè)置區(qū)塊中的虛擬貨幣(收益)和實(shí)際的美元(成本)的比值ζ的數(shù)量級為10?4,網(wǎng)絡(luò)中斷時間和網(wǎng)絡(luò)聯(lián)通時間的比值為0.5。依據(jù)文獻(xiàn)[17,19],貿(mào)易到達(dá)速率符合參數(shù)為0.079(即比特幣)的泊松分布。定義節(jié)點(diǎn)的收益率Brate為節(jié)點(diǎn)的收益和成本的比值,即

其中,Income 是挖礦獲得貿(mào)易的處理費(fèi)用,是一段時間內(nèi)挖礦成功時獲得的費(fèi)用之和;Consume是付出的成本,包括電費(fèi)、設(shè)備費(fèi)等,是一段時間內(nèi)無論挖礦是否成功都要付出的成本之和。節(jié)點(diǎn)打包貿(mào)易記錄采用的方法有2 種:1)將每條貿(mào)易的處理費(fèi)用按從高到低排序,選擇前面的貿(mào)易記錄打包;2)在1)的基礎(chǔ)上,隨機(jī)附加貿(mào)易處理費(fèi)用低的貿(mào)易記錄打包。

長時間運(yùn)行的非聯(lián)通網(wǎng)絡(luò)區(qū)塊鏈節(jié)點(diǎn)的收益率變化如圖4 所示。從圖4 中可以看出,節(jié)點(diǎn)的收益率在運(yùn)行過程中是穩(wěn)定的,這是由于節(jié)點(diǎn)能依據(jù)上次挖礦時確認(rèn)共識的結(jié)果調(diào)整本次打包的記錄個數(shù),從而保證確認(rèn)共識時需要的區(qū)塊能成功廣播到全網(wǎng)。當(dāng)區(qū)塊中的貨幣實(shí)際價格升高時,在保證收益的情況下,節(jié)點(diǎn)采取降低打包的貿(mào)易記錄條數(shù),減少區(qū)塊的大小,較穩(wěn)妥地獲得該區(qū)塊的收益。

圖4 非聯(lián)通網(wǎng)絡(luò)區(qū)塊鏈節(jié)點(diǎn)的收益率變化情況

圖5 顯示的是貿(mào)易個數(shù)和收益率之間的關(guān)系。貿(mào)易個數(shù)反映的是區(qū)塊在非聯(lián)通網(wǎng)絡(luò)高帶寬節(jié)點(diǎn)比例固定(25%)的情況下的大小,理論上講,貿(mào)易個數(shù)越多,則獲得的收益越大。但實(shí)際上,當(dāng)貿(mào)易個數(shù)過多(區(qū)塊較大)時,會在網(wǎng)絡(luò)聯(lián)通時沒有足夠的節(jié)點(diǎn)成功將該區(qū)塊廣播到全網(wǎng)中,導(dǎo)致算法2 中節(jié)點(diǎn)接收同一區(qū)塊數(shù)達(dá)到閾值這一條件不能滿足,致使該區(qū)塊被放棄,不能獲得收益。從圖5 中可以看出,收益率隨貿(mào)易記錄數(shù)的增加存在最大值,該值之后的區(qū)塊廣播會存在一定的失敗概率。當(dāng)挖掘出來的區(qū)塊大小和區(qū)塊大小上限的比例超過75%時,區(qū)塊廣播成功率會急劇下降,導(dǎo)致負(fù)收益的情況發(fā)生。

圖5 貿(mào)易個數(shù)的增加對收益率的影響

網(wǎng)絡(luò)時延和難度級別的關(guān)系如圖6 所示,其中縱坐標(biāo)是調(diào)整后的挖礦難度與當(dāng)前比特網(wǎng)挖礦難度的比值。網(wǎng)絡(luò)時延和網(wǎng)絡(luò)非聯(lián)通時間相關(guān),非聯(lián)通時間越長,網(wǎng)絡(luò)時延越大。依據(jù)一條附鏈只能附加一個區(qū)塊的原則,當(dāng)網(wǎng)絡(luò)時延較大時,適當(dāng)調(diào)整挖礦難度只能在同一網(wǎng)絡(luò)非聯(lián)通時段挖掘出一個區(qū)塊。

圖6 網(wǎng)絡(luò)時延和難度級別的關(guān)系

在相同網(wǎng)絡(luò)時延下,網(wǎng)絡(luò)中惡意節(jié)點(diǎn)數(shù)量對區(qū)塊生成時間的影響如圖7 所示。當(dāng)網(wǎng)絡(luò)中惡意節(jié)點(diǎn)的比例分別為10%、25%、40%時,區(qū)塊生成時間變化不大,也就是說,一定比例惡意節(jié)點(diǎn)的存在不會對貿(mào)易和區(qū)塊生成造成很大的影響,這與定義3的結(jié)論相一致。

圖7 惡意節(jié)點(diǎn)比例對區(qū)塊生成時間的影響

5 結(jié)束語

目前的區(qū)塊鏈只能在實(shí)時聯(lián)通的網(wǎng)絡(luò)環(huán)境下部署和進(jìn)行貿(mào)易,但對諸如容遲網(wǎng)絡(luò)的非實(shí)時聯(lián)通網(wǎng)絡(luò)提供支持卻無能為力。本文研究了如何在容遲網(wǎng)絡(luò)進(jìn)行區(qū)塊鏈貿(mào)易的問題。將容遲網(wǎng)絡(luò)分為非聯(lián)通和聯(lián)通2 個狀態(tài),在非聯(lián)通狀態(tài),修改了現(xiàn)有的區(qū)塊數(shù)據(jù)結(jié)構(gòu),提出了附鏈的概念,詳細(xì)介紹了附鏈的貿(mào)易記錄打包成區(qū)塊的方法,基于難度動態(tài)調(diào)整的附鏈區(qū)塊的挖掘方法和基于標(biāo)識位的區(qū)塊共識方法;在網(wǎng)絡(luò)聯(lián)通狀態(tài),設(shè)計(jì)了防止區(qū)塊造假和虛假貿(mào)易的確認(rèn)共識方法。以理論分析和模擬實(shí)驗(yàn)為手段,分析了提出的容遲網(wǎng)絡(luò)區(qū)塊鏈貿(mào)易機(jī)制的有效性,使節(jié)點(diǎn)擁有較高的收益率。

鑒于采用PoW 工作方式的區(qū)塊鏈在實(shí)際應(yīng)用中具有明顯缺陷,如能耗過高、貿(mào)易處理時間過長等,下一步工作從設(shè)計(jì)公平、安全和高效的礦工選擇方法和附鏈分支處理方法出發(fā),減少區(qū)塊生成過程中無用的計(jì)算及降低區(qū)塊的生成和確認(rèn)時間。

猜你喜歡
挖礦聯(lián)通共識
合力攻堅(jiān) 全面治理高校“挖礦”
多措并舉 全流程整治“挖礦”
共識 共進(jìn) 共情 共學(xué):讓“溝通之花”綻放
風(fēng)起軒轅——聯(lián)通五千年民族血脈
論思想共識凝聚的文化向度
商量出共識
一張圖讀懂聯(lián)通兩年混改
微信搭臺“聯(lián)通” 代表履職“移動”
挖礦木馬的攻擊手段及防御策略研究
挖礦的史蒂夫
武山县| 光山县| 班戈县| 江达县| 济南市| 玛纳斯县| 永川市| 永城市| 同心县| 绥芬河市| 礼泉县| 容城县| 满洲里市| 青神县| 米林县| 错那县| 石柱| 军事| 吐鲁番市| 闵行区| 乌海市| 商洛市| 浦北县| 嘉兴市| 东乌| 潍坊市| 准格尔旗| 余庆县| 收藏| 汉川市| 新和县| 吉林省| 射洪县| 苗栗市| 龙游县| 儋州市| 新竹县| 阿克陶县| 岚皋县| 炉霍县| 嵩明县|