【技术实现步骤摘要】
一种实用于区块链的优化拜占庭容错算法
本专利技术涉及分布式系统中区块链技术的拜占庭共识算法领域,具体设计了一种实用于区块链的优化拜占庭容错算法。
技术介绍
区块链是一种去中心化协议,包含了分布式对称网络、数据加密、共识算法等技术。其中,共识算法的选择是区块链设计的核心部分。实用拜占庭容错算法PBFT(practicalByzantinefaulttolerance)改进于拜占庭共识算法BFT(Byzantinefaulttolerance),继承了BFT的优点,并且大规模降低了拜占庭协议的开销,因此拜占庭算法在区块链系统中能够被应用。PBFT算法是基于状态机副本复制的算法,每个状态机副本都能保存服务状态,满足用户的合法请求,不仅可以完成交易,还能够实现不同类型的操作。系统中最多可以满足f=(N-1)/3(N为节点总数)数量的作恶节点,这样仍能保持系统的安全性和活性,最终达成一致的分布式共识。虽然PBFT算法是一种成熟的算法,但是也存在着不足。首先,PBFT算法采用C/S架构,不能动态感知节点数目的变化,更不能应用于P ...
【技术保护点】
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所述的一种实用于区块链的优化拜占庭容错算法,其特征在于,步骤二所述的主节点的选取包括以下步骤:
步骤一:进入系统寻找主节点,首先进入节点打分机制,如果选出唯一最高分则直接选出主节点,并进入视图转换流程;如果未选出唯一的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。