一种基于Paxos算法的区块链共识方法技术

技术编号:26797388 阅读:14 留言:0更新日期:2020-12-22 17:14
本发明专利技术的一种基于Paxos算法的区块链共识方法包括以下步骤:S1:将需要区块链存储的信息采用广播的方式发布于区块链网络中;S2:基于Paxos算法定期选举出一个主节点;S3:由主节点负责将步骤S1中广播发布至区块链中的信息打包成一个区块,将区块发布到区块链网络中;S4:由区块链中超过50%的节点确认当前主节点发布的区块内的信息无误;S5:将该区块添加到区块链上,区块链上的所有节点进行同步该区块内容将其加到区块链上;S6:该主节点任务结束,回归正常状态,等待下一次基于Paxos算法选举新的主节点。该方法摒除了无意义的运算,只需要进行协商,能耗低,没有资源的浪费,效率高,所有的时延均在于网络传输延时,计算几乎不耗时。

【技术实现步骤摘要】
一种基于Paxos算法的区块链共识方法
本专利技术涉及区块链
,具体涉及一种基于Paxos算法的区块链共识方法
技术介绍
目前区块链通常使用的共识机制为PoW算法,PoW算法(ProofOfWork),即工作量证明系统,其主要特点是客户端需要做一定难度的工作得出一个结果,验证方通过结果能够很容易来检查出客户端是不是做了相应的工作。此方案的一个核心特征是不对称性,即工作对于请求方是较大的,而对于验证方则是易于验证的。因此PoW工作量证明机制效率低下,消耗能源非常高,资源浪费严重。此外还有基于PoW算法的扩展算法PoS算法和DPoS算法,其中的PoS算法主要思想是节点记账权的获得难度与节点持有的权益成反比,相比PoW算法在一定程度上减少了资源的消耗,但是有可能造成强者恒强,权益大户出现垄断,去中心化程度低的问题。目前需要一种既能节约资源又能够保持区块链去中心化特点的共识机制生成方法。
技术实现思路
为克服现有技术的不足,本专利技术提出一种基于Paxos算法的区块链共识方法,其能摒除无意义的运算,只需要进行协商,能耗低,没有资源的浪费,效率高,所有的时延均在于网络传输延时,计算几乎不耗时。为实现上述目的,本专利技术的一种基于Paxos算法的区块链共识方法,包括以下步骤:S1:将需要区块链存储的信息采用广播的方式发布于区块链网络中;S2:基于Paxos算法定期选举出一个主节点;S3:由主节点负责将步骤S1中广播发布至区块链中的信息打包成一个区块,将区块发布到区块链网络中;S4:由区块链中超过50%的节点确认当前主节点发布的区块内的信息无误;S5:将该区块添加到区块链上,区块链上的所有节点进行同步该区块内容将其加到区块链上;S6:该主节点任务结束,回归正常状态,等待下一次基于Paxos算法选举新的主节点。进一步地,在步骤S2中,Paxos算法包括如下步骤:S201:proposer选择一个提议编号Mn,然后向acceptor的某个超过半数的子集成员发送编号为Mn的prepare请求;S202:如果一个acceptor收到编号为Mn的prepare请求,且编号Mn大于该acceptor已经响应的所有prepare请求的编号,则该acceptor将其已经接受过的最大编号的提议作为响应反馈给proposer,同时该acceptor承诺不会再接受任何编号小于Mn的提议;S203:如果proposer收到来自半数以上的acceptor对于其发出的编号为Mn的prepare请求响应,则proposer会发送一个针对[Mn,Vn]提议的accept请求给acceptor,Vn的值是收到的响应中编号最大的提议的值,如果响应中不包含任何提议,则Vn的值为任意值;S204:如果某个acceptor收到此针对[Mn,Vn]提议的accept请求,只要该accept尚未对编号大于Mn的prepare请求作出响应,则该acceptor接受此提议。进一步地,在步骤S1中,由某个选定的serve向区块链网络中的其他serve发送需要区块链存储的信息。进一步地,在步骤S4中,节点以自己存储的消息记录来校验主节点打包的区块内容是否正确,如正确则回复正确,并将该区块添加到自身的区块链上。进一步地,在步骤S1中,需要区块链存储的信息包括一段时间内的交易或消息。进一步地,在步骤S2中,在每间隔一定时间或累积一定消息数目后进行主节点选举。进一步地,在步骤S4中,对于主节点发布出来的区块的内容,持有不同意见或不认可该区块内容的节点将不会将该区块挂载到自己的区块链上,并且发起下一轮投票,在此场景下,系统中会有概率存在两条区块链,当存在此冲突时,以最长的区块链且超过50%的节点认可的区块链为准。本专利技术的一种基于Paxos算法的区块链共识方法摒除了无意义的运算,只需要进行协商,能耗低,没有资源的浪费,效率高,所有的时延均在于网络传输延时,计算几乎不耗时。附图说明下面结合附图对本专利技术作进一步描写和阐述。图1是步骤S1的流程图;图2是步骤S2的流程图;图3是步骤S4的流程图。具体实施方式下面将结合附图、通过对本专利技术的优选实施方式的描述,更加清楚、完整地阐述本专利技术的技术方案。本专利技术首选实施方式的一种基于Paxos算法的区块链共识方法,包括以下步骤:S1:如图1所示,由某个选定的serve向区块链网络中的其他serve发送需要区块链存储的信息,将需要区块链存储的信息采用广播的方式发布于区块链网络中,需要区块链存储的信息包括一段时间内的交易或消息;S2:如图2所示,在每间隔一定时间或累积一定消息数目后,基于Paxos算法定期选举出一个主节点;S201:proposer选择一个提议编号Mn,然后向acceptor的某个超过半数的子集成员发送编号为Mn的prepare请求;S202:如果一个acceptor收到编号为Mn的prepare请求,且编号Mn大于该acceptor已经响应的所有prepare请求的编号,则该acceptor将其已经接受过的最大编号的提议作为响应反馈给proposer,同时该acceptor承诺不会再接受任何编号小于Mn的提议;S203:如果proposer收到来自半数以上的acceptor对于其发出的编号为Mn的prepare请求响应,则proposer会发送一个针对[Mn,Vn]提议的accept请求给acceptor,Vn的值是收到的响应中编号最大的提议的值,如果响应中不包含任何提议,则Vn的值为任意值;S204:如果某个acceptor收到此针对[Mn,Vn]提议的accept请求,只要该accept尚未对编号大于Mn的prepare请求作出响应,则该acceptor接受此提议;S3:由主节点负责将步骤S1中广播发布至区块链中的信息打包成一个区块,将区块发布到区块链网络中;S4:如图3所示,节点以自己存储的消息记录来校验主节点打包的区块内容是否正确,如正确则回复正确,并将该区块添加到自身的区块链上,由区块链中超过50%的节点确认当前主节点发布的区块内的信息无误,对于主节点发布出来的区块的内容,持有不同意见或不认可该区块内容的节点将不会将该区块挂载到自己的区块链上,并且发起下一轮投票,在此场景下,系统中会有概率存在两条区块链,当存在此冲突时,以最长的区块链且超过50%的节点认可的区块链为准;S5:将该区块添加到区块链上,区块链上的所有节点进行同步该区块内容将其加到区块链上;S6:该主节点任务结束,回归正常状态,等待下一次基于Paxos算法选举新的主节点。本专利技术的一种基于Paxos算法的区块链共识方法摒除了无意义的运算,只需要进行协商,能耗低,没有资源的浪费,效率高,所有的时延均在于网络传输延时,计算几乎不耗时。上述具体实施方式仅仅对本专利技术的优选实施方式进行描述,而本文档来自技高网...

