CN111432027A - 平行链区块同步方法、设备和存储介质 - Google Patents

平行链区块同步方法、设备和存储介质 Download PDF

Info

Publication number
CN111432027A
CN111432027A CN202010288602.7A CN202010288602A CN111432027A CN 111432027 A CN111432027 A CN 111432027A CN 202010288602 A CN202010288602 A CN 202010288602A CN 111432027 A CN111432027 A CN 111432027A
Authority
CN
China
Prior art keywords
block
parallel chain
main chain
parallel
height
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
Application number
CN202010288602.7A
Other languages
English (en)
Other versions
CN111432027B (zh
Inventor
马登极
王志文
吴思进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Fuzamei Technology Co Ltd
Original Assignee
Hangzhou Fuzamei Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Fuzamei Technology Co Ltd filed Critical Hangzhou Fuzamei Technology Co Ltd
Priority to CN202010288602.7A priority Critical patent/CN111432027B/zh
Publication of CN111432027A publication Critical patent/CN111432027A/zh
Application granted granted Critical
Publication of CN111432027B publication Critical patent/CN111432027B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种平行链区块同步方法、设备和存储介质,该方法包括:向主链节点发送第一请求信息;按区块高度从小到大的顺序将主链高度集合切分为若干个子集合;按照区块高度从小到大的顺序依次对各子集合同步执行步骤A‑C:A、向主链节点下载当前子集合中各第一主链区块高度对应的各第一主链区块的第一数据集合;B、向主链节点下载当前子集合所对应的第一区块高度区间的所有主链区块头;C、在上一子集合的步骤A和步骤B执行完成后,进行区块头的验证和平行链交易梅克尔根的验证,均验证成功则生成上一子集合所对应的各平行链区块。本申请降低平行链节点同步平行链区块的带宽、降低平行链节点同步平行链区块的耗时时长。

Description

平行链区块同步方法、设备和存储介质
技术领域
本申请涉及区块链技术领域,具体涉及一种平行链区块同步方法、设备和存储介质。
背景技术
在申请人所提出的平行链机制(具体可参考申请人所申请的各项平行链专利文本)中,平行链节点需要通过遍历每一个主链区块获取所有本平行链的平行链交易从而生成平行链区块;而实际上并不是每一个主链区块都拥有本平行链的平行链交易,上述机制将造成浪费带宽、耗时长的问题。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种期望提供一种降低平行链节点同步平行链区块的带宽、降低平行链节点同步平行链区块的耗时时长的平行链区块同步方法、设备和存储介质。
第一方面,本发明提供一种适用于平行链节点的平行链区块同步方法,各主链区块的区块头信息包括所对应平行链区块的平行链交易梅克尔根,上述方法包括:
向主链节点发送第一请求信息,以供主链节点返回包括各第一主链区块的各第一主链区块高度的主链高度集合;其中,第一主链区块为包括当前平行链的平行链交易的主链区块;
按区块高度从小到大的顺序将主链高度集合切分为若干个子集合;
按照区块高度从小到大的顺序依次对各子集合同步执行步骤A-C:
A、向主链节点下载当前子集合中各第一主链区块高度对应的各第一主链区块的第一数据集合;其中,第一数据集合包括第一主链区块的第一区块头和第一主链区块中当前平行链的各平行链交易;
B、向主链节点下载当前子集合所对应的第一区块高度区间的所有主链区块头;其中,第一区块高度区间为上一子集合的最后一个区块的下一个区块的区块高度至当前子集合的最后一个区块的区块高度;
C、在上一子集合的步骤A和步骤B执行完成后,对上一子集合的各第一数据集合执行如下操作:
验证步骤A中所对应的第一主链区块高度的第一区块头和步骤B中与所对应的第一主链区块高度的区块高度相同的第二区块头是否相同:
是,则根据第一数据集合中的各平行链交易生成第一平行链交易梅克尔根;以及,
验证第一平行链交易梅克尔根与第二区块头中对应的第二平行链交易梅克尔根是否相同:
是,则根据第一数据集合中的各平行链交易生成第一平行链区块。
第二方面,本发明提供一种适用于主链节点的平行链区块同步方法,各主链区块的区块头信息包括所对应平行链区块的平行链交易梅克尔根,上述方法包括:
接收第一平行链的第一平行链节点发送的第一请求信息,返回包括各包括第一平行链的平行链交易的第一主链区块的各第一主链区块高度的主链高度集合,以供第一平行链节点:
按区块高度从小到大的顺序将主链高度集合切分为若干个子集合;
按照区块高度从小到大的顺序依次对各子集合同步执行步骤A-C:
A、向当前节点下载第一子集合中各第一主链区块高度对应的各第一主链区块的第一数据集合;其中,第一数据集合包括第一主链区块的第一区块头和第一主链区块中当前平行链的各平行链交易;
B、向当前节点下载第一子集合所对应的第一区块高度区间的所有主链区块头;其中,第一区块高度区间为第一子集合的上一子集合的最后一个区块的下一个区块的区块高度至第一子集合的最后一个区块的区块高度;
C、在上一子集合的步骤A和步骤B执行完成后,对上一子集合的各第一数据集合执行如下操作:
验证步骤A中所对应的第一主链区块高度的第一区块头和步骤B中与所对应的第一主链区块高度的区块高度相同的第二区块头是否相同:
是,则根据第一数据集合中的各平行链交易生成第一平行链交易梅克尔根;以及,
验证第一平行链交易梅克尔根与第二区块头中对应的第二平行链交易梅克尔根是否相同:
是,则根据第一数据集合中的各平行链交易生成第一平行链区块。
第三方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的平行链区块同步方法。
第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的平行链区块同步方法。
本发明诸多实施例提供的平行链区块同步方法、设备和存储介质通过向主链节点发送第一请求信息;按区块高度从小到大的顺序将主链高度集合切分为若干个子集合;按照区块高度从小到大的顺序依次对各子集合同步执行步骤A-C:A、向主链节点下载当前子集合中各第一主链区块高度对应的各第一主链区块的第一数据集合;B、向主链节点下载当前子集合所对应的第一区块高度区间的所有主链区块头;C、在上一子集合的步骤A和步骤B执行完成后,进行区块头的验证和平行链交易梅克尔根的验证,均验证成功则生成上一子集合所对应的各平行链区块的方法,降低平行链节点同步平行链区块的带宽、降低平行链节点同步平行链区块的耗时时长。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种平行链区块同步方法的流程图。
图2为本发明一实施例提供的另一种平行链区块同步方法的流程图。
图3为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
在申请人所提出的另一件申请号为CN201911109989.9的专利申请中,申请人提出了通过对主链及一个以上平行链及其交易进行排序,根据主链交易排序构造主链子根哈希值;根据平行链交易排序构造平行链子根哈希值;根据主链与一个以上平行链排序,通过主链子根哈希值与一个以上平行链子根哈希值构造默克尔树根值。
以block(100)上有4条主链交易Tx_MA、Tx_MB、Tx_MC、Tx_MD,有3条第一平行链的平行链交易Tx_A1、Tx_B1、Tx_C1,有2条第二平行链的平行链交易Tx_A2、Tx_B2为例,当前申请中的平行链交易梅克尔根与申请号为CN201911109989.9的专利申请中的平行链子根哈希值的概念相同,上述区块链交易验证方法中区块头信息中的主链交易梅克尔根、各对应平行链区块的平行链交易梅克尔根、梅克尔根生成的业务逻辑如下:
根据Tx_MA、Tx_MB、Tx_MC、Tx_MD排序构造主链子根哈希值,根据Tx_A1、Tx_B1、Tx_C1排序构造第一平行链的平行链交易梅克尔根,根据Tx_A2、Tx_B2排序构造第二平行链的平行链交易梅克尔根;
block(100)的梅克尔根根据主链子根哈希值、根据Tx_A1、Tx_B1、Tx_C1排序构造第一平行链的平行链交易梅克尔根、根据Tx_A2、Tx_B2排序构造第二平行链的平行链交易梅克尔根生成。
block(100)的区块头信息包括梅克尔根、主链子根哈希值、各对应平行链区块的平行链交易梅克尔根。
若平行链节点信任主链节点发送的任何信息,则平行链节点同步平行链区块的方法为:
向主链节点发送请求区块头信息的第一请求信息,以供主链节点根据第一请求信息返回各主链区块高度的第一区块头信息;
向主链节点发送第二请求信息,以供主链节点返回包括当前平行链的平行链交易的各第一主链区块的第一主链区块高度;
向主链节点发送包括若干第一主链区块高度的第三请求信息,以供主链节点返回所请求的各第一主链区块高度的第一数据集合;其中,第一数据集合包括对应的第一主链区块高度的第二区块头信息和当前平行链的各平行链交易;
分别对所接收的各第一数据集合执行如下操作:
根据第一数据集合中的各第一平行链交易生成第一平行链区块。
但是,申请人考虑到区块链网络的不稳定性,主链节点篡改主链区块数据等情况,平行链节点不能完全信任主链节点发送的任何信息。
在申请人先前提出的主链-平行链机制中,平行链节点需要通过遍历每一个主链区块获取所有本平行链的平行链交易从而生成平行链区块;而实际上并不是每一个主链区块都拥有本平行链的平行链交易,上述机制将造成浪费带宽、耗时长的问题。
综合上述考虑,可以通过图1的方法进行解决。
图1为本发明一实施例提供的一种平行链区块同步方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于平行链节点的平行链区块同步方法,各主链区块的区块头信息包括所对应平行链区块的平行链交易梅克尔根,上述方法包括:
S11:向主链节点发送第一请求信息,以供主链节点返回包括各第一主链区块的各第一主链区块高度的主链高度集合;其中,第一主链区块为包括当前平行链的平行链交易的主链区块;
S12:按区块高度从小到大的顺序将主链高度集合切分为若干个子集合;
S13:按照区块高度从小到大的顺序依次对各子集合同步执行步骤A-C:
A、向主链节点下载当前子集合中各第一主链区块高度对应的各第一主链区块的第一数据集合;其中,第一数据集合包括第一主链区块的第一区块头和第一主链区块中当前平行链的各平行链交易;
B、向主链节点下载当前子集合所对应的第一区块高度区间的所有主链区块头;其中,第一区块高度区间为上一子集合的最后一个区块的下一个区块的区块高度至当前子集合的最后一个区块的区块高度;
C、在上一子集合的步骤A和步骤B执行完成后,对上一子集合的各第一数据集合执行如下操作:
验证步骤A中所对应的第一主链区块高度的第一区块头和步骤B中与所对应的第一主链区块高度的区块高度相同的第二区块头是否相同:
是,则根据第一数据集合中的各平行链交易生成第一平行链交易梅克尔根;以及,
验证第一平行链交易梅克尔根与第二区块头中对应的第二平行链交易梅克尔根是否相同:
是,则根据第一数据集合中的各平行链交易生成第一平行链区块。
具体地,假设主链区块有block(1)~block(10000),只有一条平行链parachain1,假设每50个主链区块上有parachain1的平行链交易(即block(50)、block(100)、block(150)、block(200)……block(9950)、block(10000)上有parachain1的平行链交易);以每个子集合包括5个元素为例;
a执行步骤S11,向A发送第一请求信息;
A接收第一请求信息,并返回包括parachain1的平行链交易的各主链区块高度的主链高度集合{50,100,150,200……9950,10000};
由于每个子集合包括5个元素,a执行步骤S12,按照区块高度从小到大的顺序将{50,100,150,200……9950,10000}切分为40个子集合{50,100,150,200,250}、{300,350,400,450,500}、……{9800,9850,9900,9950,10000};
a执行步骤S13,按照区块高度从小到大的顺序依次对各子集合同步执行步骤A-C:
①假设当前子集合为{50,100,150,200,250}:
a执行A,向主链节点下载block(50)的数据集合(blockheader(50')和block(50)中的parachain1的平行链交易(假设为tx1))、block(100)的数据集合(blockheader(100')和block(100)中的parachain1的平行链交易(假设为tx2))、block(150)的数据集合(blockheader(150')和block(150)中的parachain1的平行链交易(假设为tx3))、block(200)的数据集合(blockheader(200')和block(200)中的parachain1的平行链交易(假设为tx4))、block(250)的数据集合(blockheader(250')和block(250)中的parachain1的平行链交易(假设为tx5));
a执行B,向主链节点下载blockheader(1)~blockheader(250);
由于当前子集合没有上一个子集合,则C无操作;
②假设当前子集合为{300,350,400,450,500}:
a执行A,向主链节点下载block(300)的数据集合(blockheader(300')和block(300)中的parachain1的平行链交易(假设为tx6))、bl ock(350)的数据集合(blockheader(350')和block(350)中的parachai n1的平行链交易(假设为tx7))、block(400)的数据集合(blockheader(400')和block(400)中的parachain1的平行链交易(假设为tx8))、b lock(450)的数据集合(blockheader(450')和block(450)中的parachai n1的平行链交易(假设为tx9))、block(500)的数据集合(blockheade r(500')和block(500)中的parachain1的平行链交易(假设为tx10));
a执行B,向主链节点下载blockheader(251)~blockheader(500);
a执行C,在上一子集合{50,100,150,200,250}的步骤A和步骤B执行完成后,对上一子集合的各数据集合执行如下操作:
假设当前数据集合为block(50)的数据集合:
验证步骤A中的blockheader(50')和步骤B中的blockheader(50)是否相同:
是,则根据tx1生成第一平行链交易梅克尔根;以及,
验证第一平行链交易梅克尔根与blockheader(50)中对应的第二平行链交易梅克尔根是否相同:
是,则根据tx1生成第一平行链区块。
其它数据集合的操作原理相同,此处不再赘述。
{300,350,400,450,500}、{550,600,650,700,750}……{9800,9850,9900,9950,10000}与{300,350,400,450,500}的平行链区块同步原理相同,此处不再赘述。
在{9800,9850,9900,9950,10000}中,由于没有后一分组,a在执行完步骤A-C后,还要执行步骤D;
D、对当前子集合的各第一数据集合执行如下操作:
验证步骤A中所对应的第一主链区块高度的第一区块头和步骤B中与所对应的第一主链区块高度的区块高度相同的第二区块头是否相同:
是,则根据第一数据集合中的各平行链交易生成第一平行链交易梅克尔根;以及,
验证第一平行链交易梅克尔根与第二区块头中对应的第二平行链交易梅克尔根是否相同:
是,则根据第一数据集合中的各平行链交易生成第一平行链区块。
在更多实施例中,还可以根据实际需求设置每个子集合中的元素的数量,例如设置为10个,则a执行步骤S12时,按照区块高度从小到大的顺序将{50,100,150,200……9950,10000}切分为{50,100,150,200,250,300,350,400,450,500}、……{9550,9600,9650,9700,9750,9800,9850,9900,9950,10000},可实现相同的技术效果。
在更多实施例中,C还可以根据实际需求配置为:在上一子集合的步骤A和步骤B执行完成后,对上一子集合的各第一数据集合进行区块头的验证和平行链交易梅克尔根的验证,在均验证成功时,根据区块高度从小到大的顺序依次生成上一子集合所对应的各平行链区块;可实现相同的技术效果。
在更多实施例中,还可以根据实际需求配置第一区块头和第二区块头不同时的操作,例如配置为:停止平行链区块同步;或配置为:停止平行链区块同步,并生成告警信息;可实现相同的技术效果。
在更多实施例中,还可以根据实际需求配置第一平行链交易梅克尔根与第二平行链交易梅克尔根不同时的操作,例如配置为:停止平行链区块同步;或配置为:停止平行链区块同步,并生成告警信息;可实现相同的技术效果。
上述实施例降低平行链节点同步平行链区块的带宽、降低平行链节点同步平行链区块的耗时时长。
优选地,上述方法还包括:
判断不包括当前平行链的平行链交易的主链区块的连续数量是否不小于预配置的第一空块间隔:
是,则生成第一空块。
图2为本发明一实施例提供的另一种平行链区块同步方法的流程图。如图2所示,在本实施例中,本发明提供一种适用于主链节点的平行链区块同步方法,各主链区块的区块头信息包括所对应平行链区块的平行链交易梅克尔根,上述方法包括:
S22:接收第一平行链的第一平行链节点发送的第一请求信息,返回包括各包括第一平行链的平行链交易的第一主链区块的各第一主链区块高度的主链高度集合,以供第一平行链节点:
按区块高度从小到大的顺序将主链高度集合切分为若干个子集合;
按照区块高度从小到大的顺序依次对各子集合同步执行步骤A-C:
A、向当前节点下载第一子集合中各第一主链区块高度对应的各第一主链区块的第一数据集合;其中,第一数据集合包括第一主链区块的第一区块头和第一主链区块中当前平行链的各平行链交易;
B、向当前节点下载第一子集合所对应的第一区块高度区间的所有主链区块头;其中,第一区块高度区间为第一子集合的上一子集合的最后一个区块的下一个区块的区块高度至第一子集合的最后一个区块的区块高度;
C、在上一子集合的步骤A和步骤B执行完成后,对上一子集合的各第一数据集合执行如下操作:
验证步骤A中所对应的第一主链区块高度的第一区块头和步骤B中与所对应的第一主链区块高度的区块高度相同的第二区块头是否相同:
是,则根据第一数据集合中的各平行链交易生成第一平行链交易梅克尔根;以及,
验证第一平行链交易梅克尔根与第二区块头中对应的第二平行链交易梅克尔根是否相同:
是,则根据第一数据集合中的各平行链交易生成第一平行链区块。
上述实施例的平行链区块同步原理可参考图1所示的方法,此处不再赘述。
优选地,第一平行链节点还用于判断不包括第一平行链的平行链交易的主链区块的连续数量是否不小于预配置的第一空块间隔:
是,则生成第一空块。
图3为本发明一实施例提供的一种设备的结构示意图。
如图3所示,作为另一方面,本申请还提供了一种设备300,包括一个或多个中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM303中,还存储有设备300操作所需的各种程序和数据。CPU301、ROM302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (6)

1.一种平行链区块同步方法,其特征在于,各主链区块的区块头信息包括所对应平行链区块的平行链交易梅克尔根,所述方法适用于平行链节点,所述方法包括:
向主链节点发送第一请求信息,以供所述主链节点返回包括各第一主链区块的各第一主链区块高度的主链高度集合;其中,所述第一主链区块为包括当前平行链的平行链交易的主链区块;
按区块高度从小到大的顺序将所述主链高度集合切分为若干个子集合;
按照区块高度从小到大的顺序依次对各所述子集合同步执行步骤A-C:
A、向所述主链节点下载当前子集合中各第一主链区块高度对应的各第一主链区块的第一数据集合;其中,所述第一数据集合包括第一主链区块的第一区块头和第一主链区块中当前平行链的各平行链交易;
B、向所述主链节点下载当前子集合所对应的第一区块高度区间的所有主链区块头;其中,所述第一区块高度区间为上一子集合的最后一个区块的下一个区块的区块高度至当前子集合的最后一个区块的区块高度;
C、在上一子集合的步骤A和步骤B执行完成后,对上一子集合的各所述第一数据集合执行如下操作:
验证步骤A中所对应的第一主链区块高度的第一区块头和步骤B中与所述所对应的第一主链区块高度的区块高度相同的第二区块头是否相同:
是,则根据所述第一数据集合中的各平行链交易生成第一平行链交易梅克尔根;以及,
验证所述第一平行链交易梅克尔根与所述第二区块头中对应的第二平行链交易梅克尔根是否相同:
是,则根据所述第一数据集合中的各平行链交易生成第一平行链区块。
2.根据权利要求1所述的方法,其特征在于,还包括:
判断不包括当前平行链的平行链交易的主链区块的连续数量是否不小于预配置的第一空块间隔:
是,则生成第一空块。
3.一种平行链区块同步方法,其特征在于,各主链区块的区块头信息包括所对应平行链区块的平行链交易梅克尔根,所述方法适用于主链节点,所述方法包括:
接收第一平行链的第一平行链节点发送的第一请求信息,返回包括各包括所述第一平行链的平行链交易的第一主链区块的各第一主链区块高度的主链高度集合,以供所述第一平行链节点:
按区块高度从小到大的顺序将所述主链高度集合切分为若干个子集合;
按照区块高度从小到大的顺序依次对各所述子集合同步执行步骤A-C:
A、向当前节点下载第一子集合中各第一主链区块高度对应的各第一主链区块的第一数据集合;其中,所述第一数据集合包括第一主链区块的第一区块头和第一主链区块中当前平行链的各平行链交易;
B、向当前节点下载第一子集合所对应的第一区块高度区间的所有主链区块头;其中,所述第一区块高度区间为所述第一子集合的上一子集合的最后一个区块的下一个区块的区块高度至所述第一子集合的最后一个区块的区块高度;
C、在所述上一子集合的步骤A和步骤B执行完成后,对所述上一子集合的各所述第一数据集合执行如下操作:
验证步骤A中所对应的第一主链区块高度的第一区块头和步骤B中与所述所对应的第一主链区块高度的区块高度相同的第二区块头是否相同:
是,则根据所述第一数据集合中的各平行链交易生成第一平行链交易梅克尔根;以及,
验证所述第一平行链交易梅克尔根与所述第二区块头中对应的第二平行链交易梅克尔根是否相同:
是,则根据所述第一数据集合中的各平行链交易生成第一平行链区块。
4.根据权利要求3所述的方法,其特征在于,所述第一平行链节点还用于判断不包括所述第一平行链的平行链交易的主链区块的连续数量是否不小于预配置的第一空块间隔:
是,则生成第一空块。
5.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-4中任一项所述的方法。
6.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
CN202010288602.7A 2020-04-14 2020-04-14 平行链区块同步方法、设备和存储介质 Active CN111432027B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010288602.7A CN111432027B (zh) 2020-04-14 2020-04-14 平行链区块同步方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010288602.7A CN111432027B (zh) 2020-04-14 2020-04-14 平行链区块同步方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111432027A true CN111432027A (zh) 2020-07-17
CN111432027B CN111432027B (zh) 2023-04-14

Family

ID=71556331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010288602.7A Active CN111432027B (zh) 2020-04-14 2020-04-14 平行链区块同步方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111432027B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112839091A (zh) * 2021-01-11 2021-05-25 杭州复杂美科技有限公司 区块生成方法、计算机设备和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984662A (zh) * 2018-06-28 2018-12-11 杭州复杂美科技有限公司 一种区块链数据同步方法
CN109034807A (zh) * 2018-08-15 2018-12-18 杭州复杂美科技有限公司 一种区块链数据同步方法
CN109271446A (zh) * 2018-08-30 2019-01-25 杭州复杂美科技有限公司 一种平行链数据同步方法、设备和存储介质
CN109345388A (zh) * 2018-09-20 2019-02-15 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质
CN109587271A (zh) * 2018-12-29 2019-04-05 杭州复杂美科技有限公司 主链平行链架构系统及区块同步方法、设备和存储介质
CN110113408A (zh) * 2019-04-30 2019-08-09 杭州复杂美科技有限公司 一种区块同步方法、设备和存储介质
CN110392121A (zh) * 2019-09-02 2019-10-29 杭州复杂美科技有限公司 平行链区块生成方法、设备和存储介质
CN110516150A (zh) * 2019-08-26 2019-11-29 杭州复杂美科技有限公司 平行链交易推送方法、设备和存储介质
WO2020010972A1 (zh) * 2018-07-10 2020-01-16 深圳市红砖坊技术有限公司 应用于区块链系统中矿工节点的共识方法和区块链系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984662A (zh) * 2018-06-28 2018-12-11 杭州复杂美科技有限公司 一种区块链数据同步方法
WO2020010972A1 (zh) * 2018-07-10 2020-01-16 深圳市红砖坊技术有限公司 应用于区块链系统中矿工节点的共识方法和区块链系统
CN109034807A (zh) * 2018-08-15 2018-12-18 杭州复杂美科技有限公司 一种区块链数据同步方法
CN109271446A (zh) * 2018-08-30 2019-01-25 杭州复杂美科技有限公司 一种平行链数据同步方法、设备和存储介质
WO2020043048A1 (zh) * 2018-08-30 2020-03-05 杭州复杂美科技有限公司 一种平行链数据同步方法、设备和存储介质
CN109345388A (zh) * 2018-09-20 2019-02-15 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质
CN109587271A (zh) * 2018-12-29 2019-04-05 杭州复杂美科技有限公司 主链平行链架构系统及区块同步方法、设备和存储介质
CN110113408A (zh) * 2019-04-30 2019-08-09 杭州复杂美科技有限公司 一种区块同步方法、设备和存储介质
CN110516150A (zh) * 2019-08-26 2019-11-29 杭州复杂美科技有限公司 平行链交易推送方法、设备和存储介质
CN110392121A (zh) * 2019-09-02 2019-10-29 杭州复杂美科技有限公司 平行链区块生成方法、设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112839091A (zh) * 2021-01-11 2021-05-25 杭州复杂美科技有限公司 区块生成方法、计算机设备和存储介质
CN112839091B (zh) * 2021-01-11 2022-06-24 杭州复杂美科技有限公司 区块生成方法、计算机设备和存储介质

Also Published As

Publication number Publication date
CN111432027B (zh) 2023-04-14

Similar Documents

Publication Publication Date Title
CN110609872B (zh) 用于同步节点数据的方法和装置
KR20210003234A (ko) 분할된 블록체인 네트워크에서 블록체인의 블록을 유지하는 것
CN110442579B (zh) 一种状态树数据存储方法、同步方法及设备和存储介质
CN111445236B (zh) 一种区块链交易验证方法、设备及存储介质
CN111798316B (zh) 平行链共识方法、设备和存储介质
CN110392121B (zh) 平行链区块生成方法、设备和存储介质
CN110557420B (zh) 一种独立子链的运行方法及系统
CN111008249B (zh) 平行链区块同步方法、设备和存储介质
CN110083745B (zh) 数据查询方法、设备和存储介质
CN114363407B (zh) 消息服务方法及装置、可读存储介质及电子设备
CN113034142B (zh) 一种交易数据处理方法、装置以及计算机设备
CN111861471A (zh) 平行链共识方法、平行链区块回滚方法、设备和存储介质
CN110837505A (zh) 状态数据存储方法、状态数据同步方法、设备和存储介质
CN111541756B (zh) 区块生成方法、装置、节点设备及存储介质
CN112785408A (zh) 基于哈希的对账方法及装置
CN114092252A (zh) 一种区块链交易执行方法、装置、设备及可读存储介质
CN111432027A (zh) 平行链区块同步方法、设备和存储介质
CN113179329B (zh) 服务发布方法及装置、服务器、存储介质
CN117234697B (zh) 一种保守时间同步并行事件调度计算架构和方法
CN111405037A (zh) 区块同步方法、设备和存储介质
CN112825525B (zh) 用于处理事务的方法和装置
CN111523896A (zh) 防攻击方法、设备和存储介质
CN109947736A (zh) 实时计算的方法和系统
CN111951112A (zh) 基于区块链的智能合约执行方法、终端设备和存储介质
CN110535922B (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