区块链编辑的方法和区块链节点技术

技术编号:35090924 阅读:18 留言:0更新日期:2022-10-01 16:48
本申请提供了一种区块链编辑的方法和区块链节点,能够实现对区块链的删除或修改进行追溯和证明,提高了区块链的安全性,该方法包括:接收对区块链中的第一区块进行修改或删除的请求消息;响应于所述请求,利用预设的哈希函数对所述第一区块进行处理;将第一信息对应的哈希值保存至第二区块中,所述第二区块为所述区块链中增加的区块,其中,所述第一信息用于指示所述第一区块被修改过或删除过。于指示所述第一区块被修改过或删除过。于指示所述第一区块被修改过或删除过。

【技术实现步骤摘要】
区块链编辑的方法和区块链节点


[0001]本申请涉及区块链领域,并且更具体地,涉及一种区块链编辑的方法和区块链节点。

技术介绍

[0002]区块链是一种防篡改的、公开透明的去中心化账本,用于记录公有或私有对等网络中的交易。数据以区块(block)为单位产生和存储,并按照时间顺序连成链式(chain)数据结构。利用区块记录发生的交易,并在区块与区块之间通过哈希算法链接起来,永久记录网络中的对等节点之间发生的资产交易的历史记录。
[0003]区块链具有天然不可修改的特点,但是,很多现实场景下需要对区块链中的区块进行修改。例如,区块链上存在有害或潜在的非法的文件、图像和链接时,有必要对非法数据做出更改;从隐私保护的角度,GDPR规定了数据主体享有“数据被遗忘权”和“数据可携带权”等权利,数据主体有权让数据控制主体擦除其个人数据,停止数据的进一步传播。
[0004]现有技术中,使用变色龙哈希(chameleon hash)函数实现对区块的重写,但是,该方法存在删除或修改前的区块无法追溯和曾经存在过的数据无法证明等缺点。

技术实现思路

