[发明专利]一种基于区块链的增量MPT树账户状态存储方法及系统有效
申请号: | 202110592799.8 | 申请日: | 2021-05-28 |
公开(公告)号: | CN113254450B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 赵永光;肖宗水;仪莉;闵新平;赵静;于秋波;朱晓洪;张玉波;于飞 | 申请(专利权)人: | 山大地纬软件股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/27;G06F21/64;G06Q20/38 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 张庆骞 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 增量 mpt 账户 状态 存储 方法 系统 | ||
1.一种基于区块链的增量MPT树账户状态存储方法,其特征在于,包括:
获取区块中交易中涉及的账户状态对象并加载到临时状态缓存区pre-state;
监控交易执行过程中pre-state中账户状态对象的变化信息,并将新生成的账户状态对象及有变化的状态对象加载到临时状态缓存区dirty-state;
当区块中所有交易的状态转换过程执行完后,基于dirty-state中的状态对象来构建增量MPT树,并计算增量MPT树的根哈希作为相应区块的根哈希值;
将计算出的根哈希值与其他区块链节点计算出的根哈希值比较,校验状态转换的合法性;
当校验通过后,将增量MPT树存入增量状态库,并将临时状态缓存区dirty-state中的状态对象发生状态变化的交易ID更新到状态转换K-V表,并清空临时状态缓存区;状态转换K-V表以Key-Value方式存储所有账户的状态对象发生变化的最新交易的ID,其中key为账户的AccountID,value为账户状态对象发生变化的最新交易ID。
2.如权利要求1所述的基于区块链的增量MPT树账户状态存储方法,其特征在于,获取区块中交易中涉及的账户状态对象并加载到临时状态缓存区pre-state的过程包括:
从状态转换K-V表获取账户状态发生变化的最新交易ID;
根据最新交易ID获取交易所在的区块号;
根据区块号获取到区块头中的区块状态根根哈希值;
从增量状态库中检索出根哈希值所在的增量MPT树中的账户状态对象并加入pre-state。
3.如权利要求2所述的基于区块链的增量MPT树账户状态存储方法,其特征在于,增量状态库中存储每个区块的增量MPT树。
4.如权利要求1所述的基于区块链的增量MPT树账户状态存储方法,其特征在于,增量MPT树的根作为当前区块的状态根存储在区块头中。
5.如权利要求1所述的基于区块链的增量MPT树账户状态存储方法,其特征在于,将新生成的账户状态对象及有变化的状态对象加载到临时状态缓存区dirty-state的同时,还记录发生变化所属交易的ID。
6.如权利要求1所述的基于区块链的增量MPT树账户状态存储方法,其特征在于,状态对象由账户的状态属性值构建。
7.一种基于区块链的增量MPT树账户状态存储系统,其特征在于,包括:
账户状态对象加载模块,其用于获取区块中交易中涉及的账户状态对象并加载到临时状态缓存区pre-state;
状态对象监控模块,其用于监控交易执行过程中pre-state中账户状态对象的变化信息,并将新生成的账户状态对象及有变化的状态对象加载到临时状态缓存区dirty-state;
根哈希计算模块,其用于当区块中所有交易的状态转换过程执行完后,基于dirty-state中的状态对象来构建增量MPT树,并计算增量MPT树的根哈希作为相应区块的根哈希值;
根哈希值比较模块,其用于将计算出的根哈希值与其他区块链节点计算出的根哈希值比较,校验状态转换的合法性;
状态更新模块,其用于当校验通过后,将增量MPT树存入增量状态库,并将临时状态缓存区dirty-state中的状态对象发生状态变化的交易ID更新到状态转换K-V表,并清空临时状态缓存区;状态转换K-V表以Key-Value方式存储所有账户的状态对象发生变化的最新交易的ID,其中key为账户的AccountID,value为账户状态对象发生变化的最新交易ID。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的基于区块链的增量MPT树账户状态存储方法中的步骤。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的基于区块链的增量MPT树账户状态存储方法中的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山大地纬软件股份有限公司,未经山大地纬软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110592799.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种发电机内冷水系统铜垢化学清洗剂
- 下一篇:一种C型槽连续跟踪切断式生产线