«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (6): 50-56  DOI: 10.19678/j.issn.1000-3428.0063433
0

引用本文  

王兵, 李辉灵, 牛新征. 基于综合选举的DPoS共识算法[J]. 计算机工程, 2022, 48(6), 50-56. DOI: 10.19678/j.issn.1000-3428.0063433.
WANG Bing, LI Huiling, NIU Xinzheng. DPoS Consensus Algorithm Based on Comprehensive Election[J]. Computer Engineering, 2022, 48(6), 50-56. DOI: 10.19678/j.issn.1000-3428.0063433.

基金项目

2021年四川省科技计划重点项目(2021YFS0391)

作者简介

王兵(1977—),男,副教授、硕士,主研方向为区块链技术;
李辉灵,硕士研究生;
牛新征,副教授、博士

文章历史

收稿日期:2021-12-01
修回日期:2022-01-25
基于综合选举的DPoS共识算法
王兵1 , 李辉灵1 , 牛新征2     
1. 西南石油大学 计算机科学学院, 成都 610500;
2. 电子科技大学 计算机科学与工程学院, 成都 611731
摘要:区块链技术是一种信任机制,具有去中心化、防篡改、可追溯的特性。共识算法是区块链核心技术之一,可维持区块链网络的运行,相较于工作量证明、权益证明等其他公有链共识算法,股份授权证明(DPoS)共识算法具有低延时、高吞吐量、几乎不分叉等优势。但由于按股份权重进行投票选举,选取的委托人总是持币量大的节点,导致其余节点出现投票政治冷漠性的情况,同时节点出块顺序随机,增大了节点通信的消耗。针对上述问题,提出一种综合选举算法CE-DPoS,该算法通过节点之间的通信消耗预先设定网络信息表,根据节点的意愿权重进行投票,投票后计算每个节点的最终得分。选择所有节点中分数最高的节点作为第一个委托人节点,再从该节点的网络信息表中选择得分最高的节点作为第二个委托人节点,直至选定委托人节点数达到系统规定。仿真实验结果表明,与DPoS、BFT-DPoS共识算法相比,CE-DPoS共识算法能动态地选择委托人节点,节点之间选举相对公平,节点活跃度提升至85%,同时出块时间降至0.4 s,能更好地应对日益增长的交易量。
关键词共识算法    区块链    股份授权证明算法    委托人选举    出块时间    
DPoS Consensus Algorithm Based on Comprehensive Election
WANG Bing1 , LI Huiling1 , NIU Xinzheng2     
1. School of Computer Science, Southwest Petroleum University, Chengdu 610500, China;
2. School of Computer Science and Engineering, University of Electronic Science and Technology of China, Chengdu 611731, China
Abstract: Blockchain technology is a trust mechanism with distinct characteristics, such as decentralization, tamper-proof, and traceability. The consensus algorithm is a core technology of the blockchain which maintains the operation of the blockchain network. Compared with Proof of Work (PoW), Proof of Stake (PoS), and other public blockchain consensus algorithms, the Delegate PoS (DPoS) consensus algorithm has the advantages of low latency, high throughput, and almost no forks. However, weaknesses exist in the form of weak centralization. Since the delegate nodes elected in the DPoS consensus algorithm are consistently nodes with a large amount of currency, it usually leads to voting political apathy. To solve this problem, a comprehensive election algorithm is proposed, codenamed Comprehensive Election-DPoS (CE-DPoS), in which each node can vote according to its own wishes. Subsequently, the final score of each node is calculated after each node in the algorithm votes with each other according to the weight of willingness. Thereafter, the node with the highest score among all nodes is selected as the first delegate node, then the node with the highest score from the network information table of the previously selected node is selected as the second delegate node until the number of selected delegate nodes reaches system regulations. The experimental results reveal that compared with DPoS and BFT-DPOS consensus algorithms, the CE-DPoS consensus algorithm can dynamically and effectively select the delegate nodes, increasing node activity to 85%. Simultaneously, the block generation time is reduced to 0.4 s, which can better cope with the increasing transaction volume.
Key words: consensus algorithm    blockchain    Delegate Proof of Stake(DPoS) algorithm    delegate election    block time    

开放科学(资源服务)标志码(OSID):

0 概述

区块链的提出引起了学术界与业界的广泛关注,其为集中式机构的高成本、低效率和数据存储[1]不安全性提供了解决方案[2]。区块链底层是一系列技术集成的分布式账本系统,系统中每一个区块的架构包含了交易数据[3]、父区块Hash值[4]、Merkle树[5]等信息。根据技术的不同从下到上分为数据层、网络层、共识层、激励层、合约层、应用层[6],且随着技术的不断发展,区块链能够与智能合约[7]相结合,并出现了许多的Dapp应用[8-10],为现实世界提供了从信息到价值的传递功能。

区块链中各节点能自发、诚实地遵守协议中预先设定的规则并保持全局状态一致,共识算法起着至关重要的作用。工作量证明(Proof of Work,PoW)[11-12]机制作为主流的共识算法之一,其依赖计算机算力竞争记账权,一个新的区块生成需要计算出符合条件的哈希值,但算力争夺会消耗大量资源。为减缓资源的大量消耗,研究人员提出权益证明(Proof of Stake,PoS)[13]共识算法,根据持有数字货币数量和时间来分配相应利息的制度。PoS的进一步演变是股份授权证明(Delegate Proof of Stake,DPoS)[14]共识算法,其原理是让每一个股份节点进行投票,由此产生权利对等的101位委托人节点。随着联盟链共识机制[15]的兴起,实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)[16]共识算法被提出,按照少数服从多数原则,经主节点提交提议至其他共识节点进行确认,当超过2/3的节点确认后则提议通过[17]。Raft[18]可作为一种典型的联盟链共识算法,该算法包含3种角色,分别是跟随者、候选人和领导者,这3种角色能随着时间和条件的变化而互相转换。

本文提出一种基于综合选举的DPoS(Comprehensive Election DPoS,CE-DPoS)共识算法。该算法摒弃原DPoS按股份投票的方式,节点之间能够根据自身意愿进行投票,在符合现实情况的同时,新节点的加入不受股份的影响,提升了节点之间的投票活跃度。DPoS节点的通信代价主要受前置节点和后置节点的影响,而CE-DPoS共识算法根据预设的网络信息表选取节点,以降低网络通信消耗。

1 DPoS共识算法相关研究

DPoS共识算法凭借低延时、出块时间短、高吞吐量、几乎不分叉的特点及优势,得到了研究人员的广泛使用[19],区块链架构如图 1所示。DPoS相较于PoW有更低的能源消耗,减少了硬件资源的消耗,且继承了PoS的股份思想,具有比PoS更快的效率和更高的性能。DPoS共识算法在选举委托人节点过程中,由持有股份的节点相互投票(投票权重与股份成正比),即每个股东节点可以将其持有的股份作为选票授予一个代理人,最终选定的节点为票数靠前的n个节点,选定的n个节点轮流进行打包交易和出块。但持有股份越多的节点当选委托人节点的概率极大,造成了弱中心化,并容易导致Dos攻击[20]

Download:
图 1 区块链结构 Fig. 1 Structure of blockchain

由此,许多学者对DPoS共识算法做了进一步优化。文献[21]提出了节点的升降机制,从对恶意节点的识别角度出发,对良好节点和恶意节点通过降级的方式加以区分。文献[22]在节点升降的基础上引入了诚实节点的动态选举,有效降低选取恶意节点的概率,但对节点投票活跃度没有明显提升。文献[23]引入了信用值,为每一个节点设定一个信用值,信用值作为当选委托人节点的一个重要参考指标,每轮共识结束后信用值发生改变,但信用值的积累可能导致信用值高者越高的情况。文献[24]将DPoS中的节点分为不同的信誉状态,同样可能导致信誉值高的节点一直处于高信誉的问题。从优化投票的角度出发,文献[25]提出细化投票的思想,其中包括支持票、弃权票、反对票,通过3种方式度量节点的意愿投票倾向,文献[26]根据细化的投票方式又做了进一步优化,增加10分支持票、10分反对票的投票方式,改善了单一投票的方式,但不能完全满足现实状况的实际投票人的意愿权重。

