【技术实现步骤摘要】
在区块链中执行交易的方法及区块链的主节点
[0001]本说明书一个或多个实施例涉及区块链
,特别涉及一种在区块链中执行交易的方法及区块链的主节点。
技术介绍
[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在区块链中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证数据区块不可篡改和不可伪造。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
[0003]目前来说,交易的执行效率难以提升,需要一种高效执行交易的方案。
技术实现思路
[0004]本说明书一个或多个实施例提供一种在区块链中执行交易的方法及区块链的主节点。
[0005]根据第一方面,提供一种在区块链中执行交易的方法,所述区块链包括主节点和从节点,所述方法由所述主节点执行,所述方法包括:
[0006]预执行属于第一区块的多个交易;
[0007]确定所述多个交易中的第一交易为预设类型的交易;
[0008]在预执行所述多个交易之后,与所述从节点对所述第一区块进行共识;
[0009]在完成对所述第一区块的共识之后,重新执行所述第一交易。
[0010]根据第二方面,提供一种区块链中的主节点,所述区块链还包括从节点,主节点包括:
[0011]预执行进程,用于预执行属于第一区块的多个交易,并确定所述多个交易中的第一交易为预设类型的交易;
[00 ...
【技术保护点】
【技术特征摘要】
1.一种在区块链中执行交易的方法,所述区块链包括主节点和从节点,所述方法由所述主节点执行,所述方法包括:预执行属于第一区块的多个交易;确定所述多个交易中的第一交易为预设类型的交易;在预执行所述多个交易之后,与所述从节点对所述第一区块进行共识;在完成对所述第一区块的共识之后,重新执行所述第一交易。2.根据权利要求1所述的方法,其中,所述预设类型的交易为读集中包括预设变量的交易,所述预设变量采用随机数作为状态值。3.根据权利要求2所述的方法,其中,所述确定所述多个交易中的第一交易为预设类型的交易,包括:在预执行所述第一交易的过程中,确定所述第一交易调用智能合约;在调用所述智能合约时,判断是否调用预设接口;若调用所述预设接口,则确定所述第一交易为预设类型的交易。4.根据权利要求2所述的方法,其中,所述重新执行所述第一交易,包括:获取共识结果;所述共识结果中包括经过共识后的目标状态值;所述目标状态值为所述第一交易的读集中所述预设变量的状态值;基于所述目标状态值重新执行所述第一交易。5.根据权利要求1所述的方法,其中,在确定所述多个交易中的第一交易为预设类型的交易之后,所述方法还包括:对所述第一交易进行标记。6.根据权利要求1所述的方法,其中,所述第一交易为所述第一区块的多个交易中首个被预执行的预设类型的交易;其中,在重新执行所述第一交易之后,所述方法还包括:重新执行所述多个交易中在所述第一交易之后被预执行的交易。7.根据权利要求1所述的方法,其中,所述主节点包括预执行进程,共识进程和计算进程;所述主节点通过所述预执行进程预执行所述多个交易,并确定所述多个交易中的第一交易为预设类型的交易;所述主节点通过所述共识进程对所述第一区块进行共识;所述主节点通过所述计算进程重新执行所述第一交易。8.根据权利要求7所述的方法,其中,所述主节点还包括缓存进程,所述缓存进程存储有所述区块链的最新世界状态的状态数据;其中,在所述预执行进程预执行所述多个交易之后,还包括:所述预执行进程将预执行所述多个交易得到的各个交易的预执行读写集提交给所述缓存进程,所述缓存进程根据所述各个交易的预执行读写集中的预执行写集更新存储的世界状态的状态数据。9.根据权利要求8所述的方法,在所述计算进程重新执行所述第一交易之后,还包括:所述计算进程向所述缓存进程发送重新执行事件通知,所述重新执行事件通知包括重新执行所述第一交易得到的执行写集;所述缓存进程利用所述执行写集重新更新存储的世界状态的状态数据。10.根据权利要求8所述的方法,其中,所述预执行进程预执行所述多个交易,包括:所述预执行进程从所述缓存进程读取所述多个交易的预执行读集,并利用读取的所述预执行读集预执行所述多个交易。
11.根据权利要求10所述的方法,其中,所述主节点还包括管理进程和存储进程;所述存储进程存储有所述区块链的状态数据库;所述方法还包括:所述共识进程从所述缓存进程获取所述各个交易的预执行读写集;所述管理进程从所述共识进程获取所述各个交易的预执行读写集中的预执行写集;在对所述第一区块进行共识的过程中,所述管理进程并行地基于所述预执行写集,更新所述存储进程存储的所述区块...
【专利技术属性】
技术研发人员:林鹏,徐文博,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。