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