[发明专利]块链式账本中全局状态的哈希的生成方法、装置及设备有效
申请号: | 202010538203.1 | 申请日: | 2020-06-12 |
公开(公告)号: | CN111444196B | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 张渊;李亿泽;杨新颖;俞本权;闫文远 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/27;G06Q40/04;H04L9/32 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈冲 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 链式 账本 全局 状态 生成 方法 装置 设备 | ||
公开了块链式账本中全局状态的哈希的生成方法、装置及设备。在更新块链式账本中的全局状态树时,对新写入账本的交易实行批量计算,得到对应于该批次交易的临时默克尔树,然后拼接临时默克尔树和当前的全局状态树,并更新计算所述全局状态树的根哈希。
技术领域
本说明书实施例涉及信息技术领域,尤其涉及块链式账本中全局状态的哈希的生成方法、装置及设备。
背景技术
在块链式账本中,通常都会存在一颗记录全局状态的全局状态树。当前对于全局状态的更新方式中每新产生一个交易就会计算一次全局状态所对应的哈希值。在交易频率较高的场景下,对系统的计算负担太大。
发明内容
本申请实施例的目的是提供一种在块链式账本中计算全局状态的哈希时可以降低系统负载的方案。
为解决上述技术问题,本申请实施例是这样实现的:
块链式账本中全局状态的哈希的生成方法,应用于以块链式账本存储数据记录的中心化的数据库服务端中,包括:
获取已经确定需要写入账本的多个新交易,其中,所述多个新交易的哈希还没有写入全局状态树;
根据所述多个新交易的哈希生成对应所述多个新交易的临时默克尔树;
合并所述临时默克尔树和当前的全局状态树,生成以所述多个新交易的哈希为叶子节点的新的全局状态树;
获取所述新的全局状态树的根哈希,将所述新的全局状态树的根哈希写入所述账本中的数据块的块头中。
对应的,本说明书实施例还提供块链式账本中全局状态的哈希的生成装置,应用于以块链式账本存储数据记录的中心化的数据库服务端中,包括:
获取模块,获取已经确定需要写入账本的多个新交易,其中,所述多个新交易的哈希还没有写入全局状态树;
生成模块,根据所述多个新交易的哈希生成对应所述多个新交易的临时默克尔树;
合并模块,合并所述临时默克尔树和当前的全局状态树,生成以所述多个新交易的哈希为叶子节点的新的全局状态树;
写入模块,获取所述新的全局状态树的根哈希,将所述新的全局状态树的根哈希写入所述账本中的数据块的块头中。
通过本说明书实施例中所提供的方案,在更新块链式账本中的全局状态树时,对新写入账本的交易实行批量计算,得到对应于该批次交易的临时默克尔树,然后拼接临时默克尔树和当前的全局状态树,并更新计算所述全局状态树的根哈希,从而降低了全局状态的更新频率,降低了系统的计算负载。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本当前技术中更新全局状态树的示意图;
图2是本说明书实施例提供的一种块链式账本中全局状态的哈希的生成方法的流程示意图;
图3为本说明书实施例所提供的一种多线程方式生成临时默克尔树的示意图;
图4为本说明书实施例所提供的一种临时默克尔树和当前的全局状态树进行拼接的示意图;
图5为本说明书实施例所提供的一种块链式账本中生成数据块的流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010538203.1/2.html,转载请声明来源钻瓜专利网。