刘云 朱鹏俊 陈路遥 宋凯
在基于移动节点的区块链系统中,节点速度与位置的变化以及节点本身的可信度会影响共识节点选取和区块验证时的稳定性,存在产生恶意节点选取和区块验证共谋.本文提出一种稳定度激励算法,在节点选取方面,根据节点可信度和质量因子计算各个节点的稳定度,并选取稳定度超过阈值的节点成为候选节点,再从中选取稳定度较高的节点生成区块;在区块验证方面,利用节点的稳定度关联节点收益,通过计算节点的验证延迟与收益,并迭代节点收益约束计算延时需求和激励奖励的最优解,激励其余高稳定度的候选节点加入区块验证.仿真结果表明,在基于移动节点的区块链系统中,与MWSL和TSL两种算法进行比较,稳定度激励算法能够提高恶意节点的检测成功率和验证区块的正确概率,提高了区块链共识的稳定性.
移动节点; 区块链; 共识算法; 稳定性
TP305A2023.012002
收稿日期: 2022-02-23
基金项目: 国家自然科学基金(61761025); 云南省重大科技专项计划项目资助(202002AD080002)
作者简介: 刘云(1973-), 男, 云南昆明人, 副教授, 主要从事数据挖掘、数据分析、区块链等研究.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 引 言
共识算法是区块链系统中的核心机制,能够保证区块链网络数据的可验性和可信性[1].移动区块链节点在进行共识时,因速度和距离的变化会使节点不稳定,另外节点本身的可信度也会对区块链共识的稳定性产生影响[2-4].在共识阶段,不稳定的共识节点容易生成错误的区块,而且在验证阶段容易受到区块验证共谋攻击,降低区块链共识的稳定性[5].这就需要一种可以适用于移动节点的区块链系统的共识算法,能够选取稳定可靠的共识节点,并能稳定的进行区块验证.
Huang等[6]提出一种TSL算法,是一种使用线性函数计算节点声誉值的典型模型,节点声誉由多加权主观逻辑计算,能够精准计算节点声誉参数,并根据声誉值进行节点选取. Kang等[7]提出一种基于声誉的MWSL算法,通过节点意见构建声誉模型,并从声誉值最高的节点中选取共识节点,实现对共识节点的高效稳定选取.
本文提出了一种针对于移动区块链节点的稳定度激励算法(Stability Incentive Algorithm, SI),在节点选取方面,根据节点可信度和质量因子计算各个节点的稳定度,并选取稳定度超过阈值的节点成为候选节点,再从中选取稳定度较高的节点生成区块;在区块验证方面,利用节点的稳定度关联节点收益,通过计算节点的验证延迟与收益,并迭代收益约束计算延时和激励奖励的最优解,激励其余高稳定度的候选节点加入区块验证.仿真结果表明,在基于移动节点的区块链系统中,与TSL和MWSL两种算法进行比较,SI能够提高恶意节点的检测成功率和验证区块的正确概率,提高了系统的稳定性.
刘 云, 等: 稳定度激励算法对移动区块链节点的共识优化研究
2 共识模型
2.1 共识模型
要提高共识算法的稳定性,首先要尽可能降低恶意节点参与共识过程的几率[8].针对于移动的区块链节点,为了使选出的共识节点更加稳定可靠,引入稳定度对节点进行判断,节点稳定度由节点的质量因子和可信度决定.
图1是区块链节点的共识模型,主要包括3个阶段:(1) 计算节点稳定度:在每个出块周期开始时,节点之间进行数据交换,包括对其他节点的意见ω、相对位置d和速度v等参数,然后据此更新节点的可信度和质量因子,并由此判断节点的稳定度DSn; (2) 选取区块生成节点:从所有节点中选取稳定度高于阈值的节点作为候选节点,再从候选节点中选取稳定较高的节点进行区块生成; (3) 共识验证:通过合约激励其余较高稳定度的候选节点也加入到区块验证中,之后区块生成节点生成区块并广播给其他节点验证.其他节点在本地进行区块验证,并将验证结果反馈给区块生成节点[9].
在一个出块周期内,即从选取区块生成节点到所有节点完成区块生成的时间,区块生成节点轮流负责共识过程中的区块生成、广播、验证和区块管理.在每轮共识完成后,节点下载并检查其在区块链中的数据共享记录和稳定度等相关的新数据块,如果数据正确,节点将更新他们对其他节点的稳定度判断.
2.2 激励模型
除了选取高稳定度的节点外,在区块验证阶段,利用合约激励其余较高稳定度的候选节点也参与到区块验证中.
为了建立区块验证的激励模型,假设在第k个区块验证时,参与验证的节点为M=M1,…,Mm,包括区块生成节点和候选节点.验证节点在单位时间内执行块验证的CPU周期为C=ck1,…,ckm,Ik为验证前传输块的大小,Ok为验证结果.对于所有验证节点,Ik和Ok的值在第k个区块验证时是相同的,且块验证任务占用的CPU资源也相同,即Taskk1=Taskk2=…=Taskkm.因此区块验证任务可以被定义为三元组(Taskkm,Ik,Ok).
为了能让更多较高稳定度的候选节点加入区块验证,将稳定度定义为候选节点的类型.验证节点分为Q种类型,按稳定度进行升序排序:DS1<… 每个区块生成节点都会提供一部分交易费用作为奖励,奖励参与区块验证并及时完成任务的验证节点.对于不同类型的验证节点,区块生成节点需要提供一个包含延迟奖励的激励合约(RqL-1q,L-1q),其中Lq是q型验证节点的区块验证延迟,RqL-1q是相应的激励,节点若有更小的延迟也会有更高的奖励[10].对于不同类型的验证节点,稳定度越高的节点奖励也越高,即RQ>…>Rq>…>R1,q∈{1,…,Q}. 参与到区块验证的节点越多,共识就越稳定,合约激励更多的高稳定度候选节点参与验证,降低了区块共谋攻击的可能,进一步提高区块链系统的稳定性. 3 稳定度激励算法(SI) 3.1 稳定度 在基于移动节点的区块链系统中,假设包含有N个区块链节点,分别标记为P1,…,PN,区块生成节点的选取是根据节点的稳定度DSn.为了计算每个出块周期内节点的稳定度,节点Pn在共识开始时对与其邻近节点的互动经验进行可信度评估和对距离进行基于概率的预测.节点Pn的稳定度DSn由两个因素控制:(1) 根据与该节点以往的互动经验得出的包括信任、不信任和不确定的判断[11],即节点Pn的可信度即ρn; (2) 移动节点Pn在与其他节点进行通信的质量因子QFn.因此有 DSn=ρn·QFn(1) 4 仿真分析 4.1 仿真环境 使用OMNeT++构建基于移动边缘计算的区块链模型并对共识算法性能进行分析.设置节点总数N=400,在构建共识模型时设置节点意见中φ=0.6,路径损耗指数α=3,消息传输成功概率阈值β=8 db,噪音功率Pnoise=-174 dBm,密度参数γ=50 nodes/m2,节点传输半径Rad=250 m.在区块验证阶段,验证节点最初根据稳定度分为10种类型,其中节点属于某种类型的概率为0.1.验证区块大小Ik=[50,500]KB,计算资源为103,106CPUcycles/unittime,传输功率为[50,500] dBm,接收功率为14 dBm.预定义参数区块生成节点的单位利润g1=1.2,网络规模的预定义系数e1=15,验证延迟的预定义系数e2=10,网络规模的影响因子z1=2,验证延迟的影响因子z2=1,权重参数l=5,区块验证的单位资源开销l′=1,容忍的最大区块验证延迟Tmax=300 s,区块链用户给定的交易费用Rmax=1000,验证结果的广播和比较的预定义参数Ψ=0.5. 4.2 恶意节点检测率分析 在恶意节点检测率方面,本文将SI的性能与TSL和MWSL两种方案进行了比较.TSL方案中通过线性函数计算节点声誉进行恶意节点检测,MWSL中通过主观逻辑模型进行节点的可信计算,并以此作为参数进行共识节点选取.因此将度量定义为成功检测的节点参数阈值,其中只有参数低于阈值的恶意节点才能被成功检测到.调整节点阈值,对比在不同阈值下使用3种算法对10个恶意节点的检测成功率. 在图2中显示,当阈值不断变大时,所有算法的恶意节点检测成功率均会上升,其中SI和MWSL两种算法的上升趋势相对于TSL更为陡峭一些.当阈值非常低时,如在0.2时,所有算法的恶意节点的检测成功率都不高.在阈值为0.5时,SI和MWSL算法的检测成功率都达到100%,但阈值在0.2~0.5这一范围,SI相对于MWSL有较高的优势.由于SI更高的检测率,可以有效地检测和预防潜在的威胁,从而提高系统的稳定性. 4.3 验证正确率分析 在区块验证的正确率方面,本文将SI算法的性能与TSL和MWSL两种算法进行了比较.在节点参数阈值很低时,选取的共识节点可能会发起验证共谋攻击.TSL和MWSL两种算法只通过参数阈值选取共识节点进行区块验证,SI算法激励高稳定度候选节点也加入到验证过程中.图3显示了针对不同阈值,对比使用3种算法时区块验证的正确概率. 在图3中显示,随着阈值的不断增大,所有算法验证区块的正确率都会上升并到达100%,但总体SI的正确率高于另两种算法.在阈值很低的情况下,如在0.2时,TSL算法验证区块的成功率几乎为零,而SI和MWSL算法仍有较高的验证区块成功概率.当阈值达到0.3时,SI的验证区块正确概率已经达到了100%.TSL算法采用的声誉投票产生的共识节点可能会发起验证共谋攻击,超过1/3的共识节点串通生成一个区块的错误验证结果.为了防御验证共谋攻击,SI算法利用合约激励高稳定度候选节点参与区块验证,以提高验证区块的正确概率.在阈值为 0.2 时,SI算法的正确概率比没有激励候选节点的 MWSL 方案高 13%,而没有候选节点的 TSL 方案无法防御这种共谋攻击.即使恶意节点发起区块验证共谋攻击,所提出的 SI算法 也可以确保稳定的区块验证,保证区块验证的稳定性. 5 结 论 本文提出了一种针对于移动区块链节点的稳定度激励算法,通过选取高稳定度的节点进行区块生成和激励候选节点加入验证来提高系统共识的稳定性.在节点选取方面,通过节点可信度和质量因子来计算各个节点的稳定度;在区块验证方面,利用节点的稳定度关联节点收益,并迭代收益约束计算延时需求和激励奖励的最优解,激励高稳定度的候选节点加入区块验证.通过这两个方面共同提高区块链共识的稳定性.虽然提出的算法对共识的稳定性有一定的提升,但是增加了整体算法的复杂度,还需再接下来的工作中不断优化算法,进一步提高运行效率,此外移动区块链节点的共识延迟问题也是接下来的主要研究工作. 参考文献: [1] 谭敏生, 杨杰, 丁琳, 等.区块链共识机制综述[J].计算机工程, 2020, 46: 1. [2] 李子健, 章国安, 陈葳葳.基于区块链的车联网安全通信策略[J].计算机工程, 2021, 47: 43. [3] 雷鸣, 崔晓丹, 杨天舒, 等. 区块链技术在智能电网稳定控制系统中的应用[J]. 江苏大学学报:自然科学版, 2021, 42: 569. [4] 何泾沙, 张琨, 薛瑞昕, 等.基于贡献值和难度值的高可靠性区块链共识机制[J].计算机学报, 2021, 44: 162. [5] 曾诗钦, 霍如, 黄韬, 等.区块链技术研究综述:原理、进展与应用[J].通信学报, 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区块链共识机制的改进研究[J].计算机应用研究, 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] 刘乃安, 陈智浩, 刘国堃, 等.一种面向区块链验证节点的声誉证明共识机制[J].西安电子科技大学学报, 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.