CN111798239A - 平行链共识方法、设备和存储介质 - Google Patents
平行链共识方法、设备和存储介质 Download PDFInfo
- Publication number
- CN111798239A CN111798239A CN202010632161.8A CN202010632161A CN111798239A CN 111798239 A CN111798239 A CN 111798239A CN 202010632161 A CN202010632161 A CN 202010632161A CN 111798239 A CN111798239 A CN 111798239A
- Authority
- CN
- China
- Prior art keywords
- consensus
- parallel chain
- aggregation
- random number
- generating
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种平行链共识方法、设备和存储介质,该方法包括:向其它平行链节点广播所生成的第一区块高度的平行链区块的签名数据和随机数;接收其它平行链节点分别生成并广播的第一区块高度的平行链区块的各签名数据和随机数;根据各共识内容进行平行链自共识,在自共识成功时根据自共识成功的各共识内容的签名数据聚合生成聚合签名数据,根据该聚合签名数据、自共识成功的各共识内容对应的平行链节点的标识信息和随机数生成第一聚合共识交易;将第一聚合共识交易发送至对应的主链节点。本申请降低主链区块消耗的存储空间,并减少发送共识交易的手续费。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种平行链共识方法、设备和存储介质。
背景技术
当前平行链的共识机制是各平行链的共识节点发送共识交易到主链参与共识,对应于同一个第一平行链的第一平行链区块,主链上都会有多条相同高度的共识交易;上述机制将造成主链区块大量存储冗余的平行链共识交易,消耗主链区块的存储空间;且多笔共识交易将产生多笔手续费。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种降低消耗的主链区块存储空间,及,减少手续费的平行链共识方法、设备和存储介质。
第一方面,本发明提供一种适用于平行链节点的平行链共识方法,主链上、当前平行链上记录有当前平行链的各平行链节点的聚合签名公钥,平行链节点间可相互通信,方法适用于平行链节点,上述方法包括:
向其它平行链节点广播所生成的第一区块高度的平行链区块的第一签名数据和第一随机数;其中,第一签名数据由当前节点根据预配置的聚合签名算法对第一共识内容进行签名所生成,第一共识内容由当前节点执行第一区块高度的平行链区块得到;
接收其它平行链节点分别生成并广播的第一区块高度的平行链区块的各第二签名数据和第二随机数;其中,第二签名数据由其它平行链节点根据预配置的聚合签名算法对相应的第二共识内容进行签名所生成,第二共识内容由其它平行链节点执行第一区块高度的平行链区块得到;
响应于根据预配置的规则确定第一区块高度的各共识签名数据由当前节点聚合,根据第一共识内容和各第二共识内容进行平行链自共识,若自共识成功,则根据自共识成功的各共识内容对应的签名数据聚合生成第一聚合签名数据,根据第一聚合签名数据、自共识成功的各共识内容对应的平行链节点的标识信息和自共识成功的各共识内容对应的平行链节点的随机数生成第一聚合共识交易;以及,
将第一聚合共识交易发送至对应的主链节点,以供主链节点:
根据各标识信息获取对应的平行链节点的聚合签名公钥;
根据第一聚合共识交易中的各随机数生成第一聚合随机数;
对第一聚合共识交易中的各随机数执行如下操作:
根据第一随机数对应的聚合签名公钥、第一随机数、第一聚合共识交易中的共识内容生成第一封装数据;
根据第一封装数据、第一随机数对应的聚合签名公钥生成第二封装数据;
根据第一聚合随机数、各第二封装数据生成第三封装数据,判断第三封装数据是否与第一聚合签名数据相匹配:
否,则第一聚合共识交易执行失败。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的平行链共识方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的平行链共识方法。
本发明诸多实施例提供的平行链共识方法、设备和存储介质通过向其它平行链节点广播所生成的第一区块高度的平行链区块的签名数据和随机数;接收其它平行链节点分别生成并广播的第一区块高度的平行链区块的各签名数据和随机数;根据各共识内容进行平行链自共识,在自共识成功时根据自共识成功的各共识内容的签名数据聚合生成聚合签名数据,根据该聚合签名数据、自共识成功的各共识内容对应的平行链节点的标识信息和随机数生成第一聚合共识交易;将第一聚合共识交易发送至对应的主链节点的方法,降低主链区块消耗的存储空间,并减少发送共识交易的手续费。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种平行链共识方法的流程图。
图2为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
当前平行链的共识机制是各平行链的共识节点发送共识交易到主链参与共识,对应于同一个第一平行链的第一平行链区块,主链上都会有多条相同高度的共识交易;例如,平行链节点为a、b、c、d,a~d都需要对生成的第一平行链区块生成共识交易tx_a、tx_b、tx_c、tx_d;上述机制将造成主链节点大量存储冗余的平行链共识交易,消耗主链的存储空间;且多笔共识交易将产生多笔手续费。
图1为本发明一实施例提供的一种平行链共识方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于平行链节点的平行链共识方法,主链上、当前平行链上记录有当前平行链的各平行链节点的聚合签名公钥,平行链节点间可相互通信,上述方法包括:
S12:向其它平行链节点广播所生成的第一区块高度的平行链区块的第一签名数据和第一随机数;其中,第一签名数据由当前节点根据预配置的聚合签名算法对第一共识内容进行签名所生成,第一共识内容由当前节点执行第一区块高度的平行链区块得到;
S14:接收其它平行链节点分别生成并广播的第一区块高度的平行链区块的各第二签名数据和第二随机数;其中,第二签名数据由其它平行链节点根据预配置的聚合签名算法对相应的第二共识内容进行签名所生成,第二共识内容由其它平行链节点执行第一区块高度的平行链区块得到;
S16:响应于根据预配置的规则确定第一区块高度的各共识签名数据由当前节点聚合,根据第一共识内容和各第二共识内容进行平行链自共识,若自共识成功,则根据自共识成功的各共识内容对应的签名数据聚合生成第一聚合签名数据,根据第一聚合签名数据、自共识成功的各共识内容对应的平行链节点的标识信息和自共识成功的各共识内容对应的平行链节点的随机数生成第一聚合共识交易;以及,
S18:将第一聚合共识交易发送至对应的主链节点,以供主链节点:
根据各标识信息获取对应的平行链节点的聚合签名公钥;
根据第一聚合共识交易中的各随机数生成第一聚合随机数;
对第一聚合共识交易中的各随机数执行如下操作:
根据第一随机数对应的聚合签名公钥、第一随机数、第一聚合共识交易中的共识内容生成第一封装数据;
根据第一封装数据、第一随机数对应的聚合签名公钥生成第二封装数据;
根据第一聚合随机数、各第二封装数据生成第三封装数据,判断第三封装数据是否与第一聚合签名数据相匹配:
否,则第一聚合共识交易执行失败。
具体地,假设当前平行链为chain1,chain1上有四个平行链节点a、b、c、d;a对应的主链节点为A;预配置的规则为:a负责生成每一个区块高度的共识签名数据的聚合;预配置的聚合签名算法为schnorr签名算法;平行链节点的标识信息为根据a、b、c、d顺序设置的各节点的bitmap;
主链上,chain1上记录有a、b、c、d的聚合签名公钥pub(sch_a)、pub(sch_b)、pub(sch_c)、pub(sch_d);a、b、c、d可相互通信;
以当前节点为a,第一区块高度为100,第一区块高度的平行链区块对应的主链区块为block(200)_主,block(200)_主中的chain1的平行链交易为tx1、tx2为例:
a执行步骤S12,从主链同步block(200)_主,并获取chain1的各平行链交易tx1、tx2,根据tx1、tx2生成block(100)_a,a执行block(100)_a以获得共识内容msg(100)_a;a根据schnorr聚合签名算法对msg(100)_a进行签名获得签名数据(msg(100)_a)sch_a,a向b、c、d广播(msg(100)_a)sch_a和随机数R(a)(R(a)=r(a)*G,r(a)为a的基础随机数);
同理,b根据tx1、tx2生成block(100)_b,b执行block(100)_b获得共识内容msg(100)_b,b根据schnorr聚合签名算法对msg(100)_b进行签名获得签名数据(msg(100)_b)sch_b,b向a、c、d广播(msg(100)_b)sch_b和R(b)(R(b)=r(b)*G,r(b)为b的基础随机数);c、d的原理相同,此处不再赘述;
a执行步骤S14,接收b广播的(msg(100)_b)sch_b和R(b),c广播的(msg(100)_c)sch_c和R(c),d广播的(msg(100)_d)sch_d和R(d);
由于a负责生成每一个区块高度的共识签名数据的聚合,a执行步骤S16,根据msg(100)_a、msg(100)_b、msg(100)_c、msg(100)_d进行平行链自共识,假设msg(100)_a、msg(100)_c、msg(100)_d相同,msg(100)_a与msg(100)_b不同,则自共识成功,根据(msg(100)_a)sch_a、(msg(100)_c)sch_c和(msg(100)_d)sch_d聚合生成聚合签名数据(msg(100))sch_acd;a根据(msg(100))sch_acd、bitmap(1,01,1)(1表示对应节点的共识内容为平行链自共识成功的共识内容)、[R(a)、R(c)、R(d)]生成聚合共识交易tx100((msg(100))sch_acd,bitmap(1,0,1,1),[R(a)、R(c)、R(d)])secp_a);以及,
a执行步骤S18,将tx100发送至对应的主链节点A;A向其它主链节点广播tx100;
各主链节点根据bitmap(1,0,1,1)获取对应的平行链节点的聚合签名公钥pub(sch_a)、pub(sch_c)、pub(sch_d);
各主链节点根据[R(a)、R(c)、R(d)]生成聚合随机数R_acd;
各主链节点根据pub(sch_a)、R(a)、msg(100)生成a的第一封装数据e(a);根据pub(sch_c)、R(c)、msg(100)生成c的第一封装数据e(c);根据pub(sch_d)、R(d)、msg(100)生成d的第一封装数据e(d);
各主链节点根据e(a)、pub(sch_a)生成a的第二封装数据p(a)e(a);根据e(c)、pub(sch_c)生成c的第二封装数据p(c)e(c);根据e(d)、pub(sch_d)生成a的第二封装数据p(d)e(d);
各主链节点根据R_acd、[p(a)e(a),p(c)e(c),p(d)e(d)]生成第三封装数据S;判断S是否与msg(100))sch_acd相匹配:
否,则tx100执行失败。
上述实施例以当前平行链为chain1,chain1上有四个平行链节点a、b、c、d;a对应的主链节点为A;a负责生成每一个区块高度的共识签名数据的聚合;预配置的聚合签名算法为schnorr签名算法;平行链节点的标识信息为根据a、b、c、d顺序设置的各节点的bitmap为例对本申请的平行链共识原理进行了详细阐述;
在更多实施例中,预配置的规则还可以根据实际需求进行配置,例如配置为:a负责区块高度为n+1的各共识签名数据的聚合,b负责区块高度为n+2的各共识签名数据的聚合,c负责区块高度为n+3的各共识签名数据的聚合,d负责区块高度为n的各共识签名数据的聚合,n为正整数;可实现相同的技术效果。
由于a、b、c、d可以根据预配置的规则判断各区块高度的负责聚合签名数据的节点,在更多实施例中,a还可以不向b、c、d广播第一共识内容,仅接收b、c、d广播的第二共识内容,可实现相同的技术效果。
在更多实施例中,平行链节点的标识信息还可以根据实际需求进行配置,例如配置为自共识成功的各共识内容对应的平行链节点的地址,则tx100为((msg(100))sch_acd,[addr(a),(addr(c),(addr(d)],[R(a)、R(c)、R(d)])secp_a)),只要主链节点可以通过该标识信息找到需要聚合的平行链节点的聚合签名公钥,可实现相同的技术效果。
优选地,上述方法还包括:
向其它平行链节点广播第一聚合共识交易,以供其它平行链节点:
根据各标识信息获取对应的平行链节点的聚合签名公钥;
根据第一聚合共识交易中的各随机数生成第一聚合随机数;
对第一聚合共识交易中的各随机数执行如下操作:
根据第一随机数对应的聚合签名公钥、第一随机数、第一聚合共识交易中的共识内容生成第一封装数据;
根据第一封装数据、第一随机数对应的聚合签名公钥生成第二封装数据;
根据第一聚合随机数、各第二封装数据生成第三封装数据,判断第三封装数据是否与第一聚合签名数据相匹配:
是,则判断第一聚合共识交易中的共识内容与所生成的第二共识内容是否相同:
否,则暂停运行并生成报错信息。
具体地,a向b、c、d广播tx100;
以当前节点为b为例:
b根据bitmap(1,0,1,1)获取对应的平行链节点的聚合签名公钥pub(sch_a)、pub(sch_c)、pub(sch_d);
根据[R(a)、R(c)、R(d)]生成聚合随机数R_acd;
b根据pub(sch_a)、R(a)、msg(100)生成a的第一封装数据e(a);根据pub(sch_c)、R(c)、msg(100)生成c的第一封装数据e(c);根据pub(sch_d)、R(d)、msg(100)生成d的第一封装数据e(d);
b根据e(a)、pub(sch_a)生成a的第二封装数据p(a)e(a);根据e(c)、pub(sch_c)生成c的第二封装数据p(c)e(c);根据e(d)、pub(sch_d)生成d的第二封装数据p(d)e(d);
b根据R_acd、[p(a)e(a),p(c)e(c),p(d)e(d)]生成第三封装数据S;判断S是否与msg(100))sch_acd相匹配:
相匹配,则判断msg(100)与msg(100)_b是否相同。
msg(100)与msg(100)_b不同,则b暂停运行并生成报错信息。
c、d的原理与b相同,此处不再赘述。
上述实施例使得b发现当前节点与其它节点的状态不同,通过暂停运行并生成报错信息的方式尽快获得恢复,以使得当前节点尽快与其它节点的状态相同。
优选地,主链上记录的执行成功的第一聚合共识交易还用于供其它平行链节点:
根据各标识信息获取对应的平行链节点的聚合签名公钥;
根据第一聚合共识交易中的各随机数生成第一聚合随机数;
对第一聚合共识交易中的各随机数执行如下操作:
根据第一随机数对应的聚合签名公钥、第一随机数、第一聚合共识交易中的共识内容生成第一封装数据;
根据第一封装数据、第一随机数对应的聚合签名公钥生成第二封装数据;
根据第一聚合随机数、各第二封装数据生成第三封装数据,判断第三封装数据是否与第一聚合签名数据相匹配:
是,则判断第一聚合共识交易中的共识内容与所生成的第二共识内容是否相同:
否,则暂停运行并生成报错信息。
上述实施例与图1所示的实施例的一优选实施例的不同之处在于,a不会向b、c、d广播tx100,b、c、d需要去主链同步tx100。
优选地,聚合签名算法为schnorr聚合签名算法。
上述实施例的平行链共识原理可参考图1所示的方法,此处不再赘述。
本发明还提供一种适用于平行链节点的平行链共识方法,主链上、当前平行链上记录有当前平行链的各平行链节点的聚合签名公钥,平行链节点间可相互通信,上述方法包括:
生成的第一区块高度的平行链区块的第一签名数据,根据第一签名数据和第一随机数生成第一共识交易,并向其它平行链节点广播第一共识交易;其中,第一签名数据由当前节点根据预配置的聚合签名算法对第一共识内容进行签名所生成,第一共识内容由当前节点执行第一区块高度的平行链区块得到;
接收其它平行链节点分别生成并广播的第一区块高度的平行链区块的各第二共识交易;其中,第二共识交易根据第二签名数据和第二随机数生成,第二签名数据根据其它平行链节点根据预配置的聚合签名算法对第二共识内容进行签名所生成,第二共识内容由其它平行链节点执行第一区块高度的平行链区块得到;
响应于根据预配置的规则确定第一区块高度的各共识签名数据由当前节点聚合,根据第一共识内容和各第二共识内容进行平行链自共识,若自共识成功,则根据自共识成功的各共识内容对应的签名数据聚合生成第一聚合签名数据,根据第一聚合签名数据、自共识成功的各共识内容对应的平行链节点的标识信息和自共识成功的各共识内容对应的平行链节点的随机数生成第一聚合共识交易;以及,
将第一聚合共识交易发送至对应的主链节点,以供主链节点:
根据各标识信息获取对应的平行链节点的聚合签名公钥;
根据第一聚合共识交易中的各随机数生成第一聚合随机数;
对第一聚合共识交易中的各随机数执行如下操作:
根据第一随机数对应的聚合签名公钥、第一随机数、第一聚合共识交易中的共识内容生成第一封装数据;
根据第一封装数据、第一随机数对应的聚合签名公钥生成第二封装数据;
根据第一聚合随机数、各第二封装数据生成第三封装数据,判断第三封装数据是否与第一聚合签名数据相匹配:
否,则第一聚合共识交易执行失败。
图2为本发明一实施例提供的一种设备的结构示意图。
如图2所示,作为另一方面,本申请还提供了一种设备200,包括一个或多个中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM203中,还存储有设备200操作所需的各种程序和数据。CPU201、ROM202以及RAM203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (6)
1.一种平行链共识方法,其特征在于,主链上、当前平行链上记录有当前平行链的各平行链节点的聚合签名公钥,平行链节点间可相互通信,所述方法适用于平行链节点,所述方法包括:
向其它平行链节点广播所生成的第一区块高度的平行链区块的第一签名数据和第一随机数;其中,所述第一签名数据由当前节点根据预配置的聚合签名算法对第一共识内容进行签名所生成,所述第一共识内容由当前节点执行所述第一区块高度的平行链区块得到;
接收其它平行链节点分别生成并广播的所述第一区块高度的平行链区块的各第二签名数据和第二随机数;其中,所述第二签名数据由其它平行链节点根据预配置的聚合签名算法对相应的第二共识内容进行签名所生成,所述第二共识内容由其它平行链节点执行所述第一区块高度的平行链区块得到;
响应于根据预配置的规则确定所述第一区块高度的各共识签名数据由当前节点聚合,根据所述第一共识内容和各所述第二共识内容进行平行链自共识,若所述自共识成功,则根据自共识成功的各共识内容对应的签名数据聚合生成第一聚合签名数据,根据所述第一聚合签名数据、自共识成功的各共识内容对应的平行链节点的标识信息和自共识成功的各共识内容对应的平行链节点的随机数生成第一聚合共识交易;以及,
将所述第一聚合共识交易发送至对应的主链节点,以供主链节点:
根据各所述标识信息获取对应的平行链节点的聚合签名公钥;
根据所述第一聚合共识交易中的各随机数生成第一聚合随机数;
对所述第一聚合共识交易中的各随机数执行如下操作:
根据第一随机数对应的聚合签名公钥、所述第一随机数、所述第一聚合共识交易中的共识内容生成第一封装数据;
根据所述第一封装数据、所述第一随机数对应的聚合签名公钥生成第二封装数据;
根据所述第一聚合随机数、各所述第二封装数据生成第三封装数据,判断所述第三封装数据是否与所述第一聚合签名数据相匹配:
否,则所述第一聚合共识交易执行失败。
2.根据权利要求1所述的方法,其特征在于,还包括:
向其它平行链节点广播所述第一聚合共识交易,以供其它平行链节点:
根据各所述标识信息获取对应的平行链节点的聚合签名公钥;
根据所述第一聚合共识交易中的各随机数生成第一聚合随机数;
对所述第一聚合共识交易中的各随机数执行如下操作:
根据第一随机数对应的聚合签名公钥、所述第一随机数、所述第一聚合共识交易中的共识内容生成第一封装数据;
根据所述第一封装数据、所述第一随机数对应的聚合签名公钥生成第二封装数据;
根据所述第一聚合随机数、各所述第二封装数据生成第三封装数据,判断所述第三封装数据是否与所述第一聚合签名数据相匹配:
是,则判断所述第一聚合共识交易中的共识内容与所生成的第二共识内容是否相同:
否,则暂停运行并生成报错信息。
3.根据权利要求1所述的方法,其特征在于,主链上记录的执行成功的所述第一聚合共识交易还用于供其它平行链节点:
根据各所述标识信息获取对应的平行链节点的聚合签名公钥;
根据所述第一聚合共识交易中的各随机数生成第一聚合随机数;
对所述第一聚合共识交易中的各随机数执行如下操作:
根据第一随机数对应的聚合签名公钥、所述第一随机数、所述第一聚合共识交易中的共识内容生成第一封装数据;
根据所述第一封装数据、所述第一随机数对应的聚合签名公钥生成第二封装数据;
根据所述第一聚合随机数、各所述第二封装数据生成第三封装数据,判断所述第三封装数据是否与所述第一聚合签名数据相匹配:
是,则判断所述第一聚合共识交易中的共识内容与所生成的第二共识内容是否相同:
否,则暂停运行并生成报错信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述聚合签名算法为schnorr聚合签名算法。
5.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-4中任一项所述的方法。
6.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010632161.8A CN111798239B (zh) | 2020-07-03 | 2020-07-03 | 平行链共识方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010632161.8A CN111798239B (zh) | 2020-07-03 | 2020-07-03 | 平行链共识方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111798239A true CN111798239A (zh) | 2020-10-20 |
CN111798239B CN111798239B (zh) | 2023-05-30 |
Family
ID=72810011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010632161.8A Active CN111798239B (zh) | 2020-07-03 | 2020-07-03 | 平行链共识方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111798239B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114140102A (zh) * | 2021-12-02 | 2022-03-04 | 杭州复杂美科技有限公司 | 交易发送方法、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107909369A (zh) * | 2017-10-13 | 2018-04-13 | 布比(北京)网络技术有限公司 | 基于跨链交易的共识方法、装置和存储介质 |
CN111126086A (zh) * | 2019-12-23 | 2020-05-08 | 传神语联网网络科技股份有限公司 | 融合翻译术语认证与修改溯源的区块链系统 |
-
2020
- 2020-07-03 CN CN202010632161.8A patent/CN111798239B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107909369A (zh) * | 2017-10-13 | 2018-04-13 | 布比(北京)网络技术有限公司 | 基于跨链交易的共识方法、装置和存储介质 |
CN111126086A (zh) * | 2019-12-23 | 2020-05-08 | 传神语联网网络科技股份有限公司 | 融合翻译术语认证与修改溯源的区块链系统 |
Non-Patent Citations (1)
Title |
---|
白杰;李东云;吴先锋;: "发布区块链标准应用模型及应用部署技术研究", 信息技术与网络安全 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114140102A (zh) * | 2021-12-02 | 2022-03-04 | 杭州复杂美科技有限公司 | 交易发送方法、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111798239B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109410045B (zh) | 一种平行链共识方法、设备和存储介质 | |
CN111798238A (zh) | 平行链共识方法、设备和存储介质 | |
CN111818136B (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN112600664B (zh) | 延时交易生成方法、延时交易执行方法、设备和存储介质 | |
CN110796545A (zh) | 一种区块链交易的批处理方法、设备和存储介质 | |
CN110083745B (zh) | 数据查询方法、设备和存储介质 | |
CN110688828A (zh) | 文件处理方法及装置、文件处理系统、计算机设备 | |
CN111290866A (zh) | 业务处理方法及装置 | |
CN109005208B (zh) | 用于推送信息的方法和装置 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN114092252B (zh) | 一种区块链交易执行方法、装置、设备及可读存储介质 | |
CN111798316A (zh) | 平行链共识方法、设备和存储介质 | |
CN109344268A (zh) | 图形数据库写入的方法、电子设备及计算机可读存储介质 | |
US20230163998A1 (en) | Data processing method, device, electronic device and computer readable medium | |
CN111861754A (zh) | 交易打包方法、设备和存储介质 | |
CN110795143B (zh) | 用于处理功能模块的方法、装置、计算设备以及介质 | |
CN111008249B (zh) | 平行链区块同步方法、设备和存储介质 | |
CN111798239A (zh) | 平行链共识方法、设备和存储介质 | |
CN110022323A (zh) | 一种基于WebSocket与Redux的跨终端实时交互的方法和系统 | |
CN111176641B (zh) | 流程节点执行方法、装置、介质及电子设备 | |
CN111523896B (zh) | 防攻击方法、设备和存储介质 | |
CN110298756B (zh) | 平行链自共识方法、设备和存储介质 | |
CN111679922A (zh) | 基于事件驱动的消息发布方法、装置及系统 | |
CN113206851B (zh) | 平行链共识方法、计算机设备和存储介质 | |
CN112363946B (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 |