CN116455904B - 基于异步网络去中心化的区块链共识方法及系统 - Google Patents
基于异步网络去中心化的区块链共识方法及系统 Download PDFInfo
- Publication number
- CN116455904B CN116455904B CN202310687344.3A CN202310687344A CN116455904B CN 116455904 B CN116455904 B CN 116455904B CN 202310687344 A CN202310687344 A CN 202310687344A CN 116455904 B CN116455904 B CN 116455904B
- Authority
- CN
- China
- Prior art keywords
- committee
- node
- consensus
- coin
- nodes
- 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 36
- 238000012795 verification Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 6
- 238000002360 preparation method Methods 0.000 claims description 4
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000006872 improvement Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 235000013929 Psidium pyriferum Nutrition 0.000 description 1
- 244000236580 Psidium pyriferum Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 235000012907 honey Nutrition 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于异步网络去中心化的区块链共识方法及系统,包括可靠广播、选举和二元共识三个阶段,可靠广播阶段:所有节点将信息输入到可靠广播,通过可靠广播分发给对应节点;选举阶段:从所有区块链节点中选举出委员会成员并加入委员会成员集合;二元共识阶段:当一个诚实节点收到来自委员会成员的签名索引和来自可靠广播的所有节点的份额后,输入1到ABAj,如果一个诚实节点从任何ABAj中得到一个输出,那么就输入0到其他还没有输入的ABAj;当一个节点在K个共识中终止时,并且诚实节点在委员会成员集合中,如果诚实节点输出1,则该诚实节点等待来自其它节点的可靠广播,最后输出委员会成员的份额索引。
Description
技术领域
本发明涉及区块链的技术领域,特别是涉及一种基于异步网络去中心化的区块链共识方法及系统。
背景技术
现有的共识方案大多基于PBFT(拜占庭容错共识)协议进行改进,来实现区块链系统的健壮性、可扩展性、高性能及中心化特性。这些方案假设网络是弱同步或部分同步来保证协议的安全性,弱同步或部分同步是指在一个全局稳定时间(Global StabilizationTime,GST)之前,系统可能处于异步状态,GST之后,会有一段同步的状态。这些基于时间假设的方案不适合于网络链接可能不可靠,网络速度变化很快,而且可能存在网络延迟的去中心化加密货币环境,因为当网络由于恶意节点的存在使弱同步假设被违背时,共识协议的活性将无法被保证,此外,在满足弱同步假设的情况下,协议的吞吐量会因底层网络的故障而显著降低,需要动态调整超时参数GST,但超时参数的工程实现却相当麻烦。
另一方面,基于异步网络的共识方案(如中国专利公开号CN115174090A和中国专利公开号CN113660272A),需要使用大量的门限加密技术来模拟一个同步性组件,突破FLP不可能性原理( FLP Impossibility),由于门限加密技术通常使用一个可信任的第三方来生成公私钥对,这一技术的使用降低了区块链系统的去中心化特性,此外,这类方案需要运行大量异步拜占庭协议(Asynchronous Byzantine Agreement,ABA)实例,限制了区块链系统的运行效率。
发明内容
为解决上述技术问题中的至少之一,本发明提出一种基于异步网络去中心化的区块链共识方法及系统。
本发明的目的通过以下技术方案实现:
本发明提供了一种基于异步网络去中心化的区块链共识方法,包括可靠广播、选举和二元共识三个阶段,
所述可靠广播阶段:所有节点将信息输入到可靠广播,输入的信息由区块链使用纠删码技术按区块链节点数划分成相等份额后,通过可靠广播分发给对应节点;
所述选举阶段:从所有区块链节点中选举出委员会成员并加入委员会成员集合,当委员会成员从不同的可靠广播中收到所有节点数减门限值个签名时,通过可靠广播这些签名的索引;
所述二元共识阶段:当一个诚实节点收到来自委员会成员的签名索引和来自可靠广播的所有节点的份额后,输入1到委员会成员的共识,如果一个诚实节点从任何委员会成员的共识中得到一个输出,那么就输入0到其他还没有输入的委员会成员的共识;当一个节点在委员会成员总数个共识中终止时,并且诚实节点在委员会成员集合中,如果诚实节点输出1,则该诚实节点等待来自其它节点的份额可靠广播,以获得所有委员会成员的签名,最后输出委员会成员的份额索引。
作为进一步的改进,从所有区块链节点中选举出委员会成员并加入委员会成员集合,包括如下步骤:
S21、初始化委员会成员集合,通过伪随机生成器选择备选委员会身份;
S22、由可靠广播向所有节点分发备选委员会身份;
S23、等待,直到节点返回门限值t+1的签名份额;
S24、输入备选委员会身份和一组硬币份额,返回一个属于网络Π的一方;
S25、收到委员会集合中成员的共识消息、委员会成员身份和索引后,验证委员会成员身份、索引和签名,如果验证通过则将签名备选委员会身份写入委员会成员集合。
作为进一步的改进,所述步骤S21中,通过伪随机生成器选择备选委员会身份,包括如下步骤:
S211、为每个区块链节点赋初始值;
S212、对所有节点初始值进行聚合运算后取哈希值得到数H;
S213、通过H mod所有节点总数获得指定数量备选委员会成员。
作为进一步的改进,在可靠广播阶段、选举阶段和二元共识阶段的签名采用基于多方计算的Schnorr算法。
作为进一步的改进,基于多方计算的Schnorr算法包括准备阶段和签名阶段,其中签名阶段包括如下步骤:
S21、随机选取;
S22、随机选取次多项式/>;
S23、计算,/>;
S24、将/>通过安全信道传输给/>;
S25、的随机数份额为/>,公布/>;
S26、通过公布的信息计算得到;
S27、计算,/>,并公布/>;
S28、通过公布的信息计算得到;
S29、形成最终签名。
作为进一步的改进,所述二元共识阶段采用BA算法来实例用到的二进制协议的基元,BA算法中包括根据区块链节点数进行Bval、Aux和Coin消息交互,具体步骤如下:
S31、收到区块链节点的输入消息b并赋值给estr;
S32、通过Bval广播estr给其它节点;
S33、其它节点通过Bval广播收到2t+1的estr,并将estr写入集合bin_valuesr,t表示设定的门限值;
S34、从集合bin_valuesr选择元素w,通过Aux广播元素w;
S35、n- t个节点通过Aux广播接收元素w;
S36、通过随机抛硬币算法Coin获得一个硬币值;
S37、判断硬币值是否与元素w相等,如相等则跳转至步骤S8;如不相等则跳转至步骤S1;
S38、输出消息b,表示达成共识。
作为进一步的改进,所述步骤S6中,随机抛硬币算法Coin中获得的硬币值保存形成硬币序列,用于在BA算法的多轮Bval、Aux和Coin消息交互中使用,具体步骤如下:
S361、输入一个唯一的硬币名称;
S362、通过门限加密生成一个主公钥和与区块链节点数相同份额的私钥;
S363、通过可靠广播将份额私钥、随机抛硬币算法Coin获得的值和硬币名称分发给所有节点;
S364、当收到大于门限值的节点消息时,将收到的节点消息合并到成一个硬币签名;
S365、硬币签名验证通过后作为一个硬币序列值。
本发明提供的基于异步网络去中心化的区块链共识方法,包括可靠广播、选举和二元共识三个阶段,
所述可靠广播阶段:所有节点将信息输入到可靠广播,输入的信息由区块链使用纠删码技术按区块链节点数划分成相等份额后,通过可靠广播分发给对应节点;
所述选举阶段:从所有区块链节点中选举出委员会成员并加入委员会成员集合,当委员会成员从不同的可靠广播中收到所有节点数减门限值个签名时,通过可靠广播这些签名的索引;
所述二元共识阶段:当一个诚实节点收到来自委员会成员的签名索引和来自可靠广播的所有节点的份额后,输入1到委员会成员的共识,如果一个诚实节点从任何委员会成员的共识中得到一个输出,那么就输入0到其他还没有输入的委员会成员的共识;当一个节点在委员会成员总数个共识中终止时,并且诚实节点在委员会成员集合中,如果诚实节点输出1,则该诚实节点等待来自其它节点的份额可靠广播,以获得所有委员会成员的签名,最后输出委员会成员的份额索引。本发明通过选举来降低二元共识ABA实例的运行次数,提高共识算法的效率。
本发明还提供一种基于异步网络去中心化的区块链共识系统,由于采用了上述基于异步网络去中心化的区块链共识方法的技术内容,其应当具有相同或相应的技术效果,因此不再进行赘述。
附图说明
图1为本发明整体方案示意图;
图2为本发明二元共识的BA算法流程示意图;
图3为本发明实施例与PBFT方案相比吞吐量节点数量变化示意图;
图4为本发明实施例与Honey Badger方案相比时延随批交易数量变化示意图;
图5为本发明实施例与与Honey Badger方案相比吞吐量随批交易数量变化示意图。
具体实施方式
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步详细的描述,需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
本发明涉及的相关名词解释:
区块链技术:也被称为分布式账本技术,可以解决不受信任的各方达成协议的问题,具有去中心化、可追溯、匿名性、可审计性等特点。
共识协议:用于保证区块链网络中所有节点维护的数据副本的一致性,避免数据不统一和信息不对称问题的发生,是一种用于驱动区块链向前推进的算法。
异步网络:区块链中各个节点可能存在较大的时钟误差、消息传递时间是任意长的,各节点对消息的处理时间也可能是任意长的。
同步网络:区块链中各个节点的时钟误差存在上限、消息传递在一定时间内完成,各节点完成处理消息的时间是一定的。
门限加密技术 (Threshold Encryption,TPKE):是一种加密原语,允许任何一方将信息加密到一个主公钥,然后所有节点通过合作对其解密。一旦t +1个正确的节点计算并揭示密码文本的解密份额(t为设定的门限值),明文就可以恢复;直到至少有一个正确的节点揭示其解密份额之前,攻击者无法得知明文的任何信息。
FLP不可能性原理:在区块链网络可靠,但允许节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性共识算法。
纠删码(Erasure coding,EC):它是一种数据保护方法,其中数据被分解成碎片,用冗余数据片断进行扩展和编码,并存储在一组不同的位置或存储介质中,如果一个驱动器发生故障或数据被破坏,数据可以从存储在其他驱动器上的片段中重建,通过这种方式,可以帮助增加数据的冗余度。
结合图1 所示,本发明实施例提供一种基于异步网络去中心化的区块链共识方法,包括可靠广播、选举和二元共识三个阶段,
所述可靠广播阶段:所有节点P i {i=1,2,…n}将交易信息v i 输入到可靠广播RBC协议中,输入的信息v i 由区块链使用纠删码技术按区块链节点数划分成n份,通过可靠广播分发给对应节点;
所述选举阶段:从所有区块链节点中选举出委员会成员P j { j =1,2,…k}并加入委员会成员集合CMIS,包括如下步骤:
S21、初始化委员会成员集合,通过伪随机生成器(PRG)选择备选委员会身份,具体包括步骤:
S211、为每个区块链节点赋初始值;
S212、对所有节点初始值进行聚合运算后取哈希值得到数H;
S213、通过H mod n后获得备选委员会成员数量。
S22、通过方法CSharei由可靠广播向所有节点P i 分发备选委员会身份c_id,并返回签名份额σi;
S23、等待,直到节点返回门限值t+1的签名份额;
S24、通过方法CToss输入备选委员会身份和一组硬币份额,返回一个属于网络Π的一方;
S25、收到委员会集合中成员的共识消息SHARE、委员会成员身份和索引后,通过方法CShareVerify验证委员会成员身份、索引和签名,如果验证通过则将签名备选委员会身份写入委员会成员集合。
代码如下:
输入:c_id (备选委员会成员身份)
输出:CMIS (委员会成员集合)
初始化局部变量:CMIS ← {}
σi← CSharei(c_id)
向各方发送(SHARE, c_id, σi)
等待,直到 |Σ| = f + 1
返回CToss(c_id,Σ)
第一次从Pj收到(SHARE,c_ id,Sj)后
如果CShareVerify(c_ id, j, σj)=true 那么
CMIS ← {}∪{σj}
当委员会成员从不同的可靠广播中收到所有节点数减门限值n - t个签名时,通过可靠广播这些签名份额的索引S j ;
所述二元共识阶段:当一个诚实节点P x 收到来自委员会成员P j 的签名索引S j 和来自可靠广播的所有节点的份额v n后,输入1到委员会成员的共识ABAj,如果一个诚实节点P x 从任何委员会成员的共识ABAj中得到一个输出,那么就输入0到其他还没有输入的委员会成员的共识ABAj;当一个节点在委员会成员总数k个共识ABA中终止时,并且诚实节点P x 在委员会成员集合CMIS中,如果诚实节点P x 输出1,则该诚实节点P x 等待来自可靠广播的签名索引S j 和其它节点的份额v n可靠广播,以获得所有委员会成员的签名,最后输出委员会成员的份额v j。具体的,结合图2所示,二元共识阶段采用BA算法来实例用到的二进制协议的基元,BA算法是 PBFT 算法的改进,BA算法中包括根据区块链节点数进行Bval、Aux和Coin多轮次的消息交互,具体步骤如下:
S31、收到区块链节点的输入消息b并赋值给estr;
S32、通过Bval广播estr给其它节点;
S33、其它节点通过Bval广播收到2t+1的estr,并将estr写入集合bin_valuesr,t表示设定的门限值;
S34、从集合bin_valuesr选择元素w,通过Aux广播元素w;
S35、n- t个节点通过Aux广播接收元素w;
S36、通过随机抛硬币算法Coin获得一个硬币值,获得的硬币值保存形成硬币序列,用于在BA算法的多轮Bval、Aux和Coin消息交互中使用,具体步骤如下:
S361、输入一个唯一的硬币名称;
S362、通过门限加密生成一个主公钥和与区块链节点数相同份额的私钥;
S363、通过可靠广播将份额私钥、随机抛硬币算法Coin获得的值和硬币名称分发给所有节点;
S364、当收到大于门限值的节点消息时,将收到的节点消息合并到成一个硬币签名;
S365、硬币签名验证通过后作为一个硬币序列值。
S37、判断硬币值是否与元素w相等,如相等则跳转至步骤S8;如不相等则跳转至步骤S1;
S38、输出消息b,表示达成共识。
作为进一步优选的实施方式,在可靠广播阶段、选举阶段和二元共识阶段的签名采用基于多方计算的Schnorr算法,Schnorr算法包括准备阶段和签名算法阶段,具体的,准备阶段步骤如下:
G为椭圆曲线上基点,q为其阶,私钥为SK,公钥,/>为待签名消息,/>为安全哈希函数。
区块链每个节点做如下操作:
随机选取,其中,/>为从1到q阶中选取的随机数;
随机选取次多项式/>,其中,/>为常数因子,/>为多项式变量;计算/>,/>,其中,/>为当前节点的公钥,/>为当前节点的公钥哈希值,/>为门限签名参数,/>为上一步骤选择的多项式;
将/>通过安全信道传输给/>;
的私钥份额为/>,公布/>,其中,为公钥份额;
公共账户公钥为,其中,/>为第i个节点公钥的哈希值。
签名算法阶段步骤如下:
S21、随机选取,其中,/>为从1到q阶中选取的随机数;
S22、随机选取次多项式/>,其中,/>为常数因子;
S23、计算,/>;其中/>为门限签名参数;
S24、将/>通过安全信道传输给/>;
S25、的随机数份额为/>,公布/>,其中,为基于多方计算的公钥份额;
S26、通过公布的信息计算得到,其中,R为基于多方计算的公共账户;
S27、计算,/>,并公布/>,其中,m为使用公钥加密的密文,/>为基于多方计算的私钥份额,/>为原有的私钥份额;
S28、通过公布的信息计算得到,其中,S为基于多方计算的主私钥;
S29、形成最终签名。
本发明实施例采用门限加密技术模拟出同步性组件,突破了FLP不可能性原理的瓶颈,摒弃了时间假设,实现了纯异步网络下的共识方法;引入选举算法,选出至少包含一个诚实节点的委员会,将二元共识ABA实例的执行次数由节点的总数量n降低到了选举的委员会成员数量k,从而大大提高共识效;同时使用分布式哈希算法进行选举和基于多方计算的改进Schnorr算法,保证了区块链系统的去中心特性。
本发明实施例通过与经典的PBFT和HoneyBadger(异步共识蜜獾算法)比较,本发明实现了良好性能。将每笔交易的大小固定为250B,批(batch)交易数量设置为10001),如图3所示,1)本发明的吞吐量随着节点的数量增长,这是因为本发明随着异步共识打包进入区块的交易为各节点批交易的组合,节点数量越多,最终打包进入区块的交易也就越多,吞吐量自然就越高,然后,节点数量超过16以后,本发的吞吐量增加的不明显甚至是下降,这是因为网络带宽的限制,即所处理的交易通信量已超过网络的容量;2)PBFT协议的吞吐量随着节点数量的增加而明显降低,这是因为PBFT的消息通信复杂度为O(N2),节点数量的增加带来了网络的负载度量;3)总体而言,本发明比PBFT协议具有更好的性能,尤其是在节点数量很大时,这种效应更加明显。
为论证本发明的性能影响指标,我们设置了节点中不同的批交易数量来测量时延、吞吐量。如图4和图5显示:1)批交易数量对本发明和HoneyBadger的时延有很大影响,单个节点的批交易数量越高,网络中信息的通信量也越高,自然会带来更高的时延;2)本发明的吞吐量明显优于HoneyBadger,具体本发明吞吐量可优化20%~30%;3)本发明和HoneyBadger的吞吐量随着批交易数量增加而增加,增加速度比HoneyBadger更快,因为本发明二元共识BA算法的执行轮数明显低于HoneyBadger。在实际部署中,可通过增加批交易数量来提高协议的性能。
本发明实施例还提供一种基于异步网络去中心化的区块链共识系统,包括上述所述的基于异步网络去中心化的区块链共识方法的任一进一步优选的实施方式,以及在不冲突的情况下,各优选的实施方式之间的组合,其技术作用和有益效果在此不再赘述。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种基于异步网络去中心化的区块链共识方法,其特征在于,包括可靠广播、选举和二元共识三个阶段,
所述可靠广播阶段:所有节点将信息输入到可靠广播,输入的信息由区块链使用纠删码技术按区块链节点数划分成相等份额后,通过可靠广播分发给对应节点;
所述选举阶段:从所有区块链节点中选举出委员会成员并加入委员会成员集合,当委员会成员从不同的可靠广播中收到所有节点数减门限值个签名时,通过可靠广播这些签名的索引;
所述二元共识阶段:当一个诚实节点收到来自委员会成员的签名索引和来自可靠广播的所有节点的份额后,输入1到委员会成员的共识,如果一个诚实节点从任何委员会成员的共识中得到一个输出,那么就输入0到其他还没有输入的委员会成员的共识;当一个节点在委员会成员总数个共识中终止时,并且诚实节点在委员会成员集合中,如果诚实节点输出1,则该诚实节点等待来自其它节点的份额可靠广播,以获得所有委员会成员的签名,最后输出委员会成员的份额索引。
2.根据权利要求1所述的基于异步网络去中心化的区块链共识方法,其特征在于,从所有区块链节点中选举出委员会成员并加入委员会成员集合,包括如下步骤:
S21、初始化委员会成员集合,通过伪随机生成器选择备选委员会身份;
S22、由可靠广播向所有节点分发备选委员会身份;
S23、等待,直到节点返回门限值t+1的签名份额;
S24、输入备选委员会身份和一组硬币份额,返回一个属于网络Π的一方;
S25、收到委员会集合中成员的共识消息、委员会成员身份和索引后,验证委员会成员身份、索引和签名,如果验证通过则将签名备选委员会身份写入委员会成员集合。
3.根据权利要求2所述的基于异步网络去中心化的区块链共识方法,其特征在于,所述步骤S21中,通过伪随机生成器选择备选委员会身份,包括如下步骤:
S211、为每个区块链节点赋初始值;
S212、对所有节点初始值进行聚合运算后取哈希值得到数H;
S213、通过H mod所有节点总数获得指定数量备选委员会成员。
4.根据权利要求1所述的基于异步网络去中心化的区块链共识方法,其特征在于,在可靠广播阶段、选举阶段和二元共识阶段的签名采用基于多方计算的Schnorr算法。
5.根据权利要求4所述的基于异步网络去中心化的区块链共识方法,其特征在于,基于多方计算的Schnorr算法包括准备阶段和签名阶段,其中签名阶段包括如下步骤:
S21、随机选取;
S22、随机选取次多项式/>;
S23、计算,/>;
S24、将/>通过安全信道传输给/>;
S25、的随机数份额为/>,公布/>;
S26、通过公布的信息计算得到;
S27、计算,/>,并公布/>;
S28、通过公布的信息计算得到;
S29、形成最终签名;
其中,q为椭圆曲线的阶,为从1到q阶中选取的随机数,t为设定的门限值,/>为第i个节点公钥的哈希值,i为区块链节点的计数,/>为多项式变量,/>为常数因子,/>为门限签名参数,/>为选择的多项式/>,/>为从1到q阶中选取的随机数,/>为常数因子,/>为委员会成员j的公钥哈希值,/>为第i个节点的公钥,/>为区块链的第i个节点,/>为选举出的第j个委员会成员,j为委员会成员的计数,/>为/>的随机数份额,n为区块链节点的总数,/>为基于多方计算的第i个节点公钥份额,/>为椭圆曲线上基点,/>为基于多方计算的公共账户,/>为使用公钥加密的密文,/>为基于多方计算的第i个节点私钥份额,/>为原有的第i个节点私钥份额,S为基于多方计算的主私钥,/>为最终签名。
6.根据权利要求1所述的基于异步网络去中心化的区块链共识方法,其特征在于,所述二元共识阶段采用BA算法来实例用到的二进制协议的基元,BA算法中包括根据区块链节点数进行Bval、Aux和Coin消息交互,具体步骤如下:
S31、收到区块链节点的输入消息b并赋值给estr;
S32、通过Bval广播estr给其它节点;
S33、其它节点通过Bval广播收到2t+1的estr,并将estr写入集合bin_valuesr,t表示设定的门限值;
S34、从集合bin_valuesr选择元素w,通过Aux广播元素w;
S35、n- t个节点通过Aux广播接收元素w;
S36、通过随机抛硬币算法Coin获得一个硬币值;
S37、判断硬币值是否与元素w相等,如相等则跳转至步骤S8;如不相等则跳转至步骤S1;
S38、输出消息b,表示达成共识;
其中,b为区块链节点输入的消息,estr为接收b赋值的变量,bin_valuesr为包含estr的集合,w为bin_valuesr中的元素。
7.根据权利要求6所述的基于异步网络去中心化的区块链共识方法,其特征在于,所述步骤S36中,随机抛硬币算法Coin中获得的硬币值保存形成硬币序列,用于在BA算法的多轮Bval、Aux和Coin消息交互中使用,具体步骤如下:
S361、输入一个唯一的硬币名称;
S362、通过门限加密生成一个主公钥和与区块链节点数相同份额的私钥;
S363、通过可靠广播将份额私钥、随机抛硬币算法Coin获得的值和硬币名称分发给所有节点;
S364、当收到大于门限值的节点消息时,将收到的节点消息合并到成一个硬币签名;
S365、硬币签名验证通过后作为一个硬币序列值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310687344.3A CN116455904B (zh) | 2023-06-12 | 2023-06-12 | 基于异步网络去中心化的区块链共识方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310687344.3A CN116455904B (zh) | 2023-06-12 | 2023-06-12 | 基于异步网络去中心化的区块链共识方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116455904A CN116455904A (zh) | 2023-07-18 |
CN116455904B true CN116455904B (zh) | 2023-09-05 |
Family
ID=87120493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310687344.3A Active CN116455904B (zh) | 2023-06-12 | 2023-06-12 | 基于异步网络去中心化的区块链共识方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116455904B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379397A (zh) * | 2018-08-31 | 2019-02-22 | 阿里巴巴集团控股有限公司 | 基于区块链的交易共识处理方法及装置、电子设备 |
CN111127013A (zh) * | 2019-12-24 | 2020-05-08 | 深圳大学 | 基于区块链的去中心化数据交易方法、装置、设备及介质 |
EP3879749A1 (en) * | 2020-03-13 | 2021-09-15 | Siemens Rail Automation S.A.U. | Method and system for automatically generating and managing railway keys |
CN113609515A (zh) * | 2021-10-09 | 2021-11-05 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统 |
WO2021226843A1 (en) * | 2020-05-12 | 2021-11-18 | Beijing Wodong Tianjun Information Technology Co., Ltd. | Communication systems and methods for validation of a transaction via consensus in a distributed network environment |
CN114338040A (zh) * | 2021-12-29 | 2022-04-12 | 大连理工江苏研究院有限公司 | 一种区块链节点的分组多链三次共识方法 |
CN114861233A (zh) * | 2022-04-19 | 2022-08-05 | 湖南天河国云科技有限公司 | 一种无需可信第三方的分片异步拜占庭容错共识方法和装置 |
CN115134086A (zh) * | 2022-05-25 | 2022-09-30 | 北京航空航天大学 | 异步网络的动态委员会秘密分享更新方法及装置 |
WO2023024886A1 (zh) * | 2021-08-25 | 2023-03-02 | 清华大学 | 一种基于可靠广播的二元共识方法、装置、电子设备及存储介质 |
CN115883646A (zh) * | 2021-09-27 | 2023-03-31 | 杭州时戳信息科技有限公司 | 交叉跨链方法、系统、存储介质及服务器 |
WO2023078072A1 (zh) * | 2021-11-04 | 2023-05-11 | 京东科技信息技术有限公司 | 基于拜占庭容错的异步共识方法、装置、服务器和介质 |
-
2023
- 2023-06-12 CN CN202310687344.3A patent/CN116455904B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379397A (zh) * | 2018-08-31 | 2019-02-22 | 阿里巴巴集团控股有限公司 | 基于区块链的交易共识处理方法及装置、电子设备 |
CN111127013A (zh) * | 2019-12-24 | 2020-05-08 | 深圳大学 | 基于区块链的去中心化数据交易方法、装置、设备及介质 |
EP3879749A1 (en) * | 2020-03-13 | 2021-09-15 | Siemens Rail Automation S.A.U. | Method and system for automatically generating and managing railway keys |
WO2021226843A1 (en) * | 2020-05-12 | 2021-11-18 | Beijing Wodong Tianjun Information Technology Co., Ltd. | Communication systems and methods for validation of a transaction via consensus in a distributed network environment |
WO2023024886A1 (zh) * | 2021-08-25 | 2023-03-02 | 清华大学 | 一种基于可靠广播的二元共识方法、装置、电子设备及存储介质 |
CN115883646A (zh) * | 2021-09-27 | 2023-03-31 | 杭州时戳信息科技有限公司 | 交叉跨链方法、系统、存储介质及服务器 |
CN113609515A (zh) * | 2021-10-09 | 2021-11-05 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统 |
WO2023078072A1 (zh) * | 2021-11-04 | 2023-05-11 | 京东科技信息技术有限公司 | 基于拜占庭容错的异步共识方法、装置、服务器和介质 |
CN114338040A (zh) * | 2021-12-29 | 2022-04-12 | 大连理工江苏研究院有限公司 | 一种区块链节点的分组多链三次共识方法 |
CN114861233A (zh) * | 2022-04-19 | 2022-08-05 | 湖南天河国云科技有限公司 | 一种无需可信第三方的分片异步拜占庭容错共识方法和装置 |
CN115134086A (zh) * | 2022-05-25 | 2022-09-30 | 北京航空航天大学 | 异步网络的动态委员会秘密分享更新方法及装置 |
Non-Patent Citations (1)
Title |
---|
去中心基于属性不可否认签名;魏亮;黄振杰;陈群山;;计算机工程与科学(06);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116455904A (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI711287B (zh) | 基於區塊鏈的交易共識處理方法及裝置、電子設備 | |
US12028454B2 (en) | Multi-party threshold authenticated encryption | |
JP2023134669A (ja) | デジタル資産へのアクセスを移すためのコンピュータ実施方法及びシステム | |
CN114640466B (zh) | 一种面向分层架构的pbft共识节点动态调整方法 | |
US11275564B2 (en) | Decentralized random number generator | |
AU2018422776A1 (en) | Sybil-resistant identity generation | |
CN113972981B (zh) | 一种基于sm2密码算法的高效门限签名方法 | |
CN106452790B (zh) | 一种无信任中心的多方量子数字签名方法 | |
Le et al. | On detecting pollution attacks in inter-session network coding | |
Zamani et al. | Millions of millionaires: Multiparty computation in large networks | |
WO2013136235A1 (en) | Byzantine fault tolerance and threshold coin tossing | |
CN113472734B (zh) | 一种身份认证方法及装置 | |
Hazay et al. | Adaptively secure computation with partial erasures | |
CN116455904B (zh) | 基于异步网络去中心化的区块链共识方法及系统 | |
CN117040764A (zh) | 一种秘钥份额更新方法、计算机设备和存储介质 | |
CN116915414A (zh) | 一种实现门限签名的方法、计算机设备和存储介质 | |
CN111756545A (zh) | 一种基于区块链数字签名技术的合同认证方法 | |
CN115941163A (zh) | 一种区块链上实现分布式密钥生成的方法、系统和节点 | |
CN115941164A (zh) | 一种区块链上实现分布式密钥生成的方法、系统和节点 | |
Pehl et al. | KeLiPUF: a key-distribution protocol for lightweight devices using Physical Unclonable Functions | |
Galambos et al. | Tracking cryptographic keys and encrypted data using position verification | |
RU2812343C1 (ru) | Способ управления ресурсами аутентификации в сетях квантового распределения ключей, описываемых связными графами произвольных конфигураций | |
Ranchal-Pedrosa et al. | Leveraging Democracy to Optimize Distributed Random Beacons | |
Miller et al. | Efficient Asynchronous Atomic Broadcast | |
CN118261594A (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 |