论文部分内容阅读
区块链实质上是包含多种底层技术的分布式账本,这种分布式账本无中心节点,所有节点都处于平等的地位。分布式系统中的节点需要维持数据的一致性,在区块链技术中,共识机制决定了系统中的节点之间如何达成共识,也是区块链中非常重要的核心技术,它能够使系统中的所有节点共同维护同一份数据。与传统分布式系统不同,区块链系统需要考虑拜占庭容错(Byzantine Fault Tolerance,BFT)问题,因此主要使用拜占庭容错类共识机制。尤其当比特币等公有链系统出现后,拜占庭容错类共识机制逐渐得到广泛应用。近年来,随着对区块链技术的研究不断增多,这项技术也被应用到医疗、物联网、数据隐私保护等各种不同的领域,不同的应用领域对共识机制的性能需求不尽相同。现有的共识机制由于在安全性和扩展性等方面存在一些不足之处,因此需要对其进行改进以适应不同应用场景的需求。本文研究了区块链系统中几种主流的拜占庭容错类共识机制,重点分析了该类共识机制中的授权股份证明(Delegated Proof of Stake,DPoS)机制,发现了该共识机制中存在的不足并对其进行了改进。具体工作如下:针对DPoS机制中存在的节点投票不积极和无法及时识别恶意节点的情况提出了基于奖励机制的DPoS算法RM-DPoS(Reward Mechanism Delegated Proof of Stake)。该算法通过设置新的奖励分配方案激发节点的投票积极性,在奖励分配方案中,通过在基于沙普利值的收益分配算法中加入时间因素并限制节点的投票次数,不仅可以使节点得到的收益更加合理,而且可以改善系统中节点之间贫富不均的情况。为了让选民将票投给更加可靠的节点,本文建立了针对区块链系统中节点的信任度评价模型,通过该模型能有效识别系统中的恶意节点,降低恶意节点成为见证人节点的概率。实验结果表明,该算法能够更快速地识别出系统中的恶意节点,提高了系统的安全性。针对DPoS机制中代币数量多的节点影响见证人节点选举结果和不能及时处理出现的节点故障问题提出了基于动态分组的DPoS算法DG-DPoS(Dynamic Group Delegated Proof of Stake)。该算法首先根据节点的位置对节点进行动态分组,之后在每个分组内进行见证人节点的选举过程,一定程度上降低了持币量多的节点对选举结果的影响程度。针对出现的节点故障问题,在共识阶段中增加了见证人节点更换协议,提高了系统的健壮性,并通过分组广播区块信息的方式完成区块的同步过程,提升了系统的性能。同时,该算法在整个流程中采用了RM-DPoS算法中提出的奖励分配方案和节点信任度评价模型保证了见证人节点的可靠性。实验结果表明,DG-DPoS机制相比原DPoS机制在安全性、时延性及吞吐量等方面具有一定的优势。