CN112329051B - 一种安全高效的共识机制实现方法及系统 - Google Patents
一种安全高效的共识机制实现方法及系统 Download PDFInfo
- Publication number
- CN112329051B CN112329051B CN202011148629.2A CN202011148629A CN112329051B CN 112329051 B CN112329051 B CN 112329051B CN 202011148629 A CN202011148629 A CN 202011148629A CN 112329051 B CN112329051 B CN 112329051B
- Authority
- CN
- China
- Prior art keywords
- master node
- block
- node
- value
- secret
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000007246 mechanism Effects 0.000 title claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 14
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000012797 qualification Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 12
- 238000012790 confirmation Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种安全高效的共识机制实现方法及系统,包括:各节点根据上一轮主节点揭示秘密值计算出当前轮随机数,确定当前轮的主节点;每一轮主节点负责收集各节点对上一轮主节点所提区块的投票,并提出新区块,揭示原秘密值,选取新秘密值,公开新秘密值承诺;若各节点在规定时间内未收集到主节点发送的投票结果,则各节点广播解密秘密分享值,以恢复出当前主节点秘密值,计算下一轮主节点,重新投票。本发明将更换领导者过程与正常流程有机耦合,引入的PVSS方案在主节点不响应的情况下仍可恢复出当前轮的随机数,通过链式Hotstuff思想减少确认一个区块所需的通信量和通信时间,减少共识过程所需的通信次数,提升共识效率、性能及安全性。
Description
技术领域
本发明属于信息安全技术领域,涉及共识机制的设计方案,具体为一种安全高效的共识机制实现方法及系统。
背景技术
随着区块链技术的发展,其核心关键技术共识机制也受到广泛关注。共识机制的定义是“The process of agreeing on one results among a group of participants”,即使得多个参与者同意一个结果的过程就叫做共识机制。共识机制负责验证和将验证信息添加到分类账簿中,确保只有真实的事务被记录,即安全地更新分布式网络中的数据状态,使所有的诚实节点保存一致的数据。具体地共识机制应实现一致性,有效性以及安全性。一致性是指所有诚实节点保存的有效数据完全相同。有效性是指由某诚实节点发布的信息终将被其他所有诚实节点记录。安全性是指保证系统在面临威胁或故障时仍然能够运行。除此之外,还需要考虑共识机制的效率,可扩展性,使其具有实用价值。
目前已有许多共识机制的实现方案。1999年,Barbara Liskov在其所著论文(Castro M,Liskov B.Practical Byzantine fault tolerance.In:Proceedings of the3rd Symposium on Operating Systems Design and Implementation.New Orleans,USA:OSDI,1999.173-186)中等提出了实用拜占庭容错算法(Practical Byzantine FaultTolerance,PBFT),将算法复杂度由指数级降低到多项式级,解决了原始拜占庭容错算法效率不高的问题,使得拜占庭容错算法在实际系统应用中变得可行。但因其可扩展性不高,且通信量较大,一般用于区块链中相对可信的私有链,或联盟链等,应用范围受到限制。
2008年,中本聪在比特币的白皮书(S.Nakamoto,“Bitcoin:A Peer-to-PeerElectronic Cash System,”2008,bitcoin.org/bitcoin.pdf.)中提出通过工作量证明机制(Proof-of-Work,PoW)来保证比特币网络分布式记账的一致性。其核心思想是通过分布式节点的算力竞争来保证数据的一致性和共识的安全性。这是最早,且安全可靠程度较高的公有链共识算法,极大推进了之后基于区块链的共识机制的研究。不可否认的是,PoW共识同时存在着显著的缺陷,其强大算力造成的资源浪费(主要是电力消耗)一直以来为人们所诟病,而且长达10分钟的交易确认时间也使其无法应用于小额商业交易。
此后,诞生了一系列针对共识机制的研究,如权益证明机制,空间(容量)证明机制,以及多种共识机制的组合等。2018年,由VMware Research等团队提出了基于主节点的拜占庭容错共识协议Hotstuff(参考M.Yin et al.,“Hotstuff:BFT consensus in thelens of blockchain,”2018.[Online].Available:https://arxiv.org/abs/1803.05069),其将PBFT的网状通信网络拓扑变成了星形通信网络拓扑,并将链式结构融入算法中,将共识过程流水化处理,降低更换主节点的代价。这一设计使得PBFT算法与区块链系统更好地融合,在保证安全性的情况下提高了可扩展性。然而在Hotstuff的正常流程中,每一轮需要节点间进行三次通信,考虑到网络固有的传播时延,导致吞吐量较低。且主节点的选择不具有随机性,主节点易受到针对性攻击,损害安全性。
从目前的研究工作来看,针对共识机制的研究,现在面临的主要问题仍是吞吐量问题,即已有的针对区块链的共识机制都面临现有区块链资源消耗大,交易吞吐量低等问题,很难做到性能和扩展性的平衡。因此,如何提升区块链的效率,成为一个亟待解决的问题。
发明内容
为了解决上述问题,本发明提出一种安全高效的共识机制实现方法及系统,其基于Hotstuff的链式结构,在保证共识机制的一致性和有效性的前提下,减少共识传播环节,降低通信复杂度,从而提升共识机制的效率,性能。此外,结合公开可验证秘密分享PVSS方案选举主节点,为主节点的选择引入随机性,提高共识机制的安全性。
为实现上述目的,本发明采取如下技术方案:
一种安全高效的共识机制实现方法,适用于由若干节点组成的区块链系统,其步骤包括:
1)各节点Pi分别生成秘密值si及承诺值com(si),其中承诺值com(si)包括其它节点公钥加密的秘密分享值,1≤i≤N,N为节点总数;
2)根据随机数Rr-1选举的主节点Pr,将交易数据打包生成区块Br且生成秘密值s′i,并广播包括区块Br和主节点Pr的秘密值si及承诺值com(s′i)的消息,其中r为选举主节点的轮次,r≥1,随机数R0为区块链系统随机分配,在秘密值si广播后主节点Pr将秘密值s′i作为节点Pi的秘密值si;
3)第r轮各副本节点将对区块Br投票发送至根据随机数Rr选举的主节点Pr+1,其中随机数Rr通过主节点Pr广播的秘密值si与随机数Rr-1生成;
4)若主节点Pr+1认定区块Br为有效区块,则基于区块Br生成区块Br+1且生成秘密值s′i,并广播包含有效结果证明、区块Br+1和主节点Pr+1的秘密值si及承诺值com(s′i)的信息;若主节点Pr+1认定区块Br为无效区块,则基于最新有效区块Bk生成区块Br+1且生成秘密值s′i,并广播包含无效结果证明、区块Br+1和主节点Pr+1的秘密值si及承诺值com(s′i)的信息,其中k<r;若主节点Pr+1无法认定区块Br是否有效,则第r轮各副本节点通过广播依据主节点Pr+1的承诺值com(si)得到的主节点Pr+1秘密分享值,恢复主节点Pr+1的秘密值si,并结合随机数Rr计算随机数Rr+1,选举主节点Pr+2;
其中,若主节点Pr+1无法认定区块Br是否有效,且直到主节点Pr+m才能判断区块Br是否为有效区块,则当主节点Pr+m认定区块Br为有效区块时,主节点Pr+m基于区块Br生成区块Br +m且生成秘密值s′i,并广播包含有效结果证明、(r+1)轮至(r+m-1)轮的超时证明集合、区块Br+m和主节点Pr+m的秘密值si及承诺值com(s′i)的信息;当主节点Pr+m认定区块Br为无效区块时,主节点Pr+m基于最新有效区块Bk生成区块Br+m且生成秘密值s′i,并广播包含无效结果证明、(r+1)轮至(r+m-1)轮的超时证明集合、区块Br+m和主节点Pr+m的秘密值si及承诺值com(s′i)的信息,m≥2;
5)当连续d个信息中,都包含有效结果证明且后(d-1)个信息不包含超时证明集合,则执行交易,其中d≥2。
进一步地,各节点生成秘密值si、秘密分享值及第r轮各副本节点恢复主节点Pr+1的秘密值si的方法包括:可验证秘密分享PVSS方法。
进一步地,信息中还包含相应主节点的签名。
进一步地,各副本节点对区块Br投票之前,对消息中主节点Pr的签名进行认证。
进一步地,各节点还设有一计时器;发送投票的同时,开启所述计时器。
进一步地,随机数其中H为哈希计算,/>为主节点Pr广播的秘密值si。
进一步地,主节点Pr+1无法认定区块Br是否有效的原因,包括:
1)主节点Pr+1在设定时间内,未收到设定数量的投票;
2)主节点Pr+1为恶意节点;
3)主节点Pr+1的网络状况不佳。
进一步地,若主节点Pr+1无法认定区块Br是否有效,则主节点Pr+1在设定轮次内不能获得当选为主节点的资格。
一种安全高效的共识机制实现系统,包括:
区块链节点,用以生成秘密值si及承诺值com(si),其中承诺值com(si)包括其它节点公钥加密的秘密分享值,1≤i≤N,N为节点总数,随机数R0为区块链系统随机分配;通过主节点Pr的秘密值si与随机数Rr-1生成随机数Rr;当连续d个信息中,都包含有效结果证明且后d-1个信息不包含超时证明集合,则执行交易,其中d≥2;
根据共识机制实现过程,所述区块链节点又可分为:
第(r-1)轮副本节点,用以根据随机数Rr-1选举的主节点Pr;
第r轮主节点Pr,用以将交易数据打包生成区块Br且生成秘密值s′i,并广播包括区块Br和主节点Pr的秘密值si及承诺值com(s′i)的消息,其中r为选举主节点的轮次,r≥1,在秘密值si广播后主节点Pr将秘密值s′i作为节点Pi的秘密值si;
第r轮副本节点,用以将对区块Br投票发送至根据随机数Rr选举的主节点Pr+1;若主节点Pr+1无法认定区块Br是否有效,通过广播依据主节点Pr+1的承诺值com(si)得到的主节点Pr+1秘密分享值,恢复主节点Pr+1的秘密值si,并结合随机数Rr计算随机数Rr+1,选举主节点Pr +2;
第(r+1)轮主节点Pr+1,用以若主节点Pr+1认定区块Br为有效区块,则基于区块Br生成区块Br+1且生成秘密值s′i,并广播包含有效结果证明、区块Br+1和主节点Pr+1的秘密值si及承诺值com(s′i)的信息;若主节点Pr+1认定区块Br为无效区块,则基于最新有效区块Bk生成区块Br+1且生成秘密值s′i,并广播包含无效结果证明、区块Br+1和主节点Pr+1的秘密值si及承诺值com(s′i)的信息,其中k<r;
第(r+m)轮主节点Pr+m,用以若主节点Pr+1无法认定区块Br是否有效,且直到主节点Pr+m才能判断区块Br是否为有效区块,则当主节点Pr+m认定区块Br为有效区块时,基于区块Br生成区块Br+m且生成秘密值s′i,并广播包含有效结果证明、(r+1)轮至(r+m-1)轮的超时证明集合、区块Br+m和主节点Pr+m的秘密值si及承诺值com(s′i)的信息;当主节点Pr+m认定区块Br为无效区块时,基于最新有效区块Bk生成区块Br+m且生成秘密值s′i,并广播包含无效结果证明、(r+1)轮至(r+m-1)轮的超时证明集合、区块Br+m和主节点Pr+m的秘密值si及承诺值com(s′i)的信息,其中m≥2,主节点Pr+m由第(r+m-1)轮的各副本节点选举。
进一步地,各节点生成秘密值si、秘密分享值及第r轮各副本节点恢复主节点Pr+1的秘密值si的方法包括:可验证秘密分享PVSS方法。
本发明与现有技术相比,积极效果为:
1、本发明在不损害安全性及有效性的前提下,与其他类似PBFT类的方案相比,能够减少共识过程所需的通信次数,提升共识效率及性能;每一轮主节点的选择具有随机性和无偏性,在频繁更换领导者的情况下,保证安全性;
2、本发明由不同的主节点完成对于同一区块的产生和收集投票的任务,即新的主节点在广播上一区块投票结果的同时完成提新区块的任务,视图切换过程(即更换领导者过程)与正常流程(即每次收票,提块过程)更有机的耦合,使得视图切换更一般化,在主节点为诚实节点的多数情况下,每一轮仅需一次交互,即两次单向通信,降低每轮的通信时长,提升了共识效率及其性能;
3、本发明在确定选取主节点的随机数方面引入PVSS方案(公开可验证秘密分享方案),使得在主节点不响应的情况下,仍可恢复出当前轮的随机数,保证无偏地随机选择每一轮的主节点,提高共识机制的安全性;
4、通过无效证明的引入,可以保证在恶意节点之后一轮的主节点不会被恶意节点牵连,具体表现为,若r轮的主节点为恶意节点,发布了一个无效的区块Br,其他节点认定该区块无效,若只是简单地不发送投票,则r+1轮主节点肯定无法收集到足够的投票,将导致超时,而引入无效区块的证明,可以使两轮主节点在合作完成对一个区块的投票过程的同时,分清二者应担负的责任;
5、在超时轮次后,节点将之前的投票信息再重发给新的主节点,可以增强协议的连续性
6、原PBFT对于每一个区块的确认需要两阶段独立的投票,而本发明借用的是链式Hotstuff的思想,采用链式结构,对一个区块的一个投票确认可以复用为对其父区块的投票确认,减少了要确认一个区块所需的通信量和通信时间,提高了吞吐量。
附图说明
图1是(t,n)PVSS方案示意图。
图2是本发明的初始化阶段示意图。
图3是本发明的协议流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
本发明的安全高效的共识机制实现方法,包括以下内容:
一.主节点的选择
公开可验证秘密分享PVSS方案,允许节点在一组具有n=3f+1个节点的集合中,对其秘密值s作分享,使得任意包含至少t=f+1个节点的子集能够恢复出秘密值s,f为允许的恶意节点最大数量。这一特性可以很好的应用在主节点的选取当中,当恶意节点不响应时,其他节点也可恢复出其秘密值,以此计算出该轮随机数,进入新一轮。这保证恶意节点的行为无法影响每一轮的随机数的生成,即无法有偏地选择下一轮的主节点。
根据PVSS方案(参考Cascudo and B.David.Scrape:Scalable randomnessattested by public entities,2017),考虑系统中有n个参与方P={P1,…,Pn},如图1所示,秘密分发者D要在这n个参与方中共享秘密s,使得任意t个参与方可重构共享秘密s,且任意外部验证者可验证秘密份额的正确性,定义(t,n)PVSS方案如下:
-Setup:公共参数Gq为q阶群,有g和G两个独立的生成元,其中,q为素数。各参与方Pi(1≤i≤n)生成自己的公私钥对(ski,pki);
-Distribution:D要为各节点创建秘密s的n个份额s1,...,sn:
1)构造一个t-1阶多项式其中,si=Gp(i);
2)计算加密份额
3)对多项式系数作承诺得到PROOFD={c0,…,ct-1};
4)生成零知识证明π,用于证明份额的正确性;
5)公开承诺值
-Verification:任意验证者(不一定为协议参与者)可根据公开信息Com(s)验证的正确性;
-Reconstruction:该阶段分为两步:
-解密份额对于任意包含不少于t个参与方的集合Q,Q中的参与方用自己的私钥ski对/>解密得到si,并生成零知识证明πi,证明si确实是由/>解密得到,公开si和πi。
-重构秘密s:任意验证者(不一定为协议参与者)可验证si的正确性,并根据不少于t个正确的份额重构出D的秘密值s。
基于(t,n-1)PVSS方案设计每一轮主节点的选择算法,各节点生成自己的公私钥对,并选取自己的秘密值,计算并公开对秘密值的承诺,如图2所示:
(1)系统初始化阶段,n个节点P={P1,…,Pn}生成自己的公私钥对(ski,pki),并选取自己的秘密值si,生成并公开秘密值的PVSS承诺Com(si),设在r轮具有主节点候选资格的节点集合为Lr,初始L0={P1,…,Pn};
(2)每一轮的主节点在发布区块的同时会公布自己之前承诺的秘密值si,并选取一个新的秘密值s′i,计算并公开s′i的PVSS承诺Com(s′i);
(3)各节点收到主节点公开的秘密值si,可计算得出随机数Rr=H(Rr-1||si),并根据随机数Rr确定下一轮的主节点
(4)各节点设有一计时器,若节点超时未收到主节点公开的秘密值si,则系统进入PVSS的Reconstruction阶段,节点间互相广播解密份额及其正确性证明;
(5)当收到超设定份额阈值的份额时,节点即可重构主节点的秘密值,并按照步骤(3)方法确定下一轮的主节点;秘密值包括n个份额,每个主节点的秘密值的份额都是在步骤2)中由各主节点产生,并纳入各秘密值的承诺中发给其他节点;然后当需要重构某个秘密值的时候,如步骤(4)中各节点互相广播之前收到的该秘密值的份额;比如份额阈值为f+1;
(6)超时轮次的主节点将被移出Pr,但可在其公布新的秘密值的承诺的f轮之后重新进入Lr+f,重新获得当选为主节点的资格。
二.对区块达成共识
结合上述每一轮主节点的选择过程,将对区块达成共识的流程详细描述如下:
系统设置:全网共有n个节点L={P1,…,Pn},其中,P3代表是恶意节点,这里节点P3表现的行为就是对其它节点的请求无响应。初始化随机数为R0。不失一般性地,假设根据上述主节点的选择算法,得到第r轮主节点为r号节点。
协议流程图如图3所示,主节点诚实的轮次分为Vote和Propose两个步骤,主节点恶意的轮次分为Vote和Recover两个步骤,具体过程如下:
1)初始化阶段,各节点生成自己的公私钥对(ski,pki),选取自己的秘密值si,生成并公开秘密值的PVSS承诺Com(si),初始化随机数为R0;
2)以第r轮为例,各节点根据随机数Rr-1,确定节点Pr为主节点,节点Pr打包交易,生成区块Br,选取新的秘密值s′i,并生成对应承诺Com(s′i),签名并广播三元组如图3的阶段a所示,其中,Propose代表消息类型,σr代表消息由Pr节点签名;
3)各副本节点收到节点Pr的消息后,根据其公布的si,确定第r+1轮主节点为节点Pr+1,并对区块Br验证:验证该propose消息是否由上一轮主节点签名生成,以及验证区块数据的有效性,生成对Br的投票并签名发至节点Pr+1,如图3的阶段b、阶段d所示;
4)若主节点Pr+1收到对Br足够多的确认票,则生成Br的确认证明并认定该区块Br为最新有效区块;若收到了足够多的否决票,则生成Br的否决证明/>如图3的阶段c所示;
5)主节点Pr+1将基于其所存的最新有效区块Bkk≤r,提出新区块Br+1,同样地,选取新的秘密值s′i,并生成对应承诺Com(s′i),若k=r,则签名并广播三元组若k<r,则签名并广播
6)若主节点Pr+1无响应(或未收到足够票数),导致超时,则其余副本节点互相广播解密后的节点Pr+1秘密值si的秘密分享值,收到超过f+1个分享值的节点,即可重构出si,并计算出r+2轮的主节点,并将超时信息和上一轮的投票发至新的主节点Pr+2,如图3的阶段e所示;
7)主节点Pr+2将收集区块Br+2的投票结果证明,上一轮超时的证明,并提出新区块Br+2,选取新的秘密值s′i,生成对应承诺Com(s′i),签名并广播新的propose消息,特别地,该propose消息除了包含步骤5)中的元素,还应包含r+1轮的超时证明TCr+1,如图3的阶段g所示。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (10)
1.一种安全高效的共识机制实现方法,适用于由若干节点组成的区块链系统,其步骤包括:
1)各节点Pi分别生成秘密值si及承诺值com(si),其中承诺值com(si)包括其它节点公钥加密的秘密分享值,1≤i≤N,N为节点总数;
2)根据随机数Rr-1选举的主节点Pr,将交易数据打包生成区块Br且生成秘密值s′i,并广播包括区块Br和主节点Pr的秘密值si及承诺值com(s′i)的消息,其中r为选举主节点的轮次,r≥1,随机数R0为区块链系统随机分配,在秘密值si广播后主节点Pr将秘密值s′i作为节点Pi的秘密值si;
3)第r轮各副本节点将对区块Br投票发送至根据随机数Rr选举的主节点Pr+1,其中随机数Rr通过主节点Pr广播的秘密值si与随机数Rr-1生成;
4)若主节点Pr+1认定区块Br为有效区块,则基于区块Br生成区块Br+1且生成秘密值s′i,并广播包含有效结果证明、区块Br+1和主节点Pr+1的秘密值si及承诺值com(s′i)的信息;若主节点Pr+1认定区块Br为无效区块,则基于最新有效区块Bk生成区块Br+1且生成秘密值s′i,并广播包含无效结果证明、区块Br+1和主节点Pr+1的秘密值si及承诺值com(s′i)的信息,其中k<r;若主节点Pr+1无法认定区块Br是否有效,则第r轮各副本节点通过广播依据主节点Pr+1的承诺值com(si)得到的主节点Pr+1秘密分享值,恢复主节点Pr+1的秘密值si,并结合随机数Rr计算随机数Rr+1,选举主节点Pr+2;
其中,若主节点Pr+1无法认定区块Br是否有效,且直到主节点Pr+m才能判断区块Br是否为有效区块,则当主节点Pr+m认定区块Br为有效区块时,主节点Pr+m基于区块Br生成区块Br+m且生成秘密值s′i,并广播包含有效结果证明、(r+1)轮至(r+m-1)轮的超时证明集合、区块Br+m和主节点Pr+m的秘密值si及承诺值com(s′i)的信息;当主节点Pr+m认定区块Br为无效区块时,主节点Pr+m基于最新有效区块Bk生成区块Br+m且生成秘密值s′i,并广播包含无效结果证明、(r+1)轮至(r+m-1)轮的超时证明集合、区块Br+m和主节点Pr+m的秘密值si及承诺值com(s′i)的信息,m≥2;
5)当连续d个信息中,都包含有效结果证明且后(d-1)个信息不包含超时证明集合,则执行交易,其中d≥2。
2.如权利要求1所述的方法,其特征在于,各节点生成秘密值si、秘密分享值及第r轮各副本节点恢复主节点Pr+1的秘密值si的方法包括:可验证秘密分享PVSS方法。
3.如权利要求1所述的方法,其特征在于,信息中还包含相应主节点的签名。
4.如权利要求3所述的方法,其特征在于,各副本节点对区块Br投票之前,对消息中主节点Pr的签名进行认证。
5.如权利要求1所述的方法,其特征在于,各节点还设有一计时器;发送投票的同时,开启所述计时器。
6.如权利要求1所述的方法,其特征在于,随机数其中H为哈希计算,为主节点Pr广播的秘密值si。
7.如权利要求1所述的方法,其特征在于,主节点Pr+1无法认定区块Br是否有效的原因,包括:
1)主节点Pr+1在设定时间内,未收到设定数量的投票;
2)主节点Pr+1为恶意节点;
3)主节点Pr+1的网络状况不佳。
8.如权利要求1所述的方法,其特征在于,若主节点Pr+1无法认定区块Br是否有效,则主节点Pr+1在设定轮次内不能获得当选为主节点的资格。
9.一种安全高效的共识机制实现系统,包括:
区块链节点,用以生成秘密值si及承诺值com(si),其中承诺值com(si)包括其它节点公钥加密的秘密分享值,1≤i≤N,N为节点总数,随机数R0为区块链系统随机分配;通过主节点Pr的秘密值si与随机数Rr-1生成随机数Rr;当连续d个信息中,都包含有效结果证明且后d-1个信息不包含超时证明集合,则执行交易,其中d≥2;
根据共识机制实现过程,所述区块链节点又可分为:
第(r-1)轮副本节点,用以根据随机数Rr-1选举的主节点Pr;
第r轮主节点Pr,用以将交易数据打包生成区块Br且生成秘密值s′i,并广播包括区块Br和主节点Pr的秘密值si及承诺值com(s′i)的消息,其中r为选举主节点的轮次,r≥1,在秘密值si广播后主节点Pr将秘密值s′i作为节点Pi的秘密值si;
第r轮副本节点,用以将对区块Br投票发送至根据随机数Rr选举的主节点Pr+1;若主节点Pr+1无法认定区块Br是否有效,通过广播依据主节点Pr+1的承诺值com(si)得到的主节点Pr+1秘密分享值,恢复主节点Pr+1的秘密值si,并结合随机数Rr计算随机数Rr+1,选举主节点Pr+2;
第(r+1)轮主节点Pr+1,用以若主节点Pr+1认定区块Br为有效区块,则基于区块Br生成区块Br+1且生成秘密值s′i,并广播包含有效结果证明、区块Br+1和主节点Pr+1的秘密值si及承诺值com(s′i)的信息;若主节点Pr+1认定区块Br为无效区块,则基于最新有效区块Bk生成区块Br+1且生成秘密值s′i,并广播包含无效结果证明、区块Br+1和主节点Pr+1的秘密值si及承诺值com(s′i)的信息,其中k<r;
第(r+m)轮主节点Pr+m,用以若主节点Pr+1无法认定区块Br是否有效,且直到主节点Pr+m才能判断区块Br是否为有效区块,则当主节点Pr+m认定区块Br为有效区块时,基于区块Br生成区块Br+m且生成秘密值s′i,并广播包含有效结果证明、(r+1)轮至(r+m-1)轮的超时证明集合、区块Br+m和主节点Pr+m的秘密值si及承诺值com(s′i)的信息;当主节点Pr+m认定区块Br为无效区块时,基于最新有效区块Bk生成区块Br+m且生成秘密值s′i,并广播包含无效结果证明、(r+1)轮至(r+m-1)轮的超时证明集合、区块Br+m和主节点Pr+m的秘密值si及承诺值com(s′i)的信息,其中m≥2,主节点Pr+m由第(r+m-1)轮的各副本节点选举。
10.如权利要求9所述的系统,其特征在于,各节点生成秘密值si、秘密分享值及第r轮各副本节点恢复主节点Pr+1的秘密值si的方法包括:可验证秘密分享PVSS方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011148629.2A CN112329051B (zh) | 2020-10-23 | 2020-10-23 | 一种安全高效的共识机制实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011148629.2A CN112329051B (zh) | 2020-10-23 | 2020-10-23 | 一种安全高效的共识机制实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112329051A CN112329051A (zh) | 2021-02-05 |
CN112329051B true CN112329051B (zh) | 2023-09-19 |
Family
ID=74310960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011148629.2A Active CN112329051B (zh) | 2020-10-23 | 2020-10-23 | 一种安全高效的共识机制实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112329051B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113079139B (zh) * | 2021-03-23 | 2022-11-29 | 中国工商银行股份有限公司 | 基于区块链的共识组主节点确定方法、装置及系统 |
CN113630411B (zh) * | 2021-08-05 | 2022-04-05 | 华中农业大学 | 一种对联盟区块链上多方隐私保护数据审计的方法及装置 |
CN114444090B (zh) * | 2021-12-17 | 2023-06-20 | 中国科学院信息工程研究所 | 一种高效的秘密唯一领导人选举方法 |
CN114331430B (zh) * | 2021-12-24 | 2023-03-31 | 杭州钛度科技有限公司 | 区块链共识方法、装置、设备和介质 |
CN114422125B (zh) * | 2021-12-30 | 2023-08-18 | 张海滨 | 秘密数据共享、密钥生成方法及分布式系统 |
CN114615288B (zh) * | 2022-01-18 | 2023-03-21 | 华南理工大学 | 一种基于量子拜占庭共识协议的新型区块链系统 |
CN114615281B (zh) * | 2022-03-07 | 2023-02-28 | 中国科学院软件研究所 | 基于小规模委员会的区块链出块方法及PoS协议确认方法 |
CN114726881B (zh) * | 2022-04-12 | 2023-05-16 | 北京理工大学 | 区块处理方法、装置及存储介质 |
CN115186035B (zh) * | 2022-09-13 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 一种区块处理方法、相关系统及存储介质和服务器 |
CN117354318B (zh) * | 2023-09-28 | 2024-04-05 | 北京航空航天大学 | 实用分布式投票共识方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259650A (zh) * | 2013-04-25 | 2013-08-21 | 河海大学 | 一种对诚实参与者公平的理性多秘密分享方法 |
CN109120398A (zh) * | 2018-08-03 | 2019-01-01 | 河南师范大学 | 一种基于区块链系统的秘密共享方法与装置 |
EP3461059A1 (en) * | 2017-09-22 | 2019-03-27 | NEC Laboratories Europe GmbH | Scalable byzantine fault-tolerant protocol with partial tee support |
CN110198213A (zh) * | 2019-04-01 | 2019-09-03 | 上海能链众合科技有限公司 | 一种基于秘密共享随机数共识算法的系统 |
-
2020
- 2020-10-23 CN CN202011148629.2A patent/CN112329051B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259650A (zh) * | 2013-04-25 | 2013-08-21 | 河海大学 | 一种对诚实参与者公平的理性多秘密分享方法 |
EP3461059A1 (en) * | 2017-09-22 | 2019-03-27 | NEC Laboratories Europe GmbH | Scalable byzantine fault-tolerant protocol with partial tee support |
CN109120398A (zh) * | 2018-08-03 | 2019-01-01 | 河南师范大学 | 一种基于区块链系统的秘密共享方法与装置 |
CN110198213A (zh) * | 2019-04-01 | 2019-09-03 | 上海能链众合科技有限公司 | 一种基于秘密共享随机数共识算法的系统 |
Non-Patent Citations (1)
Title |
---|
基于投票机制的拜占庭容错共识算法;王海勇;郭凯璇;潘启青;;计算机应用(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112329051A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112329051B (zh) | 一种安全高效的共识机制实现方法及系统 | |
CN109462587B (zh) | 区块链分层共识方法、区块链网络系统及区块链节点 | |
US20230171098A1 (en) | Computer-implemented system and method for time release encryption over a blockchain network | |
CN111543026B (zh) | 分布式网络中进行主节点变更的系统 | |
US11283627B2 (en) | Method and apparatus for generating blockchain transaction | |
WO2019193452A1 (en) | Computer implemented method and system for transferring access to a digital asset | |
Li et al. | Synchronized provable data possession based on blockchain for digital twin | |
Zhou et al. | A blockchain-based access control scheme for smart grids | |
CN110784320A (zh) | 分布式密钥实现方法、系统及用户身份管理方法、系统 | |
CN111147228A (zh) | 基于以太坊IoT实体轻量级认证方法、系统、智能终端 | |
CN114240439B (zh) | 基于阈值签名与双哈希链模式的跨链交易回滚方法及装置 | |
CN110599164B (zh) | 一种可监管的链下任意收款方快速支付方法 | |
CN114463009B (zh) | 一种用于提高大规模能源节点交易安全性的方法 | |
CN115174570A (zh) | 一种基于动态委员会的跨链共识方法及系统 | |
Wang et al. | Dynamic threshold ECDSA signature and application to asset custody in blockchain | |
CN115174048A (zh) | 一种共识方法、系统和共识节点 | |
CN117527183A (zh) | 一种面向电力数据的去中心化共享与跨链计算方法及系统 | |
Noh et al. | A Novel User Collusion‐Resistant Decentralized Multi‐Authority Attribute‐Based Encryption Scheme Using the Deposit on a Blockchain | |
Ma et al. | Toward data authenticity and integrity for blockchain-based mobile edge computing | |
Yang et al. | Scalable and auditable self-agent pseudonym management scheme for intelligent transportation systems | |
Tabassum et al. | Securely Transfer Information with RSA and Digital Signature by using the concept of Fog Computing and Blockchain | |
Li et al. | ZK-BFT: A Zero-knowledge and Byzantine Fault Tolerant Consensus for Permissioned Blockchain Networks | |
CN114615288B (zh) | 一种基于量子拜占庭共识协议的新型区块链系统 | |
Xu et al. | SilenTower: A Robust, Scalable and Secure Watchtower with Silent Executors | |
CN114338243B (zh) | 一种本地数据可信存储的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |