一种区块链中的MPT树的更新方法、装置和电子设备制造方法及图纸

技术编号:25223800 阅读:33 留言:0更新日期:2020-08-11 23:13
本说明书公开了一种区块链中的MPT树的更新方法、装置和电子设备,所述方法应用于区块链中的共识节点,所述MPT树能够划分为至少一个分组二叉树,所述至少一个分组二叉树中不含具有相同叶子节点的二叉树,且任意一个分组二叉树的叶子节点数量为2的整数次幂,所述方法包括:获取区块链的MPT树中的新增用户数据;将所述新增用户数据与所述MPT树中的叶子节点最少的分组二叉树作为调整二叉树的两个节点,确定所述调整二叉树;以所述调整二叉树替换所述MPT树中的最小分组二叉树,得到更新后的MPT树;基于所述更新后的MPT树,更新所述MPT树中涉及变更的根哈希。

【技术实现步骤摘要】
一种区块链中的MPT树的更新方法、装置和电子设备
本文件涉及计算机
,尤其涉及一种区块链中的MPT树的更新方法、装置和电子设备。
技术介绍
目前,当前区块链中的梅克尔帕特里夏树(MerklePatriciaTree,MPT)中的各节点中有一个flag字段,该字段用于保存各节点中的用户数据通过默克树路径生成的哈希根。当节点中的用户数据发生更新或者插入新的用户数据时,往往需要重新计算并更新几乎整棵默克树的哈希根。显然,这样的数据存储方式在有用户数据需要更新时,其用户数据的更新效率较低。因此,亟需一种区块链中的MPT树的更新方法以提高现有的区块中的数据更新效率。
技术实现思路
本说明书实施例提供了一种区块链中的MPT树的更新方法、装置和电子设备,以解决现有的MPT树中的数据存储方式在有用户数据需要更新时,其用户数据的更新效率较低的问题。为解决上述技术问题,本说明书实施例是这样实现的:第一方面,提出了一种区块链中的MPT树的更新方法,所述方法应用于区块链中的共识节点,所述MPT树能够划分为至少一个分组二本文档来自技高网...

【技术保护点】
1.一种区块链中的MPT树的更新方法,所述方法应用于区块链中的共识节点,所述MPT树能够划分为至少一个分组二叉树,所述至少一个分组二叉树中不含具有相同叶子节点的二叉树,且任意一个分组二叉树的叶子节点数量为2的整数次幂,所述方法包括:/n获取区块链的MPT树中的新增用户数据;/n将所述新增用户数据与所述MPT树中的叶子节点最少的分组二叉树作为调整二叉树的两个节点,确定所述调整二叉树;/n以所述调整二叉树替换所述MPT树中的最小分组二叉树,得到更新后的MPT树;/n基于所述更新后的MPT树,更新所述MPT树中涉及变更的根哈希。/n

【技术特征摘要】
1.一种区块链中的MPT树的更新方法,所述方法应用于区块链中的共识节点,所述MPT树能够划分为至少一个分组二叉树,所述至少一个分组二叉树中不含具有相同叶子节点的二叉树,且任意一个分组二叉树的叶子节点数量为2的整数次幂,所述方法包括:
获取区块链的MPT树中的新增用户数据;
将所述新增用户数据与所述MPT树中的叶子节点最少的分组二叉树作为调整二叉树的两个节点,确定所述调整二叉树;
以所述调整二叉树替换所述MPT树中的最小分组二叉树,得到更新后的MPT树;
基于所述更新后的MPT树,更新所述MPT树中涉及变更的根哈希。


2.如权利要求1所述的方法,所述至少一个分组二叉树中叶子节点最多的分组二叉树的叶子节点数量为所述MPT树的叶子数量以2为底数取对数值后向下取整。


3.如权利要求2所述的方法,基于所述更新后的MPT树,更新所述MPT树中涉及变更的根哈希,包括:
从所述更新后的MPT树中,获取所述新增用户数据的哈希值;
若所述MPT树中的叶子节点最少的分组二叉树中的叶子节点的数量为偶数,则基于所述新增用户数据的哈希值、和所述MPT树中的叶子节点最少的分组二叉树对应的根哈希,更新所述MPT树中涉及变更的根哈希。


4.如权利要求3所述的方法,基于所述新增用户数据的哈希值、和所述MPT树中的叶子节点最少的分组二叉树对应的根哈希,更新MPT树中涉及变更的根哈希,包括:
基于所述新增用户数据的哈希值、和所述MPT树中的叶子节点最少的分组二叉树对应的根哈希,得到所述调整二叉树的根哈希;
基于所述新增用户数据的哈希值、所述MPT树中的叶子节点最少的分组二叉树对应的根哈希、以及所述调整二叉树的根哈希,更新MPT树中涉及变更的根哈希。


5.如权利要求2所述的方法,基于所述更新后的MPT树,更新所述MPT树中涉及变更的根哈希,包括:
从所述更新后的MPT树中,获取所述新增用户数据的哈希值;
若所述MPT树中的叶子节点最少的分组二叉树中的叶子节点的数量为1,则基于所述新增用户数据的哈希值、和所述MPT树中的叶子节点最少的分组二叉树中的叶子节点的哈希值,更新所述MPT树中涉及变更的根哈希。


6.如权利要求5所述的方法,基于所述新增用户数据的哈希值、和所述MPT树中的叶子节点最少的分组二叉树中的叶子节点的哈希值,更新MPT树中涉及变更的根哈希,包括:
基于所述新增用户数据的哈希值、和所述MPT树中的叶子节点最少的分组二叉树中的叶子节点的哈希值,得到所述调整二叉树的根哈希;
基于所述新增用户数据的哈希值、所述MPT树中的叶子节点最少的分组二叉树中的叶子节点的哈希值、以及所述调整二叉树的根哈希,更新MPT树中涉及变更的根哈希。


7.如权利要求1所述的方法,在基于所述更新后的...

【专利技术属性】
技术研发人员:孙赫
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1