区块链中修改数据的方法、系统、设备及存储介质与流程

文档序号:25992210发布日期:2021-07-23 21:04阅读:来源:国知局

技术特征:

1.一种区块链中修改数据的方法,其特征在于,包括:

监管设备检测到待变更数据时,发起全网投票,根据获得的投票记录,确定出负责修改所述待变更数据的第一节点设备,根据所述投票记录生成分叉标志,发送所述分叉标志、所述待变更数据对应的更正后数据及区块高度给所述第一节点设备;

所述第一节点设备根据所述分叉标志、所述待变更数据对应的更正后数据及区块高度,对所述待变更数据对应的区块链进行回滚执行,生成新区块;将所述新区块存储在所述待变更数据对应的区块链上,形成分叉链;

所述第一节点设备对所述分叉链包括的旧链上区块高度大于所述新区块的区块高度的每个区块进行回滚执行,将回滚执行的每个区块均存储在所述分叉链包括的新链上,直至所述新链的区块高度大于或等于所述旧链的区块高度;

第二节点设备执行所述区块链对应的交易生成区块,从所述分叉链中确定包含所述分叉标志的支链,将生成的区块存储在所述支链上,所述第二节点设备为任一区块链节点设备。

2.根据权利要求1所述的方法,其特征在于,所述监管设备检测到待变更数据时,发起全网投票,根据获得的投票记录,确定出负责修改所述待变更数据的第一节点设备,包括:

监管设备检测到待变更数据时,发送投票请求给每个区块链节点设备,所述投票请求中包括多个候选节点的标识信息;

所述监管设备接收每个区块链节点设备发送的投票结果,统计每个候选节点的得票数,生成投票记录,所述投票记录中包括每个候选节点的标识信息与得票数的对应关系;

所述监管设备从所述投票记录中确定出得票数最多的候选节点,将确定出的候选节点作为负责修改所述待变更数据的第一节点设备。

3.根据权利要求1所述的方法,其特征在于,所述监管设备根据所述投票记录生成分叉标志,发送所述分叉标志、所述待变更数据对应的更正后数据及区块高度给所述第一节点设备,包括:

所述监管设备对所述投票记录进行哈希运算,将得到的哈希值作为分叉标志;

所述监管设备确定所述待变更数据所在区块的区块高度,所述区块高度用于指示所述待变更数据在区块链中的位置;

所述监管设备根据所述第一节点设备的标识信息,将所述分叉标志、所述待变更数据对应的区块高度以及更正后数据发送给所述第一节点设备。

4.根据权利要求1所述的方法,其特征在于,所述第一节点设备根据所述分叉标志、所述待变更数据对应的更正后数据及区块高度,对所述待变更数据对应的区块链进行回滚执行,生成新区块,包括:

所述第一节点设备根据所述待变更数据对应的区块高度,从区块链中定位出所述待变更数据所属的区块;

所述第一节点设备从定位出的所述区块中获取业务数据,将所述业务数据中的所述待变更数据修改为所述更正后数据;

所述第一节点设备依据修改后的业务数据重新执行业务处理,得到处理结果,并重新计算所述定位出的区块对应的哈希值;

所述第一节点设备将修改后的业务数据、处理结果、重新计算的哈希值以及所述分叉标志组装成新区块。

5.根据权利要求1所述的方法,其特征在于,所述第一节点设备对所述分叉链包括的旧链上区块高度大于所述新区块的区块高度的每个区块进行回滚执行,包括:

对于分叉链包括的旧链上区块高度大于所述新区块的区块高度的每个区块,按照区块高度从低到高的顺序,所述第一节点设备依次回滚执行所述每个区块;

所述第一节点设备对所述每个区块的回滚执行仅执行涉及智能合约的交易处理。

6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:

当存在属于同一区块链的多个待变更数据时,所述监管设备确定每个待变更数据所属区块的区块高度,发送所述分叉标志、回滚顺序信息、每个待变更数据对应的更正后数据及对应的区块高度给所述第一节点设备,所述回滚顺序信息用于指示按照每个待变更数据对应的区块高度由低到高的顺序进行回滚执行;

所述第一节点设备根据所述分叉标志、每个待变更数据对应的更正后数据及对应的区块高度,按照所述回滚顺序信息指示的回滚顺序,依次每个待变更数据都进行修改,以使分叉链中新链追上旧链时完成回滚操作。

7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:

所述第一节点设备在回滚执行过程中,每当在所述新链上生成一个新区块,所述第一节点设备就比较该新区块的区块高度与旧链当前最高的区块高度;

若该新区块的区块高度小于旧链上最高的区块高度,则所述第一节点设备继续执行回滚操作;若比较出该新区块的区块高度大于或等于旧链上最高的区块高度,则停止回滚操作,发送回滚完成通知给所述监管设备。

8.一种区块链中修改数据的系统,其特征在于,包括:

监管设备,用于检测到待变更数据时,发起全网投票,根据获得的投票记录,确定出负责修改所述待变更数据的第一节点设备,根据所述投票记录生成分叉标志,发送所述分叉标志、所述待变更数据对应的更正后数据及区块高度给所述第一节点设备;

所述第一节点设备,用于根据所述分叉标志、所述待变更数据对应的更正后数据及区块高度,对所述待变更数据对应的区块链进行回滚执行,生成新区块;将所述新区块存储在所述待变更数据对应的区块链上,形成分叉链;对所述分叉链包括的旧链上区块高度大于所述新区块的区块高度的每个区块进行回滚执行,将回滚执行的每个区块均存储在所述分叉链包括的新链上,直至所述新链的区块高度大于或等于所述旧链的区块高度;

第二节点设备,用于执行所述区块链对应的交易生成区块,从所述分叉链中确定包含所述分叉标志的支链,将生成的区块存储在所述支链上,所述第二节点设备为任一区块链节点设备。

9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述的方法的步骤。

10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述的方法的步骤。


技术总结
本申请提出一种区块链中修改数据的方法、系统、设备及存储介质,该方法包括,监管设备检测到待变更数据时发起全网投票,根据投票记录确定负责修改待变更数据的第一节点设备及生成分叉标志,发送分叉标志、待变更数据对应的更正后数据及区块高度给第一节点设备。第一节点设备对待变更数据对应的区块链回滚执行生成新区块;将新区块存储在待变更数据对应的区块链上形成分叉链;对分叉链中的旧链上区块高度大于新区块的区块高度的每个区块回滚执行,将回滚的每个区块均存储在分叉链的新链上,直至新链追赶上旧链。第二节点设备执行区块链对应的交易生成区块,将生成的区块存储在新链上。本申请能修改录入错误的数据,保证数据修改的公平公正公开。

技术研发人员:薄辰龙;李宁
受保护的技术使用者:深圳壹账通智能科技有限公司
技术研发日:2021.04.21
技术公布日:2021.07.23
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1