一种基于区块链系统的交易数据移除方法技术方案

技术编号:32568554 阅读:9 留言:0更新日期:2022-03-09 16:54
本发明专利技术提供一种基于区块链系统的交易数据移除方法,包括:区块链系统发起“启动数据移除作业”,由发起“启动数据移除作业”时的领导节点发送所有的区块链节点参与共识的信息;执行第一次共识机制,每个参与的区块链节点停止接收新交易,只处理正在进行的交易,并发送同意参与“启动数据移除作业”的信息;领导节点完成正在进行的交易后,向所有区块链节点发送参与同意执行“更改数据计划”的共识请求;执行第二次共识机制,每个参与的区块链节点回复同意“更改数据计划”;当每个区块链节点收到其他区块链节点的共识信息后移除相关的数据;执行第三次共识机制,其他区块链节点完成“更改数据计划”,回复同意“完成数据移除”共识。共识。共识。

【技术实现步骤摘要】
一种基于区块链系统的交易数据移除方法


[0001]本专利技术属于区块链
,具体特别涉及一种基于区块链系统的交易数据移除方法。

技术介绍

[0002]区块链是一种分布式账本系统,由多个节点共同维护,其特点是不易篡改、很难伪造、可追溯。区块链记录发生交易的所有信息,一旦数据进入了区块链,即使是内部工作人员在区块链中也无法做任何更改。这种不可更改的特点不是来自使用某种操作,而是由于区块链系统和机制本身。这使得运用区块链技术较之其他安全技术而言更为简便和有效。凡是需要公正、公平、诚实的地方,都可以使用区块链技术。
[0003]但是欧盟提出一般数据保护法(General Data Protection Regulation, GDPR)却规定客户可以要求将他们不好的记录从数据库移除。在传统数据库上,这是很容易做的,但是在传统区块链定义下,这是不可能的任务。因为这会更改区块链定义。但是GDPR已经实施,以后区块链系统必须符合GDPR的规定。因此需要系统做到:(1)在一般情形下,数据存在区块链系统内,是不能更改的;(2)但是,在客户引用法律规则例如GDPR规则下,要求区块链系统更改数据,数据在区块链系统上是可以更改。数据移除后,原来区块链的上的数据结构不同,需要有补偿机制,使原来的没有改变的区块链可以仍然正常操作,好像区块链系统没有被更改过,只是被移除的数据从区块链系统消失了;(3)数据被移除,同时移除事件会被记录;以后如果查询被移除的数据,会查到“被移除”的事件记录,数据已经被移除了。
[0004]这样,区块链系统仍然保有“不能篡改性”,任何人企图更改数据,会被记录和发现。而依据法律移除的数据会在区块链系统上消失,但是会留下“被移除”的记录在区块链系统上。
[0005]一般来说,数据需要从区块链系统移除的原因是多半是因为从事违法交易或是参与不光彩的场景。由于区块链交易可以回滚,而交易回滚后,数据还是留存在区块链系统上,所以需要回滚交易不是要求移除数据的合理原因。这也表示,数据移除不代表相关交易可以回滚。数据移除和回滚是两个独立的机制,彼此没有关系。交易回滚情况下,相关数据还是存在;而数据移除情况下,相关的交易已经结算多时,数据不能回滚。需要移除的数据大部分是有一些时间的历史,例如几个月到几年后,客户才能要求将他们的数据移除,这也说明需要移除的数据是早已经在区块链系统上存储的,交易早已经经过结算,数据的移除不会影响到市场情况,因此是合法的。而移除数据代表区块链数据结构改变,因此在移除数据时不适合还进行交易,必须停止一切交易,等到数据移除后,才继续交易。

技术实现思路