2 CE-DPoS共识算法方案

由于经典DPoS共识算法选举节点固定单一,且始终是股份占比较大的节点,导致股份占比少的节点活跃度急剧下降。同时选举出委托人节点后,出块顺序未考虑节点之间的通信消耗,加大了出块时间。针对上述问题,本文提出一种CE-DPoS共识算法。每个节点根据自身的意愿相互投票,在一轮共识投票结束后,模型网络会计算出每个节点的最终加权票数,并进行降序排列。每个节点在加入区块链网络前,会和网络中的其他节点进行通信,随后根据通信的代价建立自身节点的网络信息表,网络信息表中存储的是与自身通信开销最小的某些节点。最终依据网络的连接情况,依次动态选择通信量少并且分值最大的节点。

2.1 CE-DPoS投票模型计算方式

在公有链网络中,节点参与活跃度与网络的安全性息息相关,在经典DPoS共识算法中,节点投票有失公平性,节点出现投票政治冷漠性。为极大程度地满足节点的投票意愿倾向和公平性,对投票意愿设置等级。CE-DPoS投票模型中的符号说明如表 1所示。

下载CSV 表 1 符号说明 Table 1 Symbol description

设定投票权重为Si,其中$ {S}_{i}=\left\{i\left|i=\mathrm{1, 2}, \mathrm{3, 4}, 5\right.\right\} $,权重依次递增为:$ {S}_{1}\le {S}_{2}\le {S}_{3}\le {S}_{4}\le {S}_{5} $,投票意愿分别对应于[0~19%]、[20%~39%]、[40%~59%]、[60%~79%]、[80%~100%]。CE-DPoS和DPoS共识算法中最大投票数相同,每个节点至多对其他30个节点投票。本文通过实验仿真进行模拟投票,统计投票信息的权重占比,若曲线出现近似正态分布,权重S1S2与权重S5投票数大致相同,且均低于投票权重S3S4,便于系统票数的计算,采用3个集合$ {\mathit{\Gamma } }_{1} $$ {\mathit{\Gamma } }_{2} $$ {\mathit{\Gamma } }_{3} $进行票数的统计:$ {\mathit{\Gamma } }_{1} $代表投票意向为(0,39%],集合中投票评分对应S1S2$ {\mathit{\Gamma } }_{2} $代表投票意向为[40%,79%],集合中投票评分对应S3S4$ {\mathit{\Gamma } }_{3} $代表投票意向为[80%,100%],集合中投票评分对应S5

设节点收到其他节点的投票数为mm值不涉及投票分值,一个节点参与投票即一票),节点对另一个节点评分值用$ \mathit{\Phi } $表示,其中$ {\mathit{\Phi } }_{i} $表示第i个节点的评分值。所有投票分值的中位数为$ \widehat{m} $,平均值为$ \overline {m} $,节点最终分值如式(1)所示:

