一种构建基于默克尔字典树的世界状态的方法和计算机设备与流程
- 国知局
- 2024-11-18 18:15:36
本说明书实施例属于区块链,尤其涉及一种构建基于默克尔字典树的世界状态的方法和计算机设备。
背景技术:
1、区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
技术实现思路
1、本发明的目的在于提供一种构建基于默克尔字典树的世界状态的方法和计算机设备,包括:
2、一种构建基于默克尔字典树的世界状态的方法,应用于区块链节点的存储模块,所述存储模块在内存中构建有树结构的世界状态,所述方法包括:
3、接收状态key-value;
4、根据所述默克尔字典树的字典序规则,生成所述树结构的叶子节点,将所述状态value存储在持久化存储介质的数据文件中,所述叶子节点中包括所述状态value在持久化存储介质中数据文件内的位置索引;
5、根据叶子节点中的内容计算叶子节点的hash值,并将叶子节点的hash值存储在其上层的树节点中。
6、一种计算机设备,包括:
7、处理器;
8、以及存储器,其中存储有程序,其中在所述处理器执行所述程序时,执行上述方法的操作。
9、上述实施例中,采用本申请的上述方案,提供了一体化的merkle状态数据实现,不再分为上层merkle树、底层为通用kvdb两级结构,而是整体为一个merkledb,db内索引与数据分离。将merkle树作为索引,合约状态数据作为数据,缩短状态数据的读写流程,减少整体的写放大与读放大。
技术特征:1.一种构建基于默克尔字典树的世界状态的方法,应用于区块链节点的存储模块,所述存储模块在内存中构建有树结构的世界状态,所述方法包括:
2.如权利要求1所述的方法,状态数据写入时修改对应树节点,修改的树节点达到一定阀值时,将这些节点内容写入索引文件。
3.如权利要求1所述的方法,状态数据写入时修改对应树节点,根据设定的时间阈值周期性的对修改的若干树节点写入索引文件。
4.如权利要求2所述的方法,数据文件与索引文件逻辑上分开管理,物理上存储在不同的文件。
5.如权利要求1所述的方法,所述叶子节点中还包括状态value内容的hash值;
6.如权利要求1-5中任一项所述的方法,还包括对所述叶子节点所引起的中间节点hash值变化更新至该中间节点上层的树节点中。
7.如权利要求1-5中任一项所述的方法,所述叶子节点中还包括状态value内容的hash值和key-end字段,
8.如权利要求1-5中任一项所述的方法,所述叶子节点中还包括状态value内容的hash值和key-full字段,
9.如权利要求1-5中任一项所述的方法,所述中间节点除了包含槽位,还包含压缩的共同前缀/中缀。
10.一种计算机设备,包括:
技术总结一种构建基于默克尔字典树的世界状态的方法,应用于区块链节点的存储模块,所述存储模块在内存中构建有树结构的世界状态,所述方法包括:接收状态key‑value;根据所述默克尔字典树的字典序规则,生成所述树结构的叶子节点,将所述状态value存储在持久化存储介质的数据文件中,所述叶子节点中包括所述状态value在持久化存储介质中数据文件内的位置索引;根据叶子节点中的内容计算叶子节点的hash值,并将叶子节点的hash值存储在其上层的树节点中。技术研发人员:田世坤,陆钟豪,卓海振,张程受保护的技术使用者:蚂蚁区块链科技(上海)有限公司技术研发日:技术公布日:2024/11/14本文地址:https://www.jishuxx.com/zhuanli/20241118/327847.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表