智能合约处理方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:38133040 阅读:22 留言:0更新日期:2023-07-08 09:42
本申请公开了一种智能合约处理方法、装置、设备及计算机可读存储介质。其中,该方法包括:接收预执行节点发送的目标交易信息和第一MPT读取记录,第一MPT读取记录为预执行节点基于目标交易信息读取第一MPT分支中多个第一MPT节点对应的键名的记录,第一MPT分支为与目标交易信息对应的MPT分支;基于目标交易信息,确定目标智能合约;从与目标智能合约对应的MPT中,确定与目标交易信息对应的第二MPT分支,第二MPT分支包括多个具有父子关系的第二MPT节点;在第一MPT分支与第二MPT分支相同的情况下,根据多个第一MPT节点对应的键名并行读取多个第二MPT节点对应的数据。根据本申请实施例,能够提高智能合约的执行速度,进而提升区块链的整体性能。升区块链的整体性能。升区块链的整体性能。

【技术实现步骤摘要】
智能合约处理方法、装置、设备及计算机可读存储介质


[0001]本申请属于区块链
,尤其涉及一种智能合约处理方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]通常,智能合约会控制一个存储区,存储区中保存了与该智能合约相关联的数据。目前,应用最广泛的存储区的数据结构基于默克尔帕特里夏树(Merkle Patricia Trie,MPT)。MPT提了诸多特性,包括易于检测数据变更、快速校验数据正确性、减轻存储开销等,使其在区块链中具有举足轻重的作用。
[0003]现有技术中,智能合约在运行过程中会从自身的存储区读取数据。由于智能合约的执行是串行的,因此,其对存储区的读取也是串行的。当存储区的数据结构采用MPT时,每次读取数据都需要从MPT的根节点开始,逐层读取树节点,直至找到对应的数据或者确定该数据不包含在MPT树中,这一过程也是串行的。
[0004]如此,智能合约每次运行都会串行地读取多次数据,每次读取数据都会串行地读取多个MPT节点,从而产生大量串行的硬盘读取操作。由于硬盘的读取速度大幅低于中央处理器、内存等硬件本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种智能合约处理方法,应用于共识节点,其特征在于,包括:接收预执行节点发送的目标交易信息和第一默克尔帕特里夏树MPT读取记录,所述第一MPT读取记录为所述预执行节点基于所述目标交易信息读取第一MPT分支中多个第一MPT节点对应的键名的记录,其中,所述第一MPT分支为与所述目标交易信息对应的MPT分支;基于所述目标交易信息,确定目标智能合约;从与所述目标智能合约对应的MPT中,确定与所述目标交易信息对应的第二MPT分支,所述第二MPT分支包括多个具有父子关系的第二MPT节点;在所述第一MPT分支与所述第二MPT分支相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个所述第二MPT节点对应的数据。2.根据权利要求1所述的方法,其特征在于,所述第一MPT节点包括第一MPT根节点,所述第二MPT节点包括第二MPT根节点;所述在所述第一MPT分支与所述第二MPT分支相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个所述第二MPT节点对应的数据,包括:获取所述第一MPT分支中的第一MPT根节点和所述第二MPT分支中的第二MPT根节点;确定所述第一MPT根节点与所述第二MPT根节点是否相同;在所述第一MPT根节点与所述第二MPT根节点相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个所述第二MPT节点对应的数据。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述第一MPT根节点与所述第二MPT根节点不相同的情况下,读取所述第二MPT根节点对应的数据;获取所述第一MPT根节点的第一MPT子节点和所述第二MPT根节点的第二MPT子节点;确定所述第一MPT子节点与所述第二MPT子节点是否相同;在所述第一MPT子节点与所述第二MPT子节点相同的情况下,根据多个所述第一MPT节点对应的键名并行读取多个目标第二MPT节点对应的数据,所述目标第二MPT节点为除所述第二MPT根节点之外的所述第二MPT节点。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述第一MPT子节点与所述第二MPT子节点不相同的情况下,返回执行读取所述第二MPT子节点对应的数据,直至多个所述第二MPT节点对应的数据均读取完成。5.一种智能合约处理方法,应用于预执行节点,其特征在于,包括:在接收到目标交易信息的情况下,基于所述目标交易信息,确定目标智能合约;从与所述目标智能合约对应的默克尔帕特里夏树MPT中,确定与所述目标交易信息对应的第一MPT分支,所述第一MPT分支包括多个具有父子关系的第一MPT节点,所述第一MPT节点包括第一MPT根节点;基于所述父子关系,以所述第一MPT根节点为起点,根据目标读取方向依次读取多个所述第一MPT节点对应的键名,所述目标读取方向包括由MPT父节点至MPT子节点的读取...

【专利技术属性】
技术研发人员:王加楠蔡伟鑫张一锋
申请(专利权)人:中国印钞造币集团有限公司
类型:发明
国别省市:

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

1