【技术实现步骤摘要】
区块链系统中的交易执行方法和区块链节点
[0001]本说明书实施例属于区块链
,尤其涉及一种区块链系统中的交易执行方法和区块链节点。
技术介绍
[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
技术实现思路
[0003]本专利技术的目的在于提供一种区块链系统中的交易执行方法和区块链节点,高耗时交易的执行不会对区块链系统中生成区块的时间造成较大影响,可以提高区块链系统的性能。
[0004]第一方面,提供了一种区块链系统中的交易执行方法,所述区块链系统中部署有智能合约,所述智能合约包括第一代码段、第二代码段和第三代码段,所述区块链系统包括多个区块链节点,所述方法由所述区块链节点执行。所述方法包括:接收用于调用所述第一代码段的第一链上交易;根据所述第一链上交易执行所述第一代码段,获得用于调用所述第二代码段的链下交易,所述链下交易用于指示在链下进行第一操作;根据所述链下交易执行所述第二代码段,获得所述第一操作的操作结果,并生成用于调用所述第三代码段的第二链上交易,所述第二链上交易中包括所述第一操作的操作结果;将所述第二链上交易广播至所述区块链系统中的其它区块链节点,以及从所述区块链系统的其它区块链节点接收其对应生成的第 ...
【技术保护点】
【技术特征摘要】
1.一种区块链系统中的交易执行方法,所述区块链系统中部署有智能合约,所述智能合约包括第一代码段、第二代码段和第三代码段,所述区块链系统包括多个区块链节点,所述方法由所述区块链节点执行,所述方法包括:接收用于调用所述第一代码段的第一链上交易;根据所述第一链上交易执行所述第一代码段,获得用于调用所述第二代码段的链下交易,所述链下交易用于指示在链下进行第一操作;根据所述链下交易执行所述第二代码段,获得所述第一操作的操作结果,并生成用于调用所述第三代码段的第二链上交易,所述第二链上交易中包括所述第一操作的操作结果;将所述第二链上交易广播至所述区块链系统中的其它区块链节点,以及从所述区块链系统的其它区块链节点接收其对应生成的第二链上交易;根据所述第二链上交易执行所述第三代码段,以实现:在所述智能合约的合约状态中与所述第一链上交易关联地记录所述第二链上交易中所包括的操作结果,在已记录的与所述第一链上交易关联的操作结果的数量达到第一预设数量,已记录的与所述第一链上交易关联的操作结果中存在至少第二预设数量个相同的目标操作结果,并且所述目标操作结果与所述区块链系统在当前时刻的世界状态相一致的情况下,根据所述目标操作结果执行第二操作,并存储所述第二操作的操作结果。2.根据权利要求1所述的方法,所述第一链上交易用于指示多个期望查询的key;其中,所述根据所述第二链上交易执行所述第三代码段,还实现:在所述目标操作结果与所述区块链系统在当前时刻的世界状态相一致的情况下,向所述业务请求方返回所述目标操作结果中所包括的所述多个期望查询的key的值,所述第一链上交易来自所述业务请求方。3.根据权利要求1所述的方法,所述根据所述第二链上交易执行所述第三代码段,还实现:在所述智能合约的合约状态中与所述第一链上交易关联地记录所述第二链上交易中所包括的操作结果的哈希值,根据已记录的与所述第一链上交易关联的哈希值,确定已记录的与所述第一链上交易关联的操作结果中是否存在至少第二预设数量个相同的目标操作结果。4.根据权利要求1所述的方法,所述第一操作包括,从所述区块链系统的世界状态中查询多个被查询的key的值,和/或,基于区块链系统的世界状态中存储的多个被查询的key的值执行所述第二代码段中定义的计算逻辑。5.根据权利要求1
‑
4中任一项所述的方法,所述第一操作的操作结果中包括多个被查询的key的值;其中,所述根据所述第二链上交易执行所述第三代码段,还实现:确定所述区块链系统中区块高度不小于k的若干目标区块分别对应的状态更新信息,所述状态更新信息用于更新所述区块链系统的世界状态,所述状态更新信息中包括若干被更新的key的值,k表征所述第一上链交易所属区块的区块高度;根据所述被更新的key的值,确定所述目标操作结果所包括的所述多个被查询的key的值与所述区块链系统在当前时刻的世界状态是否一致。6.根据权利要求5所述的方法,所述多个被查询的key中包括若干待更新的key;其中,所述根据所述目标操作结果执行所述第二操作,并存储所述第二操作的操作结
果,具体包括:根据所述目标操作结果所包括的所述多个待更新的key的值确定其各自对应的更新值,并根据所述多个待更新的key各自对应的更新值更新所述区块链系统的世界状态。7.根据权利要求6所述的方法,所述第一代码段和所述链下交易中指示所述若干待更新的key;或者,所述第二代码段中指示所述若干待更新的key。8.根据权利要求5所述的方法,所述第一链上交易用于指示多个期望查询的key;所述多个被查询的key中包括所述多个期望查询的key。9.一种区块链系统中的区块链节点,所述区块链系统中部署有智能合约,所述智能合约包括第一代码段、第二代码段和第三代码段,所述区块链系统包括多个区块链节点,所述区块链节点包括:通信处理单元,配置为接收用于调用所述第一...
【专利技术属性】
技术研发人员:刘晓建,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。