【技术保护点】
1.一种基于Paxos算法的区块链共识方法,其特征在于,包括以下步骤:/nS1:将需要区块链存储的信息采用广播的方式发布于区块链网络中;/nS2:基于Paxos算法定期选举出一个主节点;/nS3:由主节点负责将步骤S1中广播发布至区块链中的信息打包成一个区块,将区块发布到区块链网络中;/nS4:由区块链中超过50%的节点确认当前主节点发布的区块内的信息无误;/nS5:将该区块添加到区块链上,区块链上的所有节点进行同步该区块内容将其加到区块链上;/nS6:该主节点任务结束,回归正常状态,等待下一次基于Paxos算法选举新的主节点。/n

【技术特征摘要】
1.一种基于Paxos算法的区块链共识方法,其特征在于,包括以下步骤:
S1:将需要区块链存储的信息采用广播的方式发布于区块链网络中;
S2:基于Paxos算法定期选举出一个主节点;
S3:由主节点负责将步骤S1中广播发布至区块链中的信息打包成一个区块,将区块发布到区块链网络中;
S4:由区块链中超过50%的节点确认当前主节点发布的区块内的信息无误;
S5:将该区块添加到区块链上,区块链上的所有节点进行同步该区块内容将其加到区块链上;
S6:该主节点任务结束,回归正常状态,等待下一次基于Paxos算法选举新的主节点。


2.根据权利要求1所述的一种基于Paxos算法的区块链共识方法,其特征在于,在步骤S2中,Paxos算法包括如下步骤:
S201:proposer选择一个提议编号Mn,然后向acceptor的某个超过半数的子集成员发送编号为Mn的prepare请求;
S202:如果一个acceptor收到编号为Mn的prepare请求,且编号Mn大于该acceptor已经响应的所有prepare请求的编号,则该acceptor将其已经接受过的最大编号的提议作为响应反馈给proposer,同时该acceptor承诺不会再接受任何编号小于Mn的提议;
S203:如果proposer收到来自半数以上的acceptor对于其发出的编号为Mn的prepare请求响应,则proposer会发送一个针对[Mn,Vn]提议的accept请求给acceptor,Vn的值是收到...

【专利技术属性】
技术研发人员:王勇
申请(专利权)人:紫光云南京数字技术有限公司
类型:发明
国别省市:江苏;32

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

1