[发明专利]一种基于增量哈希的区块链世界状态校验和恢复方法有效
申请号: | 201910772360.6 | 申请日: | 2019-08-21 |
公开(公告)号: | CN110555770B | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 李伟;邱炜伟;李旺泰;尹可挺;梁秀波 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06Q20/38 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310051 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于增量哈希的区块链世界状态校验和恢复方法,涉及区块链技术,该方法包括:获取当前区块中用于计算哈希的交易执行结果;计算每个在所述区块合约交易执行过程中修改所涉及到的合约账户的增量哈希;根据所有账户修改情况的哈希摘要进行全局增量哈希计算,作为新的世界状态哈希;世界状态校验以及恢复方法。该方法不需要额外的数据存储,同时又极大压缩了哈希计算的运算量,极大提升了区块链系统性能。 | ||
搜索关键词: | 一种 基于 增量 区块 世界 状态 校验 恢复 方法 | ||
【主权项】:
1.一种基于增量哈希的区块链世界状态校验方法,其特征在于,具体包括以下步骤:/n步骤一:获取当前区块中用于计算哈希的交易执行结果:/n区块链系统的执行模块执行区块中的交易,并生成当前区块提交时对应的世界状态修改集合。所述世界状态修改集合以合约账户为单位,将每个账户涉及到的世界状态修改分别存储。/n步骤二:计算每个在所述区块合约交易执行过程中修改所涉及到的合约账户的增量哈希:/n(2.1)对所述合约账户的合约状态空间的修改记录进行排序;/n(2.2)计算排序后的修改记录的哈希;/n(2.3)计算第一次修改后的所述合约账户增量哈希:利用一个空的哈希值以及对本次合约账户修改执行步骤2.1与步骤2.2所得第一次修改后的所述合约账户的世界状态修改哈希,计算得到第一次修改后的合约账户增量哈希;/n(2.4)计算第二次修改后的所述合约账户增量哈希:利用所述第一次修改后的所述合约账户的世界状态修改哈希以及对本次账户修改执行步骤2.1与步骤2.2所得第二次修改后的所述合约账户的世界状态修改哈希,计算得到第二次修改后的合约账户增量哈希;/n(2.5)对于之后的每一次修改所述合约账户增量哈希,通过步骤2.4的迭代方法,即利用所述合约账户上一次修改后计算得到的世界状态修改哈希以及对本次账户修改执行步骤2.1与步骤2.2所得到的当前合约账户的世界状态修改哈希,计算得到所述合约账户的最新修改的世界状态增量哈希。/n步骤三:根据所有合约账户修改的世界状态增量哈希进行全局增量哈希计算,作为新的世界状态哈希:/n(3.1)将所有在所述区块合约交易执行过程中被修改世界状态的账户进行序列化,得到序列化的账户。/n(3.2)将所述序列化的账户按照账户地址进行排序。/n(3.3)计算排序后的被修改账户的哈希。/n(3.4)计算第一个区块的增量全局世界状态哈希:利用一个空的哈希值以及对所述第一个区块执行步骤3.1-3.3所得到的所述第一个区块交易执行后被修改账户集合的哈希摘要,计算得到所述第一个区块的增量全局世界状态哈希;/n(3.5)计算第二个区块的增量全局世界状态哈希:利用所述第一个区块的增量全局世界状态哈希以及对所述第二个区块执行步骤3.1-3.3所得到的所述第二个区块交易执行后被修改账户集合的哈希,计算得到所述第二个区块的增量全局世界状态哈希;/n(3.6)对于之后的每一个区块,通过步骤3.5的迭代方法,即利用上一个区块交易执行后被修改的合约账户的哈希以及对本区块执行步骤3.1-3.3所得当前区块交易执行后被修改的账户的哈希,计算得到当前区块的增量全局世界状态哈希。/n步骤四:世界状态校验:/n每提交指定数量个区块之后,节点之间会进行最新区块的增量全局世界状态哈希的比对:对于任何一个节点,如满足共识算法要求个数个节点的增量全局世界状态哈希与所述节点的增量全局世界状态哈希一致,所述节点确认所述世界状态校验成功;否则,所述节点即为异常节点,所述世界状态校验失败。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910772360.6/,转载请声明来源钻瓜专利网。