[0005]本申请提供了一种无线通信的方法和装置,能够实现对区块链的删除或修改进行追溯和证明,提高了区块链的安全性。
[0006]第一方面,提供一种区块链编辑的方法,包括:接收第一消息,所述第一消息用于请求修改或删除区块链中的第一区块;响应于所述第一消息,利用预设的哈希函数对所述第一区块进行处理;将第一信息对应的哈希值保存至第二区块中,所述第二区块为所述区块链中增加的区块,其中,所述第一信息用于指示所述第一区块被修改过或删除过。
[0007]可选的,也可以是基于时间戳或某一事件或某一条件的触发,利用预设的哈希函数对所述第一区块进行处理。
[0008]结合第一方面,在第一方面的某些实现方式中,所述第一信息包括布隆过滤器的标识信息,所述布隆过滤器用于保存修改或删除前的所述第一区块中的数据信息。
[0009]布隆过滤器用于保存修改前的区块中的数据或删除前的区块中的数据,能够实现对区块链的每一个编辑历史的追溯,也可以防止区块链节点的越权处理,例如,区块链节点不去修改或者过度修改。
[0010]结合第一方面,在第一方面的某些实现方式中,所述第一信息包括所述第一区块的编辑列表信息。区块的编辑列表信息能够对数据的历史性存在进行证明。
[0011]结合第一方面,在第一方面的某些实现方式中,所述第一消息中包括请求修改的数据信息,所述预设的哈希函数为变色龙哈希函数;所述利用预设的哈希函数对所述第一区块进行处理,包括:根据所述请求修改的数据信息确定第一树根值,所述第一树根值为所述第一区块中修改后的数据的哈希值;根据所述变色龙哈希函数的密钥和所述第一树根值
确定所述第一区块的第一随机数;利用所述第一树根值和所述第一随机数对所述第一区块进行更新。
[0012]结合第一方面,在第一方面的某些实现方式中,所述方法还包括:向至少一个第三节点发送第二消息,所述第二消息中包括所述第一区块对应的所述第一树根值和所述第一随机数,所述第二消息用于指示所述至少一个第三节点根据所述第一树根值和所述第一随机数更新所述第三节点保存的信息,其中,所述至少一个第三节点为区块链节点。
[0013]结合第一方面,在第一方面的某些实现方式中,所述第一消息用于请求删除区块链中的第一区块,所述预设的哈希函数为变色龙哈希函数;所述利用预设的哈希函数对所述第一区块进行处理,包括:根据所述第一消息确定第二树根值,所述第二树根值为零;根据所述变色龙哈希函数的密钥和所述第二树根值确定所述第一区块的第二随机数;利用所述第二树根值和所述第二随机数对所述第一区块进行更新。
[0014]结合第一方面,在第一方面的某些实现方式中,所述方法还包括:向至少一个第三节点发送第三消息,所述第三消息中包括所述第一区块对应的所述第二树根值和所述第二随机数,所述第三消息用于指示所述至少一个第三节点根据所述第二树根值和所述第二随机数更新所述第三节点保存的信息,其中,所述至少一个第三节点为区块链节点。
[0015]结合第一方面,在第一方面的某些实现方式中,所述接收第一消息,包括:接收来自第二节点的所述第一消息,所述第二节点为所述第一区块中保存的数据的拥有者。
[0016]结合第一方面,在第一方面的某些实现方式中,所述第一节点接收第一消息,包括:接收来自第三节点的所述第一消息,所述第三节点为所述区块链节点。
[0017]结合第一方面,在第一方面的某些实现方式中,所述利用预设的哈希函数对所述第一区块进行处理之前,所述方法还包括:验证所述第一消息的合法性;所述利用预设的哈希函数对所述第一区块进行处理,包括:当所述第一消息被验证通过时,利用所述预设的哈希函数对所述第一区块进行处理。
[0018]结合第一方面,在第一方面的某些实现方式中,所述第一区块的编辑列表信息包括以下至少一项:修改的区块的高度、交易的标识、本次修改或删除的时间戳、编辑的类型和编辑记录所在的区块。
[0019]结合第一方面,在第一方面的某些实现方式中,所述第一消息具体用于请求修改或删除所述区块链中的所述第一区块的第一交易对应的数据。
[0020]基于上述技术方案,第一节点(区块链节点)可以根据第一区块中保存的数据的拥有者的请求消息,修改或删除区块链中的第一区块,并将指示第一区块被修改过或删除过的第一信息的哈希值保存至区块链中新增加的区块的头部,第一信息可以为用于保存修改或删除前的第一区块中的数据的布隆过滤器的标识信息和/或第一区块的编辑列表信息,第一信息为不可修改的。因此,该技术方案能够实现对区块链的删除或修改进行追溯和证明,提高了区块链的安全性。
[0021]第二方面,提供了一种区块链节点,包括:收发模块,用于接收第一消息,所述第一消息用于请求修改或删除区块链中的第一区块;处理模块,用于响应于所述第一消息,利用预设的哈希函数对所述第一区块进行处理;所述处理模块还用于,将第一信息对应的哈希值保存至第二区块中,所述第二区块为所述区块链中增加的区块,其中,所述第一信息用于指示所述第一区块被修改过或删除过。
[0022]结合第二方面,在第二面的某些实现方式中,所述第一信息包括布隆过滤器的标识信息,所述布隆过滤器用于保存修改或删除前的所述第一区块中的数据信息。
[0023]结合第二方面,在第二面的某些实现方式中,所述第一信息包括所述第一区块的编辑列表信息。
[0024]结合第二方面,在第二面的某些实现方式中,所述第一消息中包括请求修改的数据信息,所述预设的哈希函数为变色龙哈希函数;所述处理模块具体用于:根据所述请求修改的数据信息确定第一树根值,所述第一树根值为所述第一区块中修改后的数据的哈希值;根据所述变色龙哈希函数的密钥和所述第一树根值确定所述第一区块的第一随机数;利用所述第一树根值和所述第一随机数对所述第一区块进行更新。
[0025]结合第二方面,在第二面的某些实现方式中,所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链编辑的方法,其特征在于,包括:接收第一消息,所述第一消息用于请求修改或删除区块链中的第一区块;响应于所述第一消息,利用预设的哈希函数对所述第一区块进行处理;将第一信息对应的哈希值保存至第二区块中,所述第二区块为所述区块链中增加的区块,其中,所述第一信息用于指示所述第一区块被修改过或删除过。2.根据权利要求1所述的方法,其特征在于,所述第一信息包括布隆过滤器的标识信息,所述布隆过滤器用于保存修改或删除前的所述第一区块中的数据信息。3.根据权利要求1或2所述的方法,其特征在于,所述第一信息包括所述第一区块的编辑列表信息。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一消息中包括请求修改的数据信息,所述预设的哈希函数为变色龙哈希函数;所述利用预设的哈希函数对所述第一区块进行处理,包括:根据所述请求修改的数据信息确定第一树根值,所述第一树根值为所述第一区块中修改后的数据的哈希值;根据所述变色龙哈希函数的密钥和所述第一树根值确定所述第一区块的第一随机数;利用所述第一树根值和所述第一随机数对所述第一区块进行更新。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:向至少一个第三节点发送第二消息,所述第二消息中包括所述第一区块对应的所述第一树根值和所述第一随机数,所述第二消息用于指示所述至少一个第三节点根据所述第一树根值和所述第一随机数更新所述第三节点保存的信息,其中,所述至少一个第三节点为区块链节点。6.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一消息用于请求删除区块链中的第一区块,所述预设的哈希函数为变色龙哈希函数;所述利用预设的哈希函数对所述第一区块进行处理,包括:根据所述第一消息确定第二树根值,所述第二树根值为零;根据所述变色龙哈希函数的密钥和所述第二树根值确定所述第一区块的第二随机数;利用所述第二树根值和所述第二随机数对所述第一区块进行更新。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:向至少一个第三节点发送第三消息,所述第三消息中包括所述第一区块对应的所述第二树根值和所述第二随机数,所述第三消息用于指示所述至少一个第三节点根据所述第二树根值和所述第二随机数更新所述第三节点保存的信息,其中,所述至少一个第三节点为区块链节点。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述接收第一消息,包括:接收来自第二节点的所述第一消息,所述第二节点为所述第一区块中保存的数据的拥有者。9.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一节点接收第一消息,包括:接收来自第三节点的所述第一消息,所述第三节点为所述区块链节点。10.根据权利要求1至9中任一项所述的方法,其特征在于,所述利用预设的哈希函数对
所述第一区块进行处理之前,所述方法还包括:验证所述第一消息的合法性;所述利用预设的哈希函数对所述第一区块进行处理,包括:当所述第一消息被验证通过时,利用所述预设的哈希函数对所述第一区块进行处理。11.根据权利要求1至10中任一项所述的方法,其特征在于,所述第一消息具体用于请求修改或删除所述区块链中的所述第一区块的第一交易对应的数据。12.一种区块链节点,其特征在于,包括:收发模块,用于接收第一消息,所述第一消息用于请求修改或删除区块链中的第一区块;处理模块,用于响应于所述第一消息,利用预设的哈...

【专利技术属性】
技术研发人员:王东晖
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1