一种基于信誉机制和DPBFT算法的区块链动态DPoS共识方法技术

技术编号:24103417 阅读:76 留言:0更新日期:2020-05-09 14:16
本发明专利技术涉及一种基于信誉机制和DPBFT算法的区块链动态DPoS共识方法,属于区块链技术领域。该方法包括:S1初始化全网节点信誉记录;S2统计各节点的信誉权重票数和支持节点数,选择得票数排名前TN的节点组成Pool,从Pool中选择排名前n的节点作为代表节点;S3代表节点通过洗牌算法生成随机序列,通过DPBFT算法确认问题原因并做出处理措施,直至一个序列的所有代表节点完成产块;S4待完成一轮产块,通过洗牌算法生成新的出块序列,直至下一个运行周期或候选节点数量少于阈值TNM。本发明专利技术通过引进信誉机制降低DPOS投票过程以及区块生产过程中恶意节点对系统的影响,并提高全网节点参与共识过程的积极性。

A dynamic dpos consensus method of blockchain based on reputation mechanism and dpbft algorithm

【技术实现步骤摘要】
一种基于信誉机制和DPBFT算法的区块链动态DPoS共识方法
本专利技术属于区块链
,涉及一种基于信誉机制和DPBFT(DynamicPracticalByzantineFaultTolerance,动态拜占庭容错算法)的区块链动态DPoS共识方法。
技术介绍
区块链作为支撑比特币运行的核心技术,凭借去中心化结构、数据公开透明、不可篡改的特性,已成为当下关注的一个热点,区块链技术将会共享经济、跨境支付、物联网等方面大放异彩。区块链平台整体上可划分为网络层,共识层,数据层,智能合约层和应用层五个层次。区块链技术的伟大之处就是它的共识机制,在去中心化的思想上解决了节点间互相信任的问题。区块链拥有众多节点,各节点能不依靠中心化的权威,大规模的高效协作依然能够完成就是因为共识机制。在区块链网络环境中,有运行正常的服务器,有故障的服务器,还有破坏者的服务器,共识算法的核心是在正常的节点间形成对网络状态的共识而对故障服务器或破坏者服务器进行规避。1999年,MiguelCastro和BarbaraLiskov发表论文《Practica本文档来自技高网...

【技术保护点】
1.一种基于信誉机制和DPBFT算法的区块链动态DPoS共识方法,其特征在于,该方法具体包括以下步骤:/nS1:区块链系统运行期间,每一天称为一个运行周期,在每个运行周期开始之前初始化区块链全网节点信誉记录和记录产块轮次t;/nS2:全网节点使用抵押持有账户财产所得到的股份对其所支持的节点进行赞同投票,系统结合节点信誉记录统计各节点获得的信誉权重票数和支持节点数,得票数排名前TN的节点作为候选节点组成候选池Pool,从Pool中根据各候选节点的支持节点数选择排名前n的节点作为共识过程中的代表节点;/nS3:代表节点通过洗牌算法后生成随机序列,然后按序列顺序生产区块,生产的区块通过动态PBFT算...

【技术特征摘要】
1.一种基于信誉机制和DPBFT算法的区块链动态DPoS共识方法,其特征在于,该方法具体包括以下步骤:
S1:区块链系统运行期间,每一天称为一个运行周期,在每个运行周期开始之前初始化区块链全网节点信誉记录和记录产块轮次t;
S2:全网节点使用抵押持有账户财产所得到的股份对其所支持的节点进行赞同投票,系统结合节点信誉记录统计各节点获得的信誉权重票数和支持节点数,得票数排名前TN的节点作为候选节点组成候选池Pool,从Pool中根据各候选节点的支持节点数选择排名前n的节点作为共识过程中的代表节点;
S3:代表节点通过洗牌算法后生成随机序列,然后按序列顺序生产区块,生产的区块通过动态PBFT算法确认其不可逆性以及对当前代表节点未按时出块或出块失败的情况做出相应的处理措施,直至一个序列的所有代表节点完成产块;
S4:待完成一轮产块,序列中的代表节点通过洗牌算法生成新的出块序列,继续步骤S2,直至下一个运行周期或候选节点数量少于阈值TNM,继续步骤S1。


2.根据权利要求1所述的基于信誉机制和DPBFT算法的区块链动态DPoS共识方法,其特征在于,所述步骤S1具体包括以下步骤:
S11:节点信誉记录mir是节点i在作为代表节点生产区块过程中由于原因r而生产区块失败的历史出错次数,生产区块失败的原因分为两类:一类是产生严重后果的原因集合R1,这一部分记录会始终跟随节点参与所有运行周期的信誉权重计算;另一类是后果较轻的原因集合R2,这一部分记录会在每一运行周期初始时清零,即mir=0,r∈R2,只参与当前运行周期节点的信誉权重计算,不跟随节点到下一运行周期;
S12:清零产块轮次t,即t=0。


3.根据权利要求2所述的基于信誉机制和DPBFT算法的区块链动态DPoS共识方法,其特征在于,所述步骤S2具体包括以下步骤:
S21:在运行周期初始阶段,每个账户每个股份允许给每个有效节点投一票,这个过程被称作赞成投票,投票结束后,系统对各节点通过公式(1)计算获得权重得票数:



其中,N表示全网节点,代表第j个节点第t轮对i节点的投票数,IEi表示i节点根据信誉记录得到的累计错误权重,具体由公式(2)计算得出:



其中,R=R1∪R2表示证人节点i在生产区块失败时可能的原因,Mr表示节点所能容忍由于原因r生产区块失败的最大次数,Qr表示原因r相对于R的权重;
S22:系统统计所有节点的权重得票总数,选择总数...

【专利技术属性】
技术研发人员:熊安萍谭超祝清意
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆;50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1