在区块链中执行交易的方法、区块链的主节点和从节点技术

技术编号:34639056 阅读:16 留言:0更新日期:2022-08-24 15:13
本说明书提供一种在区块链中执行交易的方法、区块链的主节点和从节点,所述区块链包括主节点和从节点,所述主节点包括预执行进程和第一共识进程,所述方法由所述主节点执行,所述方法包括:所述预执行进程预执行第一区块的多个第一交易,得到各个第一交易的预执行读写集;所述第一共识进程生成针对所述第一区块的第一共识提议,并向所述从节点广播所述第一共识提议;所述第一共识提议包括所述各个第一交易的预执行读写集;在所述第一共识进程生成所述第一共识提议的过程中,所述预执行进程预执行第二区块的多个第二交易;所述第一区块在所述第二区块之前。所述第二区块之前。所述第二区块之前。

【技术实现步骤摘要】
在区块链中执行交易的方法、区块链的主节点和从节点


[0001]本说明书一个或多个实施例涉及区块链
,特别涉及一种在区块链中执行交易的方法、区块链的主节点和从节点。

技术介绍

[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在区块链中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证数据区块不可篡改和不可伪造。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
[0003]目前来说,交易的执行效率难以提升,需要一种高效执行交易的方案。

技术实现思路

[0004]本说明书一个或多个实施例提供一种在区块链中执行交易的方法、区块链的主节点和从节点。
[0005]根据第一方面,提供一种在区块链中执行交易的方法,所述区块链包括主节点和从节点,所述主节点包括预执行进程和第一共识进程,所述方法由所述主节点执行,所述方法包括:
[0006]所述预执行进程预执行第一区块的多个第一交易,得到各个第一交易的预执行读写集;
[0007]所述第一共识进程生成针对所述第一区块的第一共识提议,并向所述从节点广播所述第一共识提议;所述第一共识提议包括所述各个第一交易的预执行读写集;
[0008]在所述第一共识进程生成所述第一共识提议的过程中,所述预执行进程预执行第二区块的多个第二交易;所述第一区块在所述第二区块之前。
[0009]根据第二方面,提供一种在区块链中执行交易的方法,所述区块链包括主节点和从节点,所述从节点包括第二共识进程,第二管理进程和计算进程,所述方法由所述从节点执行,所述方法包括:
[0010]所述从节点通过所述第二共识进程接收所述主节点广播的第一共识提议;所述第一共识提议包括所述主节点预执行第一区块的多个第一交易而得到的各个第一交易的预执行读写集;
[0011]所述第二管理进程从所述第二共识进程获取所述各个第一交易的预执行读写集,以及所述第二共识进程与所述从节点对所述第一区块进行共识;
[0012]在对所述第一区块进行共识的过程中,所述第二管理进程并行地对所述多个第一交易进行分组,得到多个交易组,并将所述多个交易组发送给所述计算进程;
[0013]所述计算进程并行地执行所述多个交易组。
[0014]根据第三方面,提供一种区块链中的主节点,所述区块链还包括从节点,主节点包括:
[0015]预执行进程,用于预执行第一区块的多个第一交易,得到各个第一交易的预执行读写集;
[0016]共识进程,用于生成针对所述第一区块的第一共识提议,并向所述从节点广播所述第一共识提议;所述第一共识提议包括所述各个第一交易的预执行读写集;
[0017]其中,在所述共识进程生成所述第一共识提议的过程中,所述预执行进程预执行第二区块的多个第二交易;所述第一区块在所述第二区块之前。
[0018]根据第四方面,提供一种区块链中的从节点,所述区块链还包括主节点,从节点包括:
[0019]共识进程,用于接收所述主节点广播的第一共识提议;所述第一共识提议包括所述主节点预执行第一区块的多个第一交易而得到的各个第一交易的预执行读写集;获取所述各个第一交易的预执行读写集,并与所述主节点对所述第一区块进行共识;
[0020]管理进程,用于在共识进程对所述第一区块进行共识的过程中,并行地对所述多个第一交易进行分组,得到多个交易组;
[0021]计算进程,用于并行地执行所述多个交易组。
[0022]根据第五方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面中任一项所述的方法。
[0023]根据第六方面,提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面或第二方面中任一项所述的方法。
[0024]本说明书的实施例提供的技术方案可以包括以下有益效果:
[0025]本说明书的实施例提供的在区块链中执行交易的方法、区块链的主节点和从节点,在主节点中设置预执行进程和共识进程,由预执行进程对当前区块进行预执行,再由共识进程对当前区块进行共识,并在对当前区块进行共识的过程中,由预执行进程对当前区块的下一个区块进行预执行。从而有效提高了区块链中交易执行的速度,提高了区块链系统的性能。并且从节点无需等待对区块的共识完成,就可以并行进行该区块的分组和执行,进一步提高了区块链中交易执行的速度。
[0026]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0027]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0028]图1是本说明书实施例所应用的区块链架构图;
[0029]图2是本说明书根据一示例性实施例示出的PBFT共识算法中的共识过程示意图;
[0030]图3是本说明书根据一示例性实施例示出的一种区块链中执行交易的过程示意图;
[0031]图4是本说明书根据一示例性实施例示出的一种区块链的主节点和从节点的结构
图;
[0032]图5是本说明书根据一示例性实施例示出的一种在区块链中执行交易的方法流程图;
[0033]图6是本说明书根据一示例性实施例示出的一种区块链中的主节点的框图;
[0034]图7是本说明书根据一示例性实施例示出的一种区块链中的从节点的框图。
具体实施方式
[0035]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0036]区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(Private Blockchain)和联盟链(Consortium Blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及通过共识竞争新区块的记账权等。在私有链中,网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。联盟链是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在区块链中执行交易的方法,所述区块链包括主节点和从节点,所述主节点包括预执行进程和第一共识进程,所述方法由所述主节点执行,所述方法包括:所述预执行进程预执行第一区块的多个第一交易,得到各个第一交易的预执行读写集;所述第一共识进程生成针对所述第一区块的第一共识提议,并向所述从节点广播所述第一共识提议;所述第一共识提议包括所述各个第一交易的预执行读写集;在所述第一共识进程生成所述第一共识提议的过程中,所述预执行进程预执行第二区块的多个第二交易;所述第一区块在所述第二区块之前。2.根据权利要求1所述的方法,所述第一共识提议还包括所述预执行进程预执行所述多个第一交易的预执行顺序。3.根据权利要求1所述的方法,所述第一共识提议还包括所述多个第一交易的标识。4.根据权利要求1所述的方法,其中,所述主节点还包括缓存进程,所述缓存进程存储有所述区块链的最新世界状态的状态数据;其中,在所述预执行进程预执行所述多个第一交易之后,还包括:所述预执行进程将所述各个第一交易的预执行读写集提交给所述缓存进程;所述缓存进程根据所述各个第一交易的预执行读写集中的预执行写集更新存储的世界状态的状态数据。5.根据权利要求4所述的方法,所述预执行进程预执行第二区块的多个第二交易,包括:所述预执行进程从所述缓存进程读取所述多个第二交易的预执行读集,并利用读取的所述预执行读集预执行所述多个第二交易。6.根据权利要求4所述的方法,其中,所述第一共识进程生成针对所述第一区块的第一共识提议,包括:所述第一共识进程从所述缓存进程至少获取所述各个第一交易的预执行读写集,并基于所述各个第一交易的预执行读写集生成所述第一共识提议。7.根据权利要求6所述的方法,其中,所述主节点还包括第一管理进程和第一存储进程;所述第一存储进程存储有所述区块链的状态数据库;所述方法还包括:所述主节点通过所述第一共识进程与所述从节点对所述第一区块进行共识;所述第一管理进程从所述第一共识进程获取所述各个第一交易的预执行读写集中的预执行写集;在对所述第一区块进行共识的过程中,所述第一管理进程并行地基于所述预执行写集,更新所述第一存储进程存储的所述区块链的状态数据库。8.根据权利要求7所述的方法,其中,所述方法还包括:在对所述第一区块进行共识的过程中,且在所述预执行进程完成对所述第二交易的预执行之后,所述第一共识进程并行地生成针对所述第二区块的第二共识提议。9.根据权利要求7所述的方法,其中,所述方法还包括:在对所述第一区块进行共识的过程中,且在所述第一共识进程向所述从节点广播所述第二共识提议之后,所述主节点通过所述第一共识进程与所述从节点对所述第二区块进行共识。
10.一种在区块链中执行交易的方法,所述区块链包括主节点和从节点,所述从节点包括第二共识进程,第二管理进程和计算进程,所述方法由所述从节点执行,所述方法包括:所述从节点通过所述第二共识进程接收所述主节点广播的第一共识提议;所述第一共识提议包括所述主节点预执行第一区块的多个第一交易而得到的各个第一交易的预执行读写集;所述第二管理进程从所述第二共识进程获取所述各个第一交易的预执行读写集,以及所述第二共识进程与所述从节点对所述第一区块进行共识;在对所述第一区块进行共识的过程中,所述第二管理进程并行地对所述多个第一交易进行分组,得到多个交易组,并将所述多个交易组发送给所述计算进程;所述...

【专利技术属性】
技术研发人员:林鹏
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1