一种实用于区块链的优化拜占庭容错算法制造技术

技术编号:26178219 阅读:44 留言:0更新日期:2020-10-31 14:27
本发明专利技术设计了一种实用于区块链的优化拜占庭算法OPBFT(optimized practical Byzantine fault tolerance)。用于解决传统拜占庭算法不能动态感知节点数量、选举出恶意节点效率低下的问题。为了解决节点加入问题,该方法引入了节点动态加入和退出机制,节点加入和退出时都需要通过所有节点间的相互确认,确认过程分为四个阶段,分别是请求,确认,回复和完成。为了解决主节点选取的随意性问题,引入了打分和投票协同机制,打分机制遵循的是区块链的最长链原则,投票打分机制协同进行。该方法中的节点加入和退出机制使得共识的节点数量可变,大大提高了共识算法的实用性。打分投票协同机制,极大地保证了选取的主节点的正确性,提高了系统的安全性。

【技术实现步骤摘要】
一种实用于区块链的优化拜占庭容错算法
本专利技术涉及分布式系统中区块链技术的拜占庭共识算法领域,具体设计了一种实用于区块链的优化拜占庭容错算法。
技术介绍
区块链是一种去中心化协议,包含了分布式对称网络、数据加密、共识算法等技术。其中,共识算法的选择是区块链设计的核心部分。实用拜占庭容错算法PBFT(practicalByzantinefaulttolerance)改进于拜占庭共识算法BFT(Byzantinefaulttolerance),继承了BFT的优点,并且大规模降低了拜占庭协议的开销,因此拜占庭算法在区块链系统中能够被应用。PBFT算法是基于状态机副本复制的算法,每个状态机副本都能保存服务状态,满足用户的合法请求,不仅可以完成交易,还能够实现不同类型的操作。系统中最多可以满足f=(N-1)/3(N为节点总数)数量的作恶节点,这样仍能保持系统的安全性和活性,最终达成一致的分布式共识。虽然PBFT算法是一种成熟的算法,但是也存在着不足。首先,PBFT算法采用C/S架构,不能动态感知节点数目的变化,更不能应用于P2P网络模型。没有灵本文档来自技高网...

【技术保护点】
1.一种优化的区块链实用性拜占庭容错算法,节点加入和退出并触发主节点选取机制,其特征在于,所述方法包括以下步骤:/n步骤一:节点加入,过程分为请求、确认、回复、完成四个阶段,当节点加入后触发主节点选取机制。进入步骤二;/n步骤二:主节点选取,通过打分和投票协同机制,选出正确性高的主节点,为系统的共识做准备。若有节点想退出,进入步骤三;/n步骤三:节点退出,过程同加入相似,分为请求、确认、回复、完成四个阶段。当节点退出后再次触发主节点选取机制,为下一次的共识做准备。/n

【技术特征摘要】
1.一种优化的区块链实用性拜占庭容错算法,节点加入和退出并触发主节点选取机制,其特征在于,所述方法包括以下步骤:
步骤一:节点加入,过程分为请求、确认、回复、完成四个阶段,当节点加入后触发主节点选取机制。进入步骤二;
步骤二:主节点选取,通过打分和投票协同机制,选出正确性高的主节点,为系统的共识做准备。若有节点想退出,进入步骤三;
步骤三:节点退出,过程同加入相似,分为请求、确认、回复、完成四个阶段。当节点退出后再次触发主节点选取机制,为下一次的共识做准备。


2.根据权利要求1所述的一种实用于区块链的优化拜占庭容错算法,其特征在于,步骤一所述的节点加入过程包括以下步骤:
步骤一:节点i为待加入的节点,请求阶段,节点i向其余所有节点发送一条请求加入的消息。消息的格式为<REQUEST-JOIN,t,ip>,t表示时间戳,ip表示待加入节点的IP地址。进入步骤二;
步骤二:接着是确认阶段,所有收到信息的从节点再分别向其他从节点发送消息,用来确定其余节点也都收到申请加入的消息,消息的格式为<JOIN,j,ip>,j是发送消息的节点编号,ip是待加入节点的IP地址。消息发送完成后,当每个节点收到至少2f+1条消息时,进入回复阶段。进入步骤三;
步骤三:此时每个从节点向主节点回复并表明是否同意i节点加入,消息格式为<REPLY,agree/refuse,ip>,只有当超过半数的从节点同意加入时,主节点才会最终同意加入。如果主节点未收到某些节点的消息时,则将未回复节点视为放弃。


3.根据权利要求1所述的一种实用于区块链的优化拜占庭容错算法,其特征在于,步骤二所述的主节点的选取包括以下步骤:
步骤一:进入系统寻找主节点,首先进入节点打分机制,如果选出唯一最高分则直接选出主节点,并进入视图转换流程;如果未选出唯一的...

【专利技术属性】
技术研发人员:王辉周佳东
申请(专利权)人:南京工业大学
类型:发明
国别省市:江苏;32

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

1