[0006]后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。
附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。本专利技术的目标及特征考虑到如下结合附图的描述将更加明显,附图中:
附图说明
图1为根据本专利技术优选实施例的方法流程图;图2为根据本专利技术优选实施例的第一次共识流程图;图3为根据本专利技术优选实施例的第二次共识流程图;图4为根据本专利技术优选实施例的第三次共识流程图;图5为根据本专利技术优选实施例的双链更改流程图;图6为根据本专利技术优选实施例的双链更改后的结果示意图;图7为根据本专利技术优选实施例的双链不共享更改结果,两个替代区块互相引用的示意图;图8为根据本专利技术优选实施例的单链更改流程图;图9为根据本专利技术优选实施例的单链更改后的区块链架构示意图;图10为根据本专利技术优选实施例的Merkle树更改流程图。
具体实施方式
[0007]为了使得本专利技术能够针对其专利技术要点更加明显易懂,下面将结合附图和实例对本专利技术作进一步的说明。在下面的描述中阐述了很多细节和具体实例,提供这些实例是为了能够更透彻地理解本专利技术,并且能够将本专利技术完整形象地传达给本领域的技术人员。虽然本专利技术能够以很多不同于此描述的其它方式实施,但是本领域技术人员可以在不违背本专利技术内涵的情况下做相应的推广,因此本专利技术不受下面公开的具体实例及具体附图所限制。
[0008]在下面的描述中阐述了很多细节和具体实例,提供这些实例是为了能够更透彻地理解本专利技术,并且能够将本专利技术完整形象地传达给本领域的技术人员。虽然本专利技术能够以很多不同于此描述的其它方式实施,但是本领域技术人员可以在不违背本专利技术内涵的情况下做相应的推广,因此本专利技术不受下面公开的具体实例及具体附图所限制。
[0009]本实施例如图1

