一种改进的PBFT区块链共识方法技术

技术编号:24888746 阅读:48 留言:0更新日期:2020-07-14 18:16
本发明专利技术属于区块链领域,特别涉及一种改进的PBFT区块链共识方法,包括将所有节点分为共识集合和待定集合;对共识集合中的节点进行评分,并通过该评分选择主节点;根据选取的主节点开始视图的共识过程;当共识成功时,主节点历史评分+1,参与共识次数+1;从节点参与共识次数+1;当共识失败时,主节点历史评分‑3;若为从节点怀疑导致视图切换,则该从节点历史共识评分+1且参与共识次数+1;本发明专利技术在保证原有安全性的前提下简化共识过程去掉了一次全节点广播,减少了通信资源的消耗;在每次共识之后增加了一次对节点行为的评价,使得效率高的节点大概率被选为主节点,效率低以及作恶的节点更小概率被选为主节点甚至不能参与共识。

【技术实现步骤摘要】
一种改进的PBFT区块链共识方法
本专利技术属于区块链领域,特别涉及一种改进的PBFT区块链共识方法。
技术介绍
近年来,区块链以其防篡改、去中心化、可审计性、安全性和匿名性等显著特点引起了人们的极大关注,主要应用与金融、保险、物联网、公共服务、数字版权、公益等领域。其融合了p2p网络、密码学、分布式存储、智能合约、共识算法等技术。根据SatoshiNakamoto在《Bitcoin:APeer-to-PeerElectronicCashSystem》一文中的描述,每条区块链都由若干个区块链接而成,每个区块都由一个块头和若干交易组成。块头中包含了前一个区块的哈希、随机数和梅根树根等。由于每个区块都包含前一个区块的哈希,所以想要成功修改某个区块中就必须修改这个区块以及在这个区块之后生成的所有区块,这大大的增加了攻击者攻击成本。作为区块链中非常重要的技术之一的共识算法在上述区块链的形成过程中起到了关键作用。它指定了生成区块的节点并保证每个节点所维护区块链的一致性且提供拜占庭容错。相较于其他共识算法,PBFT消耗更少的计算资源、不依赖代币且考本文档来自技高网...

【技术保护点】
1.一种改进的PBFT区块链共识方法,其特征在于,具体包括一下步骤:/n将所有节点分为共识集合和待定集合;/n对共识集合中的节点进行评分,并通过该评分选择主节点;/n根据选取的主节点开始视图的共识过程;/n当共识成功时,主节点历史评分+1,参与共识次数+1;从节点参与共识次数+1;/n当共识失败时,主节点历史评分-3;若为从节点怀疑导致视图切换,则该从节点历史共识评分+1且参与共识次数+1。/n

【技术特征摘要】
1.一种改进的PBFT区块链共识方法,其特征在于,具体包括一下步骤:
将所有节点分为共识集合和待定集合;
对共识集合中的节点进行评分,并通过该评分选择主节点;
根据选取的主节点开始视图的共识过程;
当共识成功时,主节点历史评分+1,参与共识次数+1;从节点参与共识次数+1;
当共识失败时,主节点历史评分-3;若为从节点怀疑导致视图切换,则该从节点历史共识评分+1且参与共识次数+1。


2.根据权利要求1所述的一种改进的PBFT区块链共识方法,其特征在于,在进行第一次共识时,节点被随机分配到共识集合和待定集合;在之后的共识过程中,共识集合和待定集合中的节点按照节点的评分从高到低进行排序,当共识集合Ra中的节点的历史共识评分小于0时,将该节点将转移到待定集合Rb末尾,同时将Rb集合的首节点转移到共识集合Ra中。


3.根据权利要求2所述的一种改进的PBFT区块链共识方法,其特征在于,从第二次共识开始,将所有节点分为共识集合和待定集合时,需要满足:
|Ra|=3f+1;
|Rb|=f;
其中,|Ra|表示共识集合Ra中节点的数量;|Rb|表示待定集合Rb中节点的数量;f表示参与共识的集合Ra中允许失效的最大节点数。


4.根据权利要求1所述的一种改进的PBFT区块链共识方法,其特征在于,对共识集合中的节点进行评分包括:



其中,Si表示节点i的总评分即评估结果;R表示所有节点组成的集合,|R|表示总节点数;di表示节点i的历史共识评分;ei表示节点剩余电量的百分比;ci和C分别表示节点成功参与共识的次数与总共识次数;k1、k2...

【专利技术属性】
技术研发人员:李云吴奥宇
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆;50

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

1