一种基于Paxos共识的区块链共识方法和装置制造方法及图纸

技术编号:31824300 阅读:18 留言:0更新日期:2022-01-12 12:47
本说明书实施例公开了一种基于Paxos共识的区块链共识方法和装置,所述方法中,在获取区块链共识节点信息后,包括:选举作为Paxos共识领导者的第一共识节点;由所述第一共识节点执行Multi

【技术实现步骤摘要】
一种基于Paxos共识的区块链共识方法和装置


[0001]本说明书涉及计算机软件
,尤其涉及一种基于Paxos共识的区块链共识方法、装置和电子设备。

技术介绍

[0002]区块链作为分布式系统的典型代表,使用Paxos作为共识算法更适合在私有链中。经典Paxos算法的Basic

paxos算法,基本是用于理论研究,虽然安全性较高但是效率较低。实用的Multi

paxos算法在Basic

paxos的二阶段上引入了一个领导者Leader机制,看起来是仅有一阶段的算法,可以用于生产环境的分布式系统的节点共识。如何确保共识安全的前提下,提高共识效率是需要解决的问题。

技术实现思路

[0003]本说明书实施例的目的是针对区块链共识问题,提供一种基于Paxos共识的区块链共识方法和装置。
[0004]为解决上述技术问题,本说明书实施例是这样实现的:
[0005]第一方面,提出了一种基于Paxos共识的区块链共识方法,在获取区块链共识节点信息后,包括:
[0006]选举作为Paxos共识领导者的第一共识节点;
[0007]由所述第一共识节点执行Multi

paxos共识算法,当所述区块完成共识,则所述区块高度加1;
[0008]当所述第一共识节点未能对区块完成共识则进入下一轮,由选举出的作为Paxos共识领导者的第二共识节点执行Basic

paxos共识算法。
[0009]第二方面,提出了一种基于Paxos共识的区块链共识装置,包括:
[0010]Paxos共识领导者选举模块,用于根据共识节点个数N和所述区块高度H和当前共识轮次数M选举作为Paxos共识领导者的共识节点;
[0011]Multi

paxos共识算法执行模块,用于第一共识节点将区块提案提交区块链共识节点进行共识决策;
[0012]Basic

paxos共识算法执行模块,用于当所述第一共识节点未能对区块完成共识则进入下一轮次,由选举出的作为Paxos共识领导者的第二共识节点执行Basic

paxos共识算法。
[0013]第三方面,提出了一种电子设备,包括:处理器;以及
[0014]被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的方法。
[0015]第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的方法。
[0016]本说明书可以达到至少以下技术效果:
[0017]本专利技术在共识过程中首先使用乐观的Multi

paxos进行共识,保证了共识的效率;在共识不成功后,切换成Basic

paxos共识,保障了共识的安全性。
附图说明
[0018]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本说明书实施例提供的基于Paxos共识的区块链共识方法步骤示意图之一。
[0020]图2为本说明书实施例提供的基于Paxos共识的区块链共识方法步骤示意图之二。
[0021]图3为本说明书实施例提供的基于Paxos共识的区块链共识方法步骤示意图之三。
[0022]图4为本说明书的一个实施例提供的基于Paxos共识的区块链共识装置结构示意图。
[0023]图5为本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
[0024]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0025]关键术语
[0026]区块链技术:是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有不可伪造、全程留痕、可以追溯、公开透明、集体维护”等特征。基于这些特征,区块链技术奠定了坚实的信任基础,创造了可靠的合作机制,具有广阔的运用前景。按照准入机制分类,区块链分为公有链、联盟链和私有链。
[0027]区块链共识算法:共识机制是特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。共识算法是实现共识机制的方法,目前常见的有PoW,PoS,DPoS,PBFT,Paxos,Raft等,主流共识算法可大致分为三类:挑战证明、权益证明、协商证明。脱离应用场景谈算法是没意义的,每一种算法都有各自适用的场景,到底选择哪个取决于实际环境的网络和数据。通常PoW和PoS是公有链常用的共识算法,而PBFT和Raft是联盟链和私有链中常用的共识算法,在可信环境使用Paxos或Raft。
[0028]Paxos共识算法:是Leslie Lamport提出的,最初是为了解决ECHO的容错文件系统问题,是一个在分布式系统上应用广泛的算法。区块链作为分布式系统的典型代表,使用
Paxos作共识算法。该算法出现在拜占庭算法后面,拜占庭算法适合在联盟链中使用,而Paxos算法适合在私有链中。在Paxos算法中,有4种角色:提议者Proposer、决策者Acceptor、产生议题者Client、最终学习决策者Leaner。实际Paxos算法本身只描述了一个提案的达成,实现者可以根据需要来实现多个连续的提案达成,Paxos工程实现的难度比较,因此产生了Paxos的衍生算法Zab和Raft等。
[0029]Basic

paxos算法:Basic

paxos处理共识过程分为两个阶段:一是准备阶段,提议者提交一个序号,执行模拟提交,获取系统中每个节点是否接受的该操作,统计结果。赞同票比例大于50%,就通过进入提交阶段;否则这个提交就失败了,接收提案的节点负责验证该提案的有效性,同时只接受最新提案,发送接受的结果给提交者。二是提交阶段,提议者执行提交,要求接受提案的节点接受收它们之前承诺接受的数据。如果没有错误,那么这本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Paxos共识的区块链共识方法,在获取区块链共识节点信息后,其特征在于,包括:选举作为Paxos共识领导者的第一共识节点;由所述第一共识节点执行Multi

paxos共识算法,当所述区块完成共识,则所述区块高度加1;当所述第一共识节点未能对区块完成共识则进入下一轮,由选举出的作为Paxos共识领导者的第二共识节点执行Basic

paxos共识算法。2.根据权利要求1所述的方法,其特征在于,选举作为Paxos共识领导者的第一共识节点,包括:根据共识节点个数N和所述区块高度H和当前共识轮次数M,按照(H+M)mod N计算得到共识节点列表序号。3.根据权利要求1所述的方法,其特征在于,由所述第一共识节点执行所述Multi

paxos共识算法包括:将所述第一共识节点产生的提案向其他共识节点进行广播;所述其他共识节点对所述提案进行共识表决;若所述第一共识节点收到所述区块链半数或以上共识节点发送的接收表决,则可确认当前高度的所述区块;否则选举出下一轮次作为Paxos共识领导者的所述第二共识节点。4.根据权利要求1所述的方法,其特征在于,所述第二共识节点执行所述Basic

paxos共识算法包括:所述第二共识节点广播Prepare消息询问是否有尚未提交的区块;若所述第二共识节点收到前一轮次尚未提交的提案,则将所述区块作为本轮次提案,执行所述Multi

paxos共识算法;若所述第二共识节点未收到前一轮次尚未提交的提案,则从所述第二共识节点产生区块作为本轮次提案,执行所述Multi

paxos共识算法。5.根据权利要求1所述的方法,其特征在于,通过所述区块智能合约获取所述区块链共识节点信息。6.一种基于Paxos共识的区块链共识装置,其特征在于,包括:Paxos共识领导者选举模块,用于根据共识节点个数N和所述区块高度H和当前共识轮次数M选举作为Paxos共识领...

【专利技术属性】
技术研发人员:王晓亮俞波
申请(专利权)人:杭州溪塔科技有限公司
类型:发明
国别省市:

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

1