4所示提供一种基于区块链系统的交易数据移除方法,包括:步骤1,区块链系统发起“启动数据移除作业”,包括由发起“启动数据移除作业”时的领导节点发送所有的区块链节点参与共识的信息,所述领导节点由运行的区块链系统动态确定,所述动态确定包括随机选择所述领导节点;步骤2,执行第一次共识机制,包括每个参与的所述区块链节点收到“启动数据移除作业”的信息后,停止接收新交易,只处理正在进行的交易,并向所述领导节点发送同意参与“启动数据移除作业”的信息;步骤3,所述领导节点完成正在进行的交易后,开发并且发送“更改数据计划”,向所有区块链节点发送参与同意执行“更改数据计划”的共识请求;步骤4,执行第二次共识机制,包括每个参与的区块链节点收到“更改数据计划”共识请求后,保证自己节点不再执行交易后,回复同意“更改数据计划”;步骤5,当每个区块链节点收到其他区块链节点的共识信息后,根据“更改数据计
划”上的计划移除相关的数据;步骤6,移除相关的数据完成后,所述领导节点向所有所述区块链节点发送“完成数据移除”共识请求;步骤7,执行第三次共识机制,包括其他所述区块链节点收到所述“完成数据移除”共识请求后,如果完成所述“更改数据计划”,回复同意“完成数据移除”共识。
[0010]作为优选的实施方式,执行两次共识机制,而不执行三次共识机制;如果使用两次共识,所述步骤1到所述步骤4在一次共识流程中完成。由于每个节点需要等待现在正在进行的交易结束后才能回复,等待时间不容易控制。
[0011]作为优选的实施方式,所述步骤3的所述“更改数据计划”包括:步骤31,确定需要移除数据所在的区块N,所述区块N的哈希值A以及存在所述区块N的前一个区块的哈希值B;步骤32,重新建立替代区块M,将所述区块N内除了需要被移除的数据外的其他所所有数据都存储到所述替代区块M内,将所述哈希值A和所述哈希值B存储到所述替代区块M内,所述替代区块M具有新的标志,当执行区块链查询时,查询所述替代区块M时会启动与查询所述区块N不同的算法,而不是使用传统算法。所述替代区块M的存在代表有数据被移除。如果一条区块链上没有所述替代区块M,代表该条区块链上的数据没有被更改过。每一次更改都设置一个对应的替代区块。这样所述区块N的前一区块会指向替代区块M,而原来区块N的下一块还是存哈希值A,但是下一区块指向替代区块M。除了被移除的数据外,其他数据都一样保留。
[0012]步骤33,依据协议进行交易数据的移除。
[0013]区块链传统上是不能移除本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链系统的交易数据移除方法,其特征在于包括:步骤1,区块链系统发起“启动数据移除作业”,包括由发起“启动数据移除作业”时的领导节点发送所有的区块链节点参与共识的信息,所述领导节点由运行的区块链系统动态确定,所述动态确定包括随机选择所述领导节点;步骤2,执行第一次共识机制,包括每个参与的所述区块链节点收到“启动数据移除作业”的信息后,停止接收新交易,只处理正在进行的交易,并向所述领导节点发送同意参与“启动数据移除作业”的信息;步骤3,所述领导节点完成正在进行的交易后,开发并且发送“更改数据计划”,向所有区块链节点发送参与同意执行“更改数据计划”的共识请求;步骤4,执行第二次共识机制,包括每个参与的区块链节点收到“更改数据计划”共识请求后,保证自己节点不再执行交易后,回复同意“更改数据计划”;步骤5,当每个区块链节点收到其他区块链节点的共识信息后,根据“更改数据计划”上的计划移除相关的数据;步骤6,移除相关的数据完成后,所述领导节点向所有所述区块链节点发送“完成数据移除”共识请求;步骤7,执行第三次共识机制,包括其他所述区块链节点收到所述“完成数据移除”共识请求后,如果完成所述“更改数据计划”,回复同意“完成数据移除”共识。2.根据权利要求1所述的一种基于区块链系统的交易数据移除方法,其特征在于,执行两次共识机制,而不执行三次共识机制;如果使用两次共识,所述步骤1到所述步骤4在一次共识流程中完成。3.根据权利要求1所述的一种基于区块链系统的交易数据移除方法,其特征在于,所述步骤3的所述“更改数据计划”包括:步骤31,确定需要移除数据所在的区块N,所述区块N的哈希值A以及存在所述区块N的前一个区块的哈希值B;步骤32,重新建立替代区块M,将所述区块N内除了需要被移除的数据外的其他所所有数据都存储到所述替代区块M内,将所述哈希值A和所述哈希值B存储到所述替代区块M内,所述替代区块M具有新的标志,当执行区块链查询时,查询所述替代区块M时会启动与查询所述区块N不同的算法,所述替代区块M的存在代表有数据被移除;如果一条区块链上没有所述替代区块M,代表该条区块链上的数据没有被更改过,每一次更改都设置一个对应的替代区块,所述区块N的前一区块会指向替代区块M,而原来区块N的下一块还是存储哈希值A,但是下一区块指向替代区块M;除了被移除的数据外,其他数据都保留;步骤33,依据协议进行交易数据的移除。4.根据权利要求3所述的一种基于区块链系统的交易数据移除方法,其特征在于,所述步骤33的所述协议为使用“更改链”记录数据移除,包括:步骤331,建立另外一条链,双链更改流程将这数据移除记录在另外一条链上,另外一条链命名为“更改记录链”或“更改链”;步骤332,在所述更改链上记录数据移除事件,所述记录包括:原区块链的身份证;数据移除日期和时间;参与数据移除的人员和机构、数据移除人员的数字签名及机构的数字签
名;区块N和替代区块M的信息及哈希值A和哈希值B;数据移除原因;数据移除的法律依据;加密的客户信息,所述客户信息包括客户姓名,住址,身份证和/或数字签名。5.根据权利要求3所述的一种基于区块链系统的交易数据移除方法,其特征在于,所述替代区块M被所述更改链和原区块链共享,共享的替代区块M包含:1)原来区块的所有信息,减去需要移除的数据;2)哈希值A,B,C,D,其中哈希值...

【专利技术属性】
技术研发人员:蔡维德
申请(专利权)人:天民青岛国际沙盒研究院有限公司
类型:发明
国别省市:

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

1