劉云 朱鵬俊 陳路遙 宋凱
在基于移動節(jié)點的區(qū)塊鏈系統(tǒng)中,節(jié)點速度與位置的變化以及節(jié)點本身的可信度會影響共識節(jié)點選取和區(qū)塊驗證時的穩(wěn)定性,存在產(chǎn)生惡意節(jié)點選取和區(qū)塊驗證共謀.本文提出一種穩(wěn)定度激勵算法,在節(jié)點選取方面,根據(jù)節(jié)點可信度和質(zhì)量因子計算各個節(jié)點的穩(wěn)定度,并選取穩(wěn)定度超過閾值的節(jié)點成為候選節(jié)點,再從中選取穩(wěn)定度較高的節(jié)點生成區(qū)塊;在區(qū)塊驗證方面,利用節(jié)點的穩(wěn)定度關(guān)聯(lián)節(jié)點收益,通過計算節(jié)點的驗證延遲與收益,并迭代節(jié)點收益約束計算延時需求和激勵獎勵的最優(yōu)解,激勵其余高穩(wěn)定度的候選節(jié)點加入?yún)^(qū)塊驗證.仿真結(jié)果表明,在基于移動節(jié)點的區(qū)塊鏈系統(tǒng)中,與MWSL和TSL兩種算法進(jìn)行比較,穩(wěn)定度激勵算法能夠提高惡意節(jié)點的檢測成功率和驗證區(qū)塊的正確概率,提高了區(qū)塊鏈共識的穩(wěn)定性.
移動節(jié)點; 區(qū)塊鏈; 共識算法; 穩(wěn)定性
TP305A2023.012002
收稿日期: 2022-02-23
基金項目: 國家自然科學(xué)基金(61761025); 云南省重大科技專項計劃項目資助(202002AD080002)
作者簡介: 劉云(1973-), 男, 云南昆明人, 副教授, 主要從事數(shù)據(jù)挖掘、數(shù)據(jù)分析、區(qū)塊鏈等研究.E-mail: liuyun@kmust.edu.cn
通訊作者: 朱鵬俊. E-mail: 1728137634@qq.com
Consensus optimization of mobile Blockchain nodes by stability incentive algorithm
LIU Yun, ZHU Peng-Jun, CHEN Lu-Yao, SONG-Kai
(Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650500, China)
In the mobile node based blockchain system, the change in node speed and location ,as well as the credibility of the node itself, can affect the stability of consensus node selection and block verification, resulting in malicious node being and block verification collusion. In this paper, a stability incentive algorithm is proposed. In the term of node selection, the stability of each node is calculated according to the node reliability and quality factor, and the nodes whose stability exceeds the threshold are selected as candidate nodes, and then the nodes with higher stability are selected to generate blocks; In the term of block verification, the stability of the node is used to correlate the node revenue, by calculating the verification delay and revenue of the node, and iterating the node revenue constraints, the optimal solution of delay demand and incentive reward is calculated to encourage the other candidate nodes with higher stability to join the block verification. The simulation results show that in the mobile node based blockchain system, compared with MWSL and TSL algorithms, the stability incentive algorithm can improve the detection success rate of malicious nodes and the correct probability of verifying blocks, and improve the stability of blockchain consensus.
Mobile node; Blockchain; Consensus algorithm; Stability
1 引 言
共識算法是區(qū)塊鏈系統(tǒng)中的核心機(jī)制,能夠保證區(qū)塊鏈網(wǎng)絡(luò)數(shù)據(jù)的可驗性和可信性[1].移動區(qū)塊鏈節(jié)點在進(jìn)行共識時,因速度和距離的變化會使節(jié)點不穩(wěn)定,另外節(jié)點本身的可信度也會對區(qū)塊鏈共識的穩(wěn)定性產(chǎn)生影響[2-4].在共識階段,不穩(wěn)定的共識節(jié)點容易生成錯誤的區(qū)塊,而且在驗證階段容易受到區(qū)塊驗證共謀攻擊,降低區(qū)塊鏈共識的穩(wěn)定性[5].這就需要一種可以適用于移動節(jié)點的區(qū)塊鏈系統(tǒng)的共識算法,能夠選取穩(wěn)定可靠的共識節(jié)點,并能穩(wěn)定的進(jìn)行區(qū)塊驗證.
Huang等[6]提出一種TSL算法,是一種使用線性函數(shù)計算節(jié)點聲譽(yù)值的典型模型,節(jié)點聲譽(yù)由多加權(quán)主觀邏輯計算,能夠精準(zhǔn)計算節(jié)點聲譽(yù)參數(shù),并根據(jù)聲譽(yù)值進(jìn)行節(jié)點選取. Kang等[7]提出一種基于聲譽(yù)的MWSL算法,通過節(jié)點意見構(gòu)建聲譽(yù)模型,并從聲譽(yù)值最高的節(jié)點中選取共識節(jié)點,實現(xiàn)對共識節(jié)點的高效穩(wěn)定選取.
本文提出了一種針對于移動區(qū)塊鏈節(jié)點的穩(wěn)定度激勵算法(Stability Incentive Algorithm, SI),在節(jié)點選取方面,根據(jù)節(jié)點可信度和質(zhì)量因子計算各個節(jié)點的穩(wěn)定度,并選取穩(wěn)定度超過閾值的節(jié)點成為候選節(jié)點,再從中選取穩(wěn)定度較高的節(jié)點生成區(qū)塊;在區(qū)塊驗證方面,利用節(jié)點的穩(wěn)定度關(guān)聯(lián)節(jié)點收益,通過計算節(jié)點的驗證延遲與收益,并迭代收益約束計算延時和激勵獎勵的最優(yōu)解,激勵其余高穩(wěn)定度的候選節(jié)點加入?yún)^(qū)塊驗證.仿真結(jié)果表明,在基于移動節(jié)點的區(qū)塊鏈系統(tǒng)中,與TSL和MWSL兩種算法進(jìn)行比較,SI能夠提高惡意節(jié)點的檢測成功率和驗證區(qū)塊的正確概率,提高了系統(tǒng)的穩(wěn)定性.
劉 云, 等: 穩(wěn)定度激勵算法對移動區(qū)塊鏈節(jié)點的共識優(yōu)化研究
2 共識模型
2.1 共識模型
要提高共識算法的穩(wěn)定性,首先要盡可能降低惡意節(jié)點參與共識過程的幾率[8].針對于移動的區(qū)塊鏈節(jié)點,為了使選出的共識節(jié)點更加穩(wěn)定可靠,引入穩(wěn)定度對節(jié)點進(jìn)行判斷,節(jié)點穩(wěn)定度由節(jié)點的質(zhì)量因子和可信度決定.
圖1是區(qū)塊鏈節(jié)點的共識模型,主要包括3個階段:(1) 計算節(jié)點穩(wěn)定度:在每個出塊周期開始時,節(jié)點之間進(jìn)行數(shù)據(jù)交換,包括對其他節(jié)點的意見ω、相對位置d和速度v等參數(shù),然后據(jù)此更新節(jié)點的可信度和質(zhì)量因子,并由此判斷節(jié)點的穩(wěn)定度DSn; (2) 選取區(qū)塊生成節(jié)點:從所有節(jié)點中選取穩(wěn)定度高于閾值的節(jié)點作為候選節(jié)點,再從候選節(jié)點中選取穩(wěn)定較高的節(jié)點進(jìn)行區(qū)塊生成; (3) 共識驗證:通過合約激勵其余較高穩(wěn)定度的候選節(jié)點也加入到區(qū)塊驗證中,之后區(qū)塊生成節(jié)點生成區(qū)塊并廣播給其他節(jié)點驗證.其他節(jié)點在本地進(jìn)行區(qū)塊驗證,并將驗證結(jié)果反饋給區(qū)塊生成節(jié)點[9].
在一個出塊周期內(nèi),即從選取區(qū)塊生成節(jié)點到所有節(jié)點完成區(qū)塊生成的時間,區(qū)塊生成節(jié)點輪流負(fù)責(zé)共識過程中的區(qū)塊生成、廣播、驗證和區(qū)塊管理.在每輪共識完成后,節(jié)點下載并檢查其在區(qū)塊鏈中的數(shù)據(jù)共享記錄和穩(wěn)定度等相關(guān)的新數(shù)據(jù)塊,如果數(shù)據(jù)正確,節(jié)點將更新他們對其他節(jié)點的穩(wěn)定度判斷.
2.2 激勵模型
除了選取高穩(wěn)定度的節(jié)點外,在區(qū)塊驗證階段,利用合約激勵其余較高穩(wěn)定度的候選節(jié)點也參與到區(qū)塊驗證中.
為了建立區(qū)塊驗證的激勵模型,假設(shè)在第k個區(qū)塊驗證時,參與驗證的節(jié)點為M=M1,…,Mm,包括區(qū)塊生成節(jié)點和候選節(jié)點.驗證節(jié)點在單位時間內(nèi)執(zhí)行塊驗證的CPU周期為C=ck1,…,ckm,Ik為驗證前傳輸塊的大小,Ok為驗證結(jié)果.對于所有驗證節(jié)點,Ik和Ok的值在第k個區(qū)塊驗證時是相同的,且塊驗證任務(wù)占用的CPU資源也相同,即Taskk1=Taskk2=…=Taskkm.因此區(qū)塊驗證任務(wù)可以被定義為三元組(Taskkm,Ik,Ok).
為了能讓更多較高穩(wěn)定度的候選節(jié)點加入?yún)^(qū)塊驗證,將穩(wěn)定度定義為候選節(jié)點的類型.驗證節(jié)點分為Q種類型,按穩(wěn)定度進(jìn)行升序排序:DS1<… 每個區(qū)塊生成節(jié)點都會提供一部分交易費用作為獎勵,獎勵參與區(qū)塊驗證并及時完成任務(wù)的驗證節(jié)點.對于不同類型的驗證節(jié)點,區(qū)塊生成節(jié)點需要提供一個包含延遲獎勵的激勵合約(RqL-1q,L-1q),其中Lq是q型驗證節(jié)點的區(qū)塊驗證延遲,RqL-1q是相應(yīng)的激勵,節(jié)點若有更小的延遲也會有更高的獎勵[10].對于不同類型的驗證節(jié)點,穩(wěn)定度越高的節(jié)點獎勵也越高,即RQ>…>Rq>…>R1,q∈{1,…,Q}. 參與到區(qū)塊驗證的節(jié)點越多,共識就越穩(wěn)定,合約激勵更多的高穩(wěn)定度候選節(jié)點參與驗證,降低了區(qū)塊共謀攻擊的可能,進(jìn)一步提高區(qū)塊鏈系統(tǒng)的穩(wěn)定性. 3 穩(wěn)定度激勵算法(SI) 3.1 穩(wěn)定度 在基于移動節(jié)點的區(qū)塊鏈系統(tǒng)中,假設(shè)包含有N個區(qū)塊鏈節(jié)點,分別標(biāo)記為P1,…,PN,區(qū)塊生成節(jié)點的選取是根據(jù)節(jié)點的穩(wěn)定度DSn.為了計算每個出塊周期內(nèi)節(jié)點的穩(wěn)定度,節(jié)點Pn在共識開始時對與其鄰近節(jié)點的互動經(jīng)驗進(jìn)行可信度評估和對距離進(jìn)行基于概率的預(yù)測.節(jié)點Pn的穩(wěn)定度DSn由兩個因素控制:(1) 根據(jù)與該節(jié)點以往的互動經(jīng)驗得出的包括信任、不信任和不確定的判斷[11],即節(jié)點Pn的可信度即ρn; (2) 移動節(jié)點Pn在與其他節(jié)點進(jìn)行通信的質(zhì)量因子QFn.因此有 DSn=ρn·QFn(1) 4 仿真分析 4.1 仿真環(huán)境 使用OMNeT++構(gòu)建基于移動邊緣計算的區(qū)塊鏈模型并對共識算法性能進(jìn)行分析.設(shè)置節(jié)點總數(shù)N=400,在構(gòu)建共識模型時設(shè)置節(jié)點意見中φ=0.6,路徑損耗指數(shù)α=3,消息傳輸成功概率閾值β=8 db,噪音功率Pnoise=-174 dBm,密度參數(shù)γ=50 nodes/m2,節(jié)點傳輸半徑Rad=250 m.在區(qū)塊驗證階段,驗證節(jié)點最初根據(jù)穩(wěn)定度分為10種類型,其中節(jié)點屬于某種類型的概率為0.1.驗證區(qū)塊大小Ik=[50,500]KB,計算資源為103,106CPUcycles/unittime,傳輸功率為[50,500] dBm,接收功率為14 dBm.預(yù)定義參數(shù)區(qū)塊生成節(jié)點的單位利潤g1=1.2,網(wǎng)絡(luò)規(guī)模的預(yù)定義系數(shù)e1=15,驗證延遲的預(yù)定義系數(shù)e2=10,網(wǎng)絡(luò)規(guī)模的影響因子z1=2,驗證延遲的影響因子z2=1,權(quán)重參數(shù)l=5,區(qū)塊驗證的單位資源開銷l′=1,容忍的最大區(qū)塊驗證延遲Tmax=300 s,區(qū)塊鏈用戶給定的交易費用Rmax=1000,驗證結(jié)果的廣播和比較的預(yù)定義參數(shù)Ψ=0.5. 4.2 惡意節(jié)點檢測率分析 在惡意節(jié)點檢測率方面,本文將SI的性能與TSL和MWSL兩種方案進(jìn)行了比較.TSL方案中通過線性函數(shù)計算節(jié)點聲譽(yù)進(jìn)行惡意節(jié)點檢測,MWSL中通過主觀邏輯模型進(jìn)行節(jié)點的可信計算,并以此作為參數(shù)進(jìn)行共識節(jié)點選取.因此將度量定義為成功檢測的節(jié)點參數(shù)閾值,其中只有參數(shù)低于閾值的惡意節(jié)點才能被成功檢測到.調(diào)整節(jié)點閾值,對比在不同閾值下使用3種算法對10個惡意節(jié)點的檢測成功率. 在圖2中顯示,當(dāng)閾值不斷變大時,所有算法的惡意節(jié)點檢測成功率均會上升,其中SI和MWSL兩種算法的上升趨勢相對于TSL更為陡峭一些.當(dāng)閾值非常低時,如在0.2時,所有算法的惡意節(jié)點的檢測成功率都不高.在閾值為0.5時,SI和MWSL算法的檢測成功率都達(dá)到100%,但閾值在0.2~0.5這一范圍,SI相對于MWSL有較高的優(yōu)勢.由于SI更高的檢測率,可以有效地檢測和預(yù)防潛在的威脅,從而提高系統(tǒng)的穩(wěn)定性. 4.3 驗證正確率分析 在區(qū)塊驗證的正確率方面,本文將SI算法的性能與TSL和MWSL兩種算法進(jìn)行了比較.在節(jié)點參數(shù)閾值很低時,選取的共識節(jié)點可能會發(fā)起驗證共謀攻擊.TSL和MWSL兩種算法只通過參數(shù)閾值選取共識節(jié)點進(jìn)行區(qū)塊驗證,SI算法激勵高穩(wěn)定度候選節(jié)點也加入到驗證過程中.圖3顯示了針對不同閾值,對比使用3種算法時區(qū)塊驗證的正確概率. 在圖3中顯示,隨著閾值的不斷增大,所有算法驗證區(qū)塊的正確率都會上升并到達(dá)100%,但總體SI的正確率高于另兩種算法.在閾值很低的情況下,如在0.2時,TSL算法驗證區(qū)塊的成功率幾乎為零,而SI和MWSL算法仍有較高的驗證區(qū)塊成功概率.當(dāng)閾值達(dá)到0.3時,SI的驗證區(qū)塊正確概率已經(jīng)達(dá)到了100%.TSL算法采用的聲譽(yù)投票產(chǎn)生的共識節(jié)點可能會發(fā)起驗證共謀攻擊,超過1/3的共識節(jié)點串通生成一個區(qū)塊的錯誤驗證結(jié)果.為了防御驗證共謀攻擊,SI算法利用合約激勵高穩(wěn)定度候選節(jié)點參與區(qū)塊驗證,以提高驗證區(qū)塊的正確概率.在閾值為 0.2 時,SI算法的正確概率比沒有激勵候選節(jié)點的 MWSL 方案高 13%,而沒有候選節(jié)點的 TSL 方案無法防御這種共謀攻擊.即使惡意節(jié)點發(fā)起區(qū)塊驗證共謀攻擊,所提出的 SI算法 也可以確保穩(wěn)定的區(qū)塊驗證,保證區(qū)塊驗證的穩(wěn)定性. 5 結(jié) 論 本文提出了一種針對于移動區(qū)塊鏈節(jié)點的穩(wěn)定度激勵算法,通過選取高穩(wěn)定度的節(jié)點進(jìn)行區(qū)塊生成和激勵候選節(jié)點加入驗證來提高系統(tǒng)共識的穩(wěn)定性.在節(jié)點選取方面,通過節(jié)點可信度和質(zhì)量因子來計算各個節(jié)點的穩(wěn)定度;在區(qū)塊驗證方面,利用節(jié)點的穩(wěn)定度關(guān)聯(lián)節(jié)點收益,并迭代收益約束計算延時需求和激勵獎勵的最優(yōu)解,激勵高穩(wěn)定度的候選節(jié)點加入?yún)^(qū)塊驗證.通過這兩個方面共同提高區(qū)塊鏈共識的穩(wěn)定性.雖然提出的算法對共識的穩(wěn)定性有一定的提升,但是增加了整體算法的復(fù)雜度,還需再接下來的工作中不斷優(yōu)化算法,進(jìn)一步提高運行效率,此外移動區(qū)塊鏈節(jié)點的共識延遲問題也是接下來的主要研究工作. 參考文獻(xiàn): [1] 譚敏生, 楊杰, 丁琳, 等.區(qū)塊鏈共識機(jī)制綜述[J].計算機(jī)工程, 2020, 46: 1. [2] 李子健, 章國安, 陳葳葳.基于區(qū)塊鏈的車聯(lián)網(wǎng)安全通信策略[J].計算機(jī)工程, 2021, 47: 43. [3] 雷鳴, 崔曉丹, 楊天舒, 等. 區(qū)塊鏈技術(shù)在智能電網(wǎng)穩(wěn)定控制系統(tǒng)中的應(yīng)用[J]. 江蘇大學(xué)學(xué)報:自然科學(xué)版,? 2021,? 42:? 569. [4] 何涇沙, 張琨, 薛瑞昕, 等.基于貢獻(xiàn)值和難度值的高可靠性區(qū)塊鏈共識機(jī)制[J].計算機(jī)學(xué)報, 2021, 44: 162. [5] 曾詩欽, 霍如, 黃韜, 等.區(qū)塊鏈技術(shù)研究綜述:原理、進(jìn)展與應(yīng)用[J].通信學(xué)報, 2020, 41: 134. [6] Huang X,? Yu R,? Kang J,? et al. Software defined networking for energy harvesting internet of things[J]. IEEE Internet Things ,? 2018,? 5: 1389. [7] Kang J,? Xiong Z,? Niyato D,?? et al. Toward secure blockchain-enabled internet of vehicles:? optimizing consensus management using reputation and contract theory [J]. IEEE T Veh Technol,? 2019, 68: 2906. [8] 何帥, 黃襄念, 劉謙博, 等.DPoS區(qū)塊鏈共識機(jī)制的改進(jìn)研究[J].計算機(jī)應(yīng)用研究, 2021, 38: 3551. [9] Gu W,? Li J, Tang Z. A survey on consensus mechanisms for blockchain technology [C]//Proceedings of the 2021 International Conference on Artificial Intelligence,? Big Data and Algorithms (CAIBDA). Xi′an:? IEEE,? 2021. [10] Zeng M,? Li Y,? Zhang K,? et al. Incentive mechanism design for computation offloading in heterogeneous fog computing:? a contract-based approach[C]//Proceedings of the 2018 IEEE International Conference on Communications (ICC 2018). Kansas: ?IEEE,? 2018. [11] Yang Z,? Yang K,? Lei L,? et al. Blockchain-based Decentralized Trust Management in Vehicular Networks [J]. IEEE Internet? Things,? 2018,? 6:? 1495. [12] Asheralieva A,? Niyato D. Reputation-based coalition formation for secure self-organized and scalable sharding in iot blockchains with mobile edge computing [J]. IEEE Internet? Things ,? 2020, 7: 11830. [13] Ayaz F,? Sheng Z,? Tian D, et al. A Proof-of-Quality-Factor (PoQF)-based blockchain and edge computing for vehicular message dissemination[J]. IEEE Internet? Things,? 2020,? 8:? 2468. [14] Xu M,? Liu C,? Zou Y,? et al. wChain:? a fast fault-tolerant blockchain protocol for multihop wireless networks[J]. IEEE T? Wirel? Commun,? 2021,? 20:? 6915. [15] Li N,? Jose-Fernan M O,? Hernandez D V,? et al. Probability prediction-based reliable and efficient opportunistic routing algorithm for VANETs[J]. IEEE/ACM T? Network,? 2018,? 26: 1933. [16] Kim S. Impacts of mobility on performance of blockchain in VANET[J]. IEEE Access,? 2019,? 7: 68646. [17] 劉乃安, 陳智浩, 劉國堃, 等.一種面向區(qū)塊鏈驗證節(jié)點的聲譽(yù)證明共識機(jī)制[J].西安電子科技大學(xué)學(xué)報, 2020, 47: 57. [18] Kang J,? Xiong Z,? Niyato D,? et al.Incentivizing consensus propagation in proof-of-stake based consortium blockchain networks [J]. IEEE Wirel Commun? Lett,? 2019,? 8: 157.