【技术实现步骤摘要】
区块链中执行交易的方法及装置
[0001]本说明书一个或多个实施例涉及区块链
,特别涉及一种区块链中执行交易的方法及装置。
技术介绍
[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证数据区块不可篡改和不可伪造。区块链节点在执行区块中的多个交易时,可通过并行执行交易加快交易执行速度。然而,由于调用智能合约的交易在执行前不能预知访问的变量,因此通常不能并行执行。
技术实现思路
[0003]本说明书一个或多个实施例提供一种区块链中执行交易的方法及装置。
[0004]根据第一方面,提供一种区块链中执行交易的方法,应用于区块链节点,包括:接收属于第一区块的多个第一交易,对所述多个第一交易进行预执行,得到所述多个第一交易的预执行读写集;所述预执行读写集用于对所述多个第一交易进行分组;在对所述多个第一交易进行预执行的过程中,并行地对第二区块进行共识;所述第二区块为所述第一区块之前的区块。
[0005]根据第二方面,提供一种区块链中执行交易的装置,部署于区块链节点,包括:预执行模块,用于接收属于第一区块的多个第一交易,对所述多个第一交易进行预执行,得到所述多个第一交易的预执行读写集;所述预执行读写集用于对所述多个第一交易分组;共识模块,用于在对所述多个第一交易进行预执行的过程中,并行地对第二区块进行共识;所述第二区块为所述第一区块之前的区块 ...
【技术保护点】
【技术特征摘要】
1.一种区块链中执行交易的方法,应用于区块链节点,所述方法包括:接收属于第一区块的多个第一交易,对所述多个第一交易进行预执行,得到所述多个第一交易的预执行读写集;所述预执行读写集用于对所述多个第一交易进行分组;在对所述多个第一交易进行预执行的过程中,并行地对第二区块进行共识;所述第二区块为所述第一区块之前的区块。2.根据权利要求1所述的方法,其中,所述对第二区块进行共识,包括:将属于所述第二区块的多个第二交易、在先生成的各个第二交易的预执行读写集和所述多个第二交易的提交顺序发送给所述区块链的其它节点进行共识。3.根据权利要求1所述的方法,其中,所述对第二区块进行共识,包括:根据在先生成的属于所述第二区块的多个第二交易的预执行读写集,对所述多个第二交易进行分组得到分组结果;将所述多个第二交易、所述多个第二交易的预执行读写集、所述分组结果和所述多个第二交易的提交顺序发送给所述区块链的其它节点进行共识。4.根据权利要求1所述的方法,其中,还包括:在对所述第二区块进行共识的过程中,并行执行第三区块;所述第三区块为所述第二区块之前的区块。5.根据权利要求4所述的方法,其中,还包括:在执行所述第三区块的过程中,并行地将所述第三区块之前的区块所对应的执行结果写入状态数据库中。6.根据权利要求1所述的方法,其中,所述对所述多个第一交易进行预执行,包括:并行地对所述多个第一交易进行预执行。7.根据权利要求1所述的方法,其中,所述对所述多个第一交易进行预执行,包括:基于各个第一交易各自对应的最新区块的世界状态预执行所述各个第一交易。8.根据权利要求1所述的方法,其中,所述对所述多个第一交易进行预执行,包括:基于各个第一交易各自对应的最新区块的世界状态,并行地对所述多个第一交易进行预执行。9.根据权利要求4所述的方法,其中,所述执行第三区块,包括:基于在先生成的属于所述第三区块的多个第三交易的预执行读写集,对所述多个第三交易进行分组,得到分组结果;根据所述分组结果并行地执行所述多个第三交易。10.根据权利要求4所述的方法,其中,所述执行第三区块,包括:获取对属于所述第三区块的多个第三交易进行分组得到的分组结果;所述分组为在对所述第三区块进行共识之前,基于在先生成的所述多个第三交易的预执行读写集进行的;根据所述分组结果并行地执行所述多个第三交易。11.根据权利要求9或10所述的方法,其中,对于任一第三交易,若执行该第三交易后得到的执行读写集与该第三交易的预执行读写集不一致,回滚对该第三交易的执行。12.根据权利要求11所述的方法,其中,在执行完成所述多个第三交易之后,还包括:重新执行经回滚的第三交易。13.根据权利要求12所述的方法,其中,所述重新执行经回滚的第三交易,包括:串行地重新执行经回滚的第三交易。
14.根据权利要求13所述的方法,其中,所述串行地重新执行经回滚的...
【专利技术属性】
技术研发人员:谢桂鲁,邓福喜,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。