[发明专利]一种更新状态默克树的方法及装置有效
| 申请号: | 201910816557.5 | 申请日: | 2019-08-30 |
| 公开(公告)号: | CN110688377B | 公开(公告)日: | 2020-07-17 |
| 发明(设计)人: | 陆钟豪 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06Q20/38 |
| 代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁;周良玉 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 更新 状态 默克树 方法 装置 | ||
本说明书实施例提供一种更新状态默克树的方法和装置,其中状态默克树用于存储区块链网络中账户的状态。方法包括以下步骤:首先,确定状态默克树中由账户的状态变化导致需要更新的待更新节点;然后,根据待更新节点,从状态默克树中提取出第一子树和M个第二子树,第一子树包含状态默克树的根节点,每个第二子树的根节点为待更新节点,且为第一子树中最底层节点的子节点。然后,将M个第二子树分配给N个工作线程,使得N个工作线程至少部分并行地处理M个第二子树,得到更新后的各个第二子树;于是,至少基于更新后的各个第二子树的根节点的哈希值,更新第一子树,从而得到更新后的状态默克树。
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及更新区块链中用于记录账户状态的状态默克树的方法及装置。
背景技术
在新一代区块链中,例如在以太坊中,新增了账户的概念,相应地,用户可以通过区块链平台创建账户。在这样的场景中,区块链平台作用为区块链网络中的节点,用户创建的账户为以太坊中的外部账户。此外,诸如以太坊的许多区块链平台支持智能合约,来执行更为丰富的交易。智能合约可以由用户创建,在创建之后也具有对应的合约账户。如此,区块链网络中的账户可以包括外部账户和合约账户。
在区块链网络的各个节点中,在节点本地的数据库中以状态默克树(Merkletree)的形式维持区块链中全部账户(包括外部账户和合约账户)的状态数据。随着区块链中交易的执行,账户状态会发生变化,这就需要更新状态默克树。由于区块链网络中账户众多,交易执行频繁,因此,常常需要频繁地对状态默克树进行更新。
因此,需要一种有效的方案,能够更加高效地对记录账户状态的状态默克树进行更新,以提升区块链网络的整体性能。
发明内容
本说明书一个或多个实施例描述了一种更新状态默克树的方法及装置,通过并行处理的方式,提高状态默克树的更新效率,提升区块链网络的整体性能。
根据第一方面,提供了一种更新状态默克树的方法,所述状态默克树用于存储区块链网络中账户的状态,所述方法通过区块链网络中任意节点执行,包括:
确定所述状态默克树中由所述账户的状态变化导致需要更新的待更新节点;
根据所述待更新节点,从所述状态默克树中提取出一个第一子树和M个第二子树,所述第一子树包含所述状态默克树的根节点,所述M个第二子树两两之间没有交集,每个所述第二子树的根节点为待更新节点,且为所述第一子树中最底层节点的子节点;其中M为大于1的整数;
将所述M个第二子树分配给N个工作线程,使得所述N个工作线程至少部分并行地处理所述M个第二子树,得到更新后的各个第二子树;其中N为大于1的整数;
至少基于所述更新后的各个第二子树的根节点的哈希值,更新所述第一子树,从而得到更新后的状态默克树。
根据一种实施方式,在确定状态默克树中由所述账户的状态变化导致需要更新的待更新节点之前,上述方法还包括,执行交易集合中的各条交易,确定所述各条交易涉及的账户的状态变化。
进一步的,在一个实施例中,上述交易集合可以为从本地交易池中选定的多条交易构成的集合;在这样的情况下,在得到更新后的状态默克树之后,可以将所述交易集合打包到待生成的第一区块中,并将所述更新后的状态默克树的根节点的哈希值记录到所述第一区块中。
在另一实施例中,上述交易集合可以为待验证区块中包含的交易构成的集合;在这样的情况下,在得到更新后的状态默克树之后,可以将所述更新后的状态默克树的根节点的哈希值与所述待验证区块中记录的状态根的值进行比较,以验证所述待验证区块。
根据一种实施方式,通过以下方式确定所述状态默克树中的待更新节点:在所述状态默克树中,从状态发生变化的各个账户所对应的各个叶节点向根节点回溯,将回溯路径上经过的所有节点确定为所述待更新节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910816557.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种温度数据清洗方法、系统及设备
- 下一篇:数据库存储过程的迁移方法及系统