$ \left\{\begin{array}{l}V\#=\sum\limits_{i=1}^{m}\left(1+\frac{1}{1+\sqrt{5-{\mathit{\Phi } }_{i}}}\right)+\overline {m}+\widehat{m}\\ \overline {m}=\sum\limits_{i=1}^{m}{\mathit{\Phi } }_{i}/m, {\mathit{\Phi } }_{i}\in {\mathit{\Gamma } }_{1}\bigcup {\mathit{\Gamma } }_{2}\bigcup {\mathit{\Gamma } }_{3}\end{array}\right. $ (1)

表 2列举了3个节点的得票情况,节点之间对其他节点进行权重投票。

下载CSV 表 2 节点得票数 Table 2 Number of votes by the node

按照式(1)计算得到节点的最终分值:

$ \begin{array}{c}V{\#}_{1}=\sum\limits_{i=1}^{m}\left(1+\frac{1}{1+\sqrt{5-{\mathit{\Phi } }_{i}}}\right)+\overline {m}+\widehat{m}=\\ 11.68+2.5+2=16.18\\ V{\#}_{2}=\sum\limits_{i=1}^{m}\left(1+\frac{1}{1+\sqrt{5-{\mathit{\Phi } }_{i}}}\right)+\overline {m}+\widehat{m}=\\ 9.68+2.14+2=13.82\\ V{\#}_{3}=\sum\limits_{i=1}^{m}\left(1+\frac{1}{1+\sqrt{5-{\mathit{\Phi } }_{i}}}\right)+\overline {m}+\widehat{m}=\\ 10.18+2.29+2=14.47\end{array} $

不失一般性,设当前有11个节点参与投票,则对于11个候选节点出现的得票权可能性p如式(2)所示:

$ \begin{array}{l}p=\frac{{c}_{11}^{k}{c}_{11-k}^{e}{c}_{11-k-e}^{h}{c}_{11-k-e-h}^{j}{c}_{11-k-e-h-j}^{i}}{{6}^{11}}, \\ {m}_{1}=i, {m}_{2}=j, {m}_{3}=h, {m}_{4}=e, {m}_{5}=k\end{array} $ (2)

其中:$ {m}_{i} $表示票权为i的票数总和。

节点投票出现的所有可能结果以概率的形式表示,所有结果的概率之和为1,如下式所示:

$ \sum\limits_{i=\mathrm{ }0}^{i}\sum\limits_{j=\mathrm{ }0}^{11-i}\sum\limits_{h=\mathrm{ }0}^{11-i-j}\sum\limits_{e=\mathrm{ }0}^{11-i-j-h}\sum\limits_{k=\mathrm{ }0}^{11-i-j-h-e}\frac{{c}_{11}^{k}{c}_{11-k}^{e}{c}_{11-k-e}^{h}{c}_{11-k-e-h}^{j}{c}_{11-k-e-h-j}^{i}}{{6}^{11}}=1 $

通过计算,将节点得分按降序排列:

$ \begin{array}{l} V{\# _1} \ge V{\# _2} \ge \cdot \cdot \cdot \ge V{\# _{k - ({k_1} + 1)}} \ge V{\# _{k - {k_1}}} \ge \cdot \cdot \cdot \ge V{\# _{k - 1}} \ge \\ \;\;\;\;\;\;\;\;\;\;V{\# _k} \ge V{\# _{k + 1}} \ge \cdot \cdot \cdot \ge V{\# _{k + {k_2}}} \ge \cdot \cdot \cdot \ge V{\# _m} \end{array} $
2.2 CE-DPoS委托人节点选取

在网络信息表的基础上,选定所有节点中分数排名最高的节点A,从节点A网络信息表中选出除节点A外分数排名最高的节点B,再从节点B网络信息表中选出除B外分数排名最高的节点C,直至选定n个委托人节点,整体过程如图 2所示。

Download:
图 2 CE-DPoS委托人节点选举流程 Fig. 2 Procedure of CE-DPoS delegate node election

区块链网络中的交互主要通过节点之间的通信,通信快慢直接或间接影响着整个区块链的性能。文献[27]定义了节点发生冲突块的概率$ \mathrm{P}\mathrm{r}(F=0) $,如式(3)所示:

$ \mathrm{P}\mathrm{r}(F=0)\approx 1-P\times {\int }_{0}^{T}n\times (1-G(t)\times s\mathrm{d}t $ (3)

其中:T为区块最大传播时延;Gt)代表多个区块传播给节点的概率积累值;P为挖矿难度。

区块传播时间定义如式(4)所示:

$ D={\int }_{0}^{T}t\times g\left(t\right)\mathrm{d}t $ (4)

将式(4)变形得到:

$ D=T-{\int }_{0}^{T}G\left(t\right)\mathrm{d}t $

其中:$ G\left(t\right)={\int }_{0}^{t}g\left(a\right)\mathrm{d}a $,最终得出$ \mathrm{P}\mathrm{r}(F\ge 1)\approx $$ P\times ns\times D $。结果表明出块概率与区块传播时间成正相关。

在DPoS共识算法中,委托人节点之间的传播主要是与后面一个节点通信,因此节点之间依靠通信代价最小的连接是提高性能的一种方式。

本文设置节点网络信息表用于保存每个节点与自己一定距离范围内(通信代价)其他节点的连接信息。为防止节点选举发生网络风暴,进而导致无法选取出委托人节点,设定每个节点与其他节点连接数为k$ k\ge n-1 $,其中k为固定值,n为选取的委托人节点总数。在节点加入网络时,向其他节点进行通信,当节点N1每收到一个返回消息时,发送者N2的IP地址就被用来更新对应的网络信息表。如果N2的IP地址没有记录在该信息表中,则N1节点的记录项小于k个,记录N2至自身信息表中;如果节点N1的记录项大于k个,则对该节点信息表中的节点进行检测操作。出现节点没有响应,从表中删除无响应的节点,并插入N2节点。如果所有节点都有响应,则忽略N2。网络信息表的建立具体流程如算法1~算法3所示。

算法1  新节点建立

输入  节点

输出  随机的节点id

1.//IdLength表示全网节点数组长度

2. for each i < IdLength do

3. ret[i] = uint8(rand.Intn(256))

4.end for

算法2  广播消息获取距离

输入  全网节点信息

输出  距离最近的节点信息

1.初始化DisMap

2.DisMap:=make(map[string]int,IdLength)

3.for i < IdLength do

4.DisMap [router[i]]= uint8(queryTime(id,ret[i])

5.end for

6. router=sort(DistanceMap)//按照通信代价排序

7. return router

算法3  网络信息表的建立

输入  节点距离信息

输出  网络信息表

1.for i < IdLength do

2. if node[i]!=other[i]//两个节点不相等then

3. return false

4.  if node[i] =other[i] then

5.  return true

6.  end if

7. end if

8.end for

9.repeat

10. if i < IdLength then

11.  if Equals(router[i])==false then

12.   add(router[i])//将节点添加进网络信息表

13.  end if

14. end if

15. until sheet.Length=k//k为系统规定连接值

3 实验结果与分析

为测试模型的有效性,仿真实验设备配置为AMD Ryzen 5 3550H处理器,16 GB运行内存,Windows10操作系统,采用Docker容器技术,运用编程语言通过多端口模拟多节点来实现节点的投票行为。共识协议假定节点之间是诚信可靠的,并且网络与最终交付确保是异步通信的,每个节点能通过可靠的通信链路连接。

3.1 CE-DPoS投票结果

本文设定从11个节点中选择4个节点作为委托人节点,此外,各节点相互之间能够对其他节点进行权重为0~5的对等投票,其中0表示未进行投票打分,图 3展示了11个节点相互投票的结果。

Download:
图 3 11个节点互相投票结果 Fig. 3 Result of 11 nodes voting with each other

表 3所示为对图 3结果的分析,将各个节点得分进行统计,计算出票权数总和Total值,但会出现多个Total值相等的情况,并不满足实际的投票意愿,因此使用式(1)计算它们的偏差度,得出最终的分数V#。

下载CSV 表 3 节点得分票权占比和最终分值 Table 3 Proportion of node's scoring votes and final score

图 4为本文预先设定的节点之间路由表的连接,连接数k设定为3(单向箭头指向代表该节点网络信息表中包含箭头指向的节点),各个节点通过与其他节点的交互行为形成各自的网络信息表,最终所有的节点共同维护全局网络信息表,矩阵R表示路由连接信息,1表示连接,0表示未连接。

$ \mathit{\boldsymbol{R}}=\left(\begin{array}{ccccccccccc}0& 0& 0& 0& 1& 0& 0& 0& 1& 1& 0\\ 0& 0& 1& 0& 0& 0& 0& 0& 0& 1& 1\\ 0& 1& 0& 1& 0& 0& 0& 0& 0& 0& 1\\ 0& 0& 1& 0& 0& 1& 1& 0& 0& 0& 0\\ 1& 0& 0& 0& 0& 1& 1& 0& 0& 0& 0\\ 0& 0& 0& 1& 1& 1& 0& 0& 0& 0& 0\\ 0& 0& 0& 1& 1& 0& 0& 1& 0& 0& 0\\ 0& 0& 0& 0& 0& 0& 1& 0& 1& 1& 0\\ 1& 0& 0& 0& 0& 0& 0& 1& 0& 0& 0\\ 1& 0& 0& 0& 0& 0& 0& 0& 1& 0& 0\\ 0& 1& 0& 0& 0& 0& 0& 0& 0& 1& 0\end{array}\right) $
Download:
图 4 节点网络信息表连接情况 Fig. 4 Connection status of node network information table

通过图 4中各个节点之间的关系,采用局部最优的思想,最终选取的委托人节点如表 4所示。

下载CSV 表 4 委托人节点选取的最终结果 Table 4 Final result selected by delegate node
3.2 CE-DPoS动态选举节点百分占比

本文模型中委托人节点的选取是动态的,并且兼顾了各节点的票数,选出的节点既满足通信量小且得分较高。在一轮共识结束后,计算选出的4个节点的分数平均值$ {\overline {d}}_{\partial } $,从剩下的7个节点中随机选取另外4个节点并计算出平均值$ {\overline {d}}_{\beta } $。最终分别计算出与一轮共识中最高分的比值,如式(5)所示:

$ {p}_{i}=\left\{\frac{{\overline{d}}_{i}}{\mathrm{M}\mathrm{a}\mathrm{x}(V\#)}\left|i\in \alpha , \beta \right.\right\} $ (5)

重复共识选举20次,实验结果如图 5所示。由图 5可知,$ {p}_{a} $$ {p}_{\beta } $值呈现相似的波动。随着共识次数从0~20的增长,使用CE-DPoS共识算法选举模型比随机选取算法在满足现实情况投票方面的优势更加突出。当共识次数增加到15次时,CE-DPoS共识的委托人选举百分占比为97.23%,而同等条件下随机选取委托人百分占比仅有91.05%。

Download:
图 5 选举委托人节点分数占比1 Fig. 5 Election delegate node score percentage 1

增加共识次数至100次,结果如图 6所示,随着共识次数的增加,CE-DPoS共识算法选取委托人百分占比整体波动相对稳定,而随机选取波动幅度较大。

Download:
图 6 选举委托人节点分数占比2 Fig. 6 Election delegate node score percentage 2
3.3 CE-DPoS出块时间

传统DPoS共识算法在选出节点后,委托人节点之间的先后通信方式没有明确的规定,采用随机的见证人出块顺序,出块速度大致为3 s左右。BFT-DPoS共识算法选取委托人后互相协商出一个出块的顺序,见证人出块时进行全网广播,其他见证人收到新区块后,立即对此区块进行验证,不需等待其他见证人自己出块时再确认。CE-DPoS共识算法通过设定网络信息表记录节点之间通信代价,在信息表中依次选取委托人节点,降低了随机选取委托人节点之间不必要的通信消耗。

实验仿真3种共识算法的出块时间进行对比,结果如图 7所示。随着区块个数从0~1 000的增长,使用CE-DPoS共识算法比DPoS、BFT-DPoS共识算法在降低出块时间方面的优势更加突出。当区块个数增加到1 000个时,CE-DPoS共识算法的出块时间降至0.4 s,比同等条件下DPoS共识算法节约了80%的时间,能更好地应对日益增长的交易量。

Download:
图 7 出块时间对比 Fig. 7 Block time comparison
3.4 CE-DPoS节点活跃度

DPoS共识算法由于存在去中心化程度低下、节点投票不积极等问题而被业界与学术界所诟病。本文实验仿真3种共识算法,计算节点投票占比并将其进行对比,结果如图 8所示。随着共识次数的不断增加,使用CE-DPoS共识算法比DPoS、BFT-DPoS共识算法在提升节点投票活跃度方面优势更加突出。由于DPoS和BFT-DPoS都采用股份的投票方式,股份较少的节点失去了投票的积极性,全局投票活跃度仅为34%左右,同程度的CE-DPoS共识算法节点活跃度提升至85%。

Download:
图 8 节点活跃度对比 Fig. 8 Node activity comparison
4 结束语

DPoS共识算法作为主流公有链共识算法,存在选择委托人节点单一固定、委托人节点之间出块顺序采用随机方式以及通信消耗成本较高的问题。本文提出一种意愿评分的模型方案,该方案节点相互评分,计算出每个节点的综合分值,然后通过排序选取出当前分数最高的节点,再按照网络信息表的连接情况依次选择出后续的委托人节点。实验结果表明,本文方案选择的委托人节点之间的出块顺序与节点之间的通信密切相关,能够加快节点的出块时间,满足日益增大的交易量,并提升节点的投票活跃度。后续工作将进一步优化CE-DPoS投票模型的时间复杂度,并应用到实际场景中。

参考文献
[1]
ZHU H G, GUO Y J, ZHANG L B. An improved convolution Merkle tree-based blockchain electronic medical record secure storage scheme[J]. Journal of Information Security and Applications, 2021, 61: 102952. DOI:10.1016/j.jisa.2021.102952
[2]
RAGHAV, ANDOLA N, VENKATESAN S, et al. PoEWAL: a lightweight consensus mechanism for blockchain in IoT[J]. Pervasive and Mobile Computing, 2020, 69: 101291. DOI:10.1016/j.pmcj.2020.101291
[3]
LASHKARI B, MUSILEK P. A comprehensive review of blockchain consensus mechanisms[J]. IEEE Access, 2021, 9: 43620-43652. DOI:10.1109/ACCESS.2021.3065880
[4]
KAMMOUN M, ELLEUCHI M, ABID M, et al. HW/SW architecture exploration for an efficient implementation of the secure hash algorithm SHA-256[J]. Journal of Communications Software and Systems, 2021, 17(2): 87-96. DOI:10.24138/jcomss-2021-0006
[5]
DIVÁN M J, SÁNCHEZ-REYNOSO M L. Metadata-based measurements transmission verified by a Merkle tree[J]. Knowledge-Based Systems, 2021, 219: 106871. DOI:10.1016/j.knosys.2021.106871
[6]
CARRARA G R, BURLE L M, MEDEIROS D S V, et al. Consistency, availability, and partition tolerance in blockchain: a survey on the consensus mechanism over peer-to-peer networking[J]. Annals of Telecommunications, 2020, 75(3/4): 163-174.
[7]
WANG L, CHENG H, ZHENG Z B, et al. Ponzi scheme detection via oversampling-based Long Short-Term Memory for smart contracts[J]. Knowledge-Based Systems, 2021, 228: 107312. DOI:10.1016/j.knosys.2021.107312
[8]
RENU S A, BANIK B G. Implementation of a secure ride-sharing DApp using smart contracts on ethereum blockchain[J]. International Journal of Safety and Security Engineering, 2021, 11(2): 167-173. DOI:10.18280/ijsse.110205
[9]
SHARMA M, PANT S, KUMAR SHARMA D, et al. Enabling security for the industrial Internet of Things (IoT) using deep learning, blockchain, and coalitions[J]. Transactions on Emerging Telecommunications Technologies, 2020, 32(7): 1256-1264.
[10]
INDRAKUMARI R, KUMAR R L, BALAMURUGAN B, et al. Convergence of blockchain, AI, and IoT[M]. Boca Raton, USA: CRC Press, 2021.
[11]
SHAHRIAR HAZARI S, MAHMOUD Q H. Improving transaction speed and scalability of blockchain systems via parallel proof of work[J]. Future Internet, 2020, 12(8): 125. DOI:10.3390/fi12080125
[12]
KARA M, LAOUID A, ALSHAIKH M, et al. A compute and wait in PoW consensus algorithm for preserving energy consumption[J]. Applied Sciences, 2021, 11(15): 6750. DOI:10.3390/app11156750
[13]
SAAD M, QIN Z, REN K, et al. E-PoS: making proof-of-stake decentralized and fair[J]. IEEE Transactions on Parallel and Distributed Systems, 2021, 32(8): 1961-1973. DOI:10.1109/TPDS.2020.3048853
[14]
LIU W, LI Y, WANG X J, et al. A donation tracing blockchain model using improved DPoS consensus algorithm[J]. Peer-to-Peer Networking and Applications, 2021, 14(5): 2789-2800. DOI:10.1007/s12083-021-01102-9
[15]
AN H Y, CHEN J G. ElearnChain: a privacy-preserving consortium blockchain system for e-learning educational records[J]. Journal of Information Security and Applications, 2021, 63: 103013. DOI:10.1016/j.jisa.2021.103013
[16]
SEO J, KO D, KIM S, et al. A coordination technique for improving scalability of Byzantine fault-tolerant consensus[J]. Applied Sciences, 2020, 10(21): 7609. DOI:10.3390/app10217609
[17]
吴晓彤, 柳平增. 基于备选投票机制的低时延PBFT改进研究[J]. 计算机工程, 2021, 47(7): 117-125, 134.
WU X T, LIU P Z. Delay optimization for PBFT based on alternative voting mechanism[J]. Computer Engineering, 2021, 47(7): 117-125, 134. (in Chinese)
[18]
WANG L, CHEN X B, LI W F. Research and design of distributed key-value storage system based on Raft consensus algorithm[J]. Journal of Physics: Conference Series, 2021, 1856: 012018. DOI:10.1088/1742-6596/1856/1/012018
[19]
KAUR M, KHAN M Z, GUPTA S, et al. MBCP: performance analysis of large scale mainstream blockchain consensus protocols[J]. IEEE Access, 2021, 9: 80931-80944. DOI:10.1109/ACCESS.2021.3085187
[20]
XING M, LU J, QIU J, et al. Synchronization of complex dynamical networks subject to DoS attacks: an improved coding-decoding protocol[J]. IEEE Transactions on Cybernetics, 2021, 24(3): 157-166.
[21]
YANG F, ZHOU W, WU Q Q, et al. Delegated proof of stake with downgrade: a secure and efficient blockchain consensus algorithm with downgrade mechanism[J]. IEEE Access, 2019, 7: 118541-118555. DOI:10.1109/ACCESS.2019.2935149
[22]
FENG J Y, ZHAO X Y, CHEN K X, et al. Towards random-honest miners selection and multi-blocks creation: proof-of-negotiation consensus mechanism in blockchain networks[J]. Future Generation Computer Systems, 2020, 105: 248-258. DOI:10.1016/j.future.2019.11.026
[23]
SUN Y Y, YAN B W, YAO Y, et al. DT-DPoS: a delegated proof of stake consensus algorithm with dynamic trust[J]. Procedia Computer Science, 2021, 187: 371-376. DOI:10.1016/j.procs.2021.04.113
[24]
HU Q, YAN B W, HAN Y B, et al. An improved delegated proof of stake consensus algorithm[J]. Procedia Computer Science, 2021, 187: 341-346. DOI:10.1016/j.procs.2021.04.109
[25]
XU G X, LIU Y, KHAN P W. Improvement of the DPoS consensus mechanism in blockchain based on vague sets[J]. IEEE Transactions on Industrial Informatics, 2020, 16(6): 4252-4259. DOI:10.1109/TII.2019.2955719
[26]
LIU J, XIE M Y, CHEN S Y, et al. An improved DPoS consensus mechanism in blockchain based on PLTS for the smart autonomous multi-robot system[J]. Information Sciences, 2021, 575: 528-541. DOI:10.1016/j.ins.2021.06.046
[27]
WANG K, KIM H S. FastChain: scaling blockchain system with informed neighbor selection[C]//Proceedings of IEEE International Conference on blockchain. Washington D. C., USA. IEEE Press, 2019: 376-383.