[发明专利]区块链的高效验证在审
| 申请号: | 201980032234.5 | 申请日: | 2019-05-23 |
| 公开(公告)号: | CN112136291A | 公开(公告)日: | 2020-12-25 |
| 发明(设计)人: | M·塞蒂;D·M·埃耶尔特 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | H04L9/32 | 分类号: | H04L9/32 |
| 代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 于静;杨晓光 |
| 地址: | 美国*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 区块 高效 验证 | ||
1.一种方法,包括:
由区块链节点在存储器中创建验证数据库,所述验证数据库包括与区块链的状态数据库的预定数量的最近的区块相对应的数据;
模拟一个或多个事务中的每一个;
确定能够使用所述验证数据库来验证新区块中的每个事务;
使用所述验证数据库验证所述新区块中的每个事务;以及
将所述新区块提交至所述区块链。
2.根据权利要求1所述的方法,其中创建所述验证数据库包括:
确定包括在所述验证数据库中的所述预定数量的区块;以及
将所述区块链的所述预定数量的最近的区块的状态信息从所述状态数据库迁移到更高性能的存储介质。
3.根据权利要求1所述的方法,其中,模拟所述一个或多个事务中的每一个包括以下内容中的一项:
确定每个模拟的事务的所述区块链的高度,所述区块链的高度对应于在模拟时间的所述区块链中的区块的数量;
设定模拟高度为所述区块链的高度;
针对每个模拟的事务拦截对所述状态数据库的一个或多个查询;
响应于所述一个或多个查询,获得一个或多个数据版本;以及
选择所述一个或多个数据版本中的最大数据版本作为所述模拟高度。
4.根据权利要求3所述的方法,其中所述验证数据库包括最小高度,其中所述最小高度是具有所述验证数据库中的可用的数据的最旧的区块的高度,其中确定能够使用所述验证数据库来验证所述新区块中的每个事务包括:
验证每个事务的模拟高度大于或等于所述最小高度。
5.根据权利要求3所述的方法,其中将所述新区块提交到所述区块链包括:
将所述新区块中的有效事务的写入应用于所述验证数据库和所述状态数据库;
删除与所述验证数据库的最旧的区块相对应的数据;以及
调整所述最小高度以反映与所述验证数据库中维护的数据相对应的区块。
6.根据权利要求5所述的方法,还包括:
针对通过对所述验证数据库执行验证而正被验证的事务,识别所述状态数据库中的假想项;以及
响应于识别出所述事务的一个或多个假想项,将所述事务记录为无效。
7.根据权利要求5所述的方法,其中验证所述新区块中的每个事务包括:
在事务模拟阶段期间记录状态数据库快照的标识;以及
检测在所述事务模拟阶段和稍后的事务验证阶段之间所述状态数据库中是否存在差异。
8.一种系统,包括:
区块链网络,所述区块链网络包括:
验证区块链事务的一个或多个区块链节点,每个区块链节点包括:
处理器;以及
存储器设备,其耦合到所述处理器,所述存储器设备包括:
验证数据库,所述验证数据库包括:
对应于区块链的预定数量的最近的区块的数据;
所述处理器被配置为:
模拟一个或多个事务中的每一个;
确定能够使用所述验证数据库来验证新区块中的每个事务;
使用所述验证数据库验证所述新区块中的每个事务;以及
将所述新区块提交到所述区块链。
9.根据权利要求8所述的系统,其中所述验证数据库包括比状态数据库更高性能的存储介质,其中所述状态数据库存储与所述区块链中的所有区块相对应的数据。
10.根据权利要求9所述的系统,其中,由所述处理器模拟所述一个或多个事务中的每一个包括所述处理器被配置为执行以下操作中的一个:
确定每个模拟的事务的所述区块链的高度,其中,所述区块链的高度对应于在模拟时间的所述区块链中的区块的数量;
将模拟高度设置为所述区块链的高度;
针对每个模拟事务拦截对所述状态数据库的一个或多个查询;
响应于所述一个或多个查询,获得一个或多个数据版本;以及
选择所述一个或多个数据版本中的最大数据版本作为所述模拟高度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980032234.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:包含金属离子的口腔护理组合物
- 下一篇:无线通信装置和方法





