一种基于业务主题的区块链数据删除方法及系统技术方案

技术编号:36097307 阅读:14 留言:0更新日期:2022-12-24 11:16
本申请公开了一种基于业务主题的区块链数据删除方法及系统,涉及区块链技术领域,包括:从每个待处理业务主题对应的所有历史交易数据中提取交易提交者对历史交易中第一不可变数据的签名;根据签名及结尾交易的第一不可变数据生成结尾交易的第二不可变数据,并基于第二不可变数据生成当前区块;删除每个历史交易数据中的可变数据,并根据修改后的历史交易数据更新历史交易所在区块的变色龙随机数;广播当前区块与所有新变色龙随机数给所有区块链成员以便区块链成员验证当前区块并根据对应新的变色龙随机数修改各个历史交易所在区块。本申请删除了同一业务主题下的多个交易的冗余信息,且多个交易汇总为一个聚合签名,缩减了大量区块链空间。减了大量区块链空间。减了大量区块链空间。

【技术实现步骤摘要】
一种基于业务主题的区块链数据删除方法及系统


[0001]本申请涉及区块链
,尤其涉及一种基于业务主题的区块链数据删除方法及系统。

技术介绍

[0002]现实生活中,很多工作按照同一业务主题的方式展开,例如,办公自动化流程中,以用印申请流程为例,发起人提出一个具有某个唯一代号的办公自动化电子流程,后续将进行逐级审批,最后以盖章完成归还印章结束;例如,招投标业务中,招标人先提出一个具有某个唯一代号的招投标电子流程,后续再进行招投标各个环节,最后以招标人与中标人签订合同结束。该类场景均具有以下特征:(1)具备明确的主题;(2)需要经过多个中间环节;(3)具备明确的结束事件。
[0003]而同一业务主题具有多个中间环节时就易生成冗余信息(例如重复信息、中间变量、中间状态、辅助材料、协商过程等),且一个环节对应于一个签名,占用大量区块链空间;同时,当需要一次性验证同一业务主题下的所有环节时,由于签名数量较多,验证签名也需要较大的计算量和较长的计算时间。

技术实现思路

[0004]本申请提供的一种基于业务主题的区块链数据删除方法,旨在解决现有技术中因同一业务主题下存在多个中间环节而产生的冗余信息以及需要逐个验证所有签名时计算量大的问题。
[0005]为实现上述目的,本申请采用以下技术方案:本申请的一种基于业务主题的区块链数据删除方法,包括以下步骤:获取每个待处理业务主题对应的所有历史交易数据,并从每个所述历史交易数据中提取交易提交者对历史交易第一不可变数据的签名;根据每个所述待处理业务主题对应的所有所述签名及其结尾交易的第一不可变数据生成每个结尾交易的第二不可变数据,并基于所有所述第二不可变数据生成当前区块;删除每个历史交易数据中的可变数据,并根据修改后的历史交易数据更新每个所述历史交易所在区块的变色龙随机数;广播所述当前区块与所有更新的变色龙随机数给所有区块链成员以便每个所述区块链成员验证所述当前区块并根据对应更新的变色龙随机数修改各个所述历史交易所在区块。
[0006]作为优选,所述获取每个待处理业务主题对应的所有历史交易数据,并从每个所述历史交易数据中提取交易提交者对历史交易第一不可变数据的签名,包括:根据当前所有交易数据中的业务主题结束标志个数确定待处理业务主题的个数和每个所述待处理业务主题的编码,所述业务主题结束标志用于标记每个业务主题的结尾
交易;根据所述编码搜索每个待处理业务主题对应的所有历史交易,并获取每个历史交易对应的数据;从每个历史交易数据中提取交易提交者对所述历史交易中第一不可变数据的签名。
[0007]作为优选,所述根据每个所述待处理业务主题对应的所有所述签名及其结尾交易的第一不可变数据生成每个结尾交易的第二不可变数据,并基于所有所述第二不可变数据生成当前区块,包括:将每个所述待处理业务主题对应的所有所述签名进行聚合得到若干聚合签名,将每个聚合签名与对应业务主题的结尾交易的第一不可变数据拼接得到每个结尾交易的第二不可变数据;基于所有的第二不可变数据和当前所有非结尾交易的第一不可变数据生成区块体中的第一梅克尔树,并根据获取的变色龙随机数和第一梅克尔树根生成区块头。
[0008]作为优选,所述基于所有的第二不可变数据和当前所有非结尾交易的第一不可变数据生成区块体中的第一梅克尔树,并根据获取的变色龙随机数和第一梅克尔树根生成区块头,包括:将所有结尾交易的第二不可变数据和当前所有非结尾交易的第一不可变数据进行哈希计算,并根据得到的哈希值构建区块体中的第一梅克尔树;获取变色龙随机数和变色龙陷门持有者的公钥,并计算当前所有交易可变数据的哈希值构建的第二梅克尔树的根,根据所述变色龙随机数、变色龙陷门持有者的公钥以及第二梅克尔树根计算变色龙哈希值;基于所述第一梅克尔树根和变色龙哈希值计算区块头随机数,并根据所述第一梅克尔树根和区块头随机数构建区块头。
[0009]作为优选,所述广播所述当前区块与所有更新的变色龙随机数给所有区块链成员以便每个所述区块链成员验证所述当前区块并根据对应更新的变色龙随机数修改各个所述历史交易所在区块,包括:广播所述当前区块与所有更新的变色龙随机数给所有区块链成员以便每个所述区块链成员执行以下步骤:获取组成所述当前区块的所有交易的数据和每个待处理业务主题的所有历史交易数据,并根据所有的数据验证每个结尾交易对应的聚合签名以及交易提交者对每个非结尾交易可变数据和第一不可变数据各自的签名;验证通过,计算所述当前区块的变色龙哈希值,并根据所述变色龙哈希值和所述当前区块的区块头验证区块头随机数;验证成功,则根据对应更新的变色龙随机数修改每个待处理业务主题对应的各个历史交易所在区块。
[0010]作为优选,所述获取组成所述当前区块的所有交易的数据和每个待处理业务主题的所有历史交易数据,并根据所有的数据验证每个结尾交易对应的聚合签名以及交易提交者对每个非结尾交易可变数据和第一不可变数据各自的签名,包括:根据业务主题结束标志判断所述当前区块中各个交易是否为待处理业务主题的
结尾交易;若否,则从对应的交易数据中分别提取交易提交者对所述交易可变数据和第一不可变数据的签名,并利用交易提交者的公钥分别验证每个签名;若是,则提取每个结尾交易对应的聚合签名,并根据对应的待处理业务主题编码搜索所述业务主题对应的所有历史交易的第一不可变数据和交易提交者的公钥,根据对应的第一不可变数据和交易提交者的公钥验证各个聚合签名。
[0011]作为优选,所述根据对应更新的变色龙随机数修改每个待处理业务主题对应的各个历史交易所在区块,包括:确定每个待处理业务主题对应的各个历史交易所在的区块;计算每个所在区块包含的所有交易可变数据生成的第三梅克尔树根和删除所有待处理业务主题对应的历史交易可变数据后剩余交易的可变数据生成的第四梅克尔树根;根据每个第三梅克尔树根及其所在区块的原始变色龙随机数以及变色龙陷门持有者公钥计算所在区块的原始变色龙哈希值,并根据第四梅克尔树根及更新的变色龙随机数以及变色龙陷门持有者公钥计算所在区块的新变色龙哈希值;将每个原始变色龙哈希值与对应的新变色龙哈希值进行比较,若均相等,则维持删除所有待处理业务主题对应的历史交易可变数据的操作,若有不等,则撤回删除操作。
[0012]一种基于业务主题的区块链数据删除系统,包括:提取模块,用于获取每个待处理业务主题对应的所有历史交易数据,并从每个所述历史交易数据中提取交易提交者对历史交易第一不可变数据的签名;生成模块,用于根据每个所述待处理业务主题对应的所有所述签名及其结尾交易的第一不可变数据生成每个结尾交易的第二不可变数据,并基于所有所述第二不可变数据生成当前区块;更新模块,用于删除每个历史交易数据中的可变数据,并根据修改后的历史交易数据更新每个所述历史交易所在区块的变色龙随机数;广播模块,用于广播所述当前区块与所有更新的变色龙随机数给所有区块链成员以便每个所述区块链成员验证所述当前区块并根据对应更新的变色龙随机数修改各个所述历史交易所在区块。
[0013]一种电子设备,包括存储器和处理器,所述存储器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于业务主题的区块链数据删除方法,其特征在于,包括以下步骤:获取每个待处理业务主题对应的所有历史交易数据,并从每个所述历史交易数据中提取交易提交者对历史交易第一不可变数据的签名;根据每个所述待处理业务主题对应的所有所述签名及其结尾交易的第一不可变数据生成每个结尾交易的第二不可变数据,并基于所有所述第二不可变数据生成当前区块;删除每个历史交易数据中的可变数据,并根据修改后的历史交易数据更新每个所述历史交易所在区块的变色龙随机数;广播所述当前区块与所有更新的变色龙随机数给所有区块链成员以便每个所述区块链成员验证所述当前区块并根据对应更新的变色龙随机数修改各个所述历史交易所在区块。2.根据权利要求1所述的一种基于业务主题的区块链数据删除方法,其特征在于,所述获取每个待处理业务主题对应的所有历史交易数据,并从每个所述历史交易数据中提取交易提交者对历史交易第一不可变数据的签名,包括:根据当前所有交易数据中的业务主题结束标志个数确定待处理业务主题的个数和每个所述待处理业务主题的编码,所述业务主题结束标志用于标记每个业务主题的结尾交易;根据所述编码搜索每个待处理业务主题对应的所有历史交易,并获取每个历史交易对应的数据;从每个历史交易数据中提取交易提交者对所述历史交易中第一不可变数据的签名。3.根据权利要求2所述的一种基于业务主题的区块链数据删除方法,其特征在于,所述根据每个所述待处理业务主题对应的所有所述签名及其结尾交易的第一不可变数据生成每个结尾交易的第二不可变数据,并基于所有所述第二不可变数据生成当前区块,包括:将每个所述待处理业务主题对应的所有所述签名进行聚合得到若干聚合签名,将每个聚合签名与对应业务主题的结尾交易的第一不可变数据拼接得到每个结尾交易的第二不可变数据;基于所有的第二不可变数据和当前所有非结尾交易的第一不可变数据生成区块体中的第一梅克尔树,并根据获取的变色龙随机数和第一梅克尔树根生成区块头。4.根据权利要求3所述的一种基于业务主题的区块链数据删除方法,其特征在于,所述基于所有的第二不可变数据和当前所有非结尾交易的第一不可变数据生成区块体中的第一梅克尔树,并根据获取的变色龙随机数和第一梅克尔树根生成区块头,包括:将所有结尾交易的第二不可变数据和当前所有非结尾交易的第一不可变数据进行哈希计算,并根据得到的哈希值构建区块体中的第一梅克尔树;获取变色龙随机数和变色龙陷门持有者的公钥,并计算当前所有交易可变数据的哈希值构建的第二梅克尔树的根,根据所述变色龙随机数、变色龙陷门持有者的公钥以及第二梅克尔树根计算变色龙哈希值;基于所述第一梅克尔树根和变色龙哈希值计算区块头随机数,并根据所述第一梅克尔树根和区块头随机数构建区块头。5.根据权利要求1所述的一种基于业务主题的区块链数据删除方法,其特征在于,所述广播所述当前区块与所有更新的变色龙随机数给所有区块链成员以便每个所述区块链成
员验证所述当前区块并根据对应更新的变色龙随机数修改各个所述历史交易所在区块,包括:广播所述当前区块与所有更新的变色龙随机数给所有区块链成员以便每个所述区块链成员执行以下步骤:获取组成所述当前区块的所有交易的数据和每个待处理业务主题的所有历史交易数据,并根据所有的数据验证...

【专利技术属性】
技术研发人员:金宏洲钟一民陈传义郭峰程亮
申请(专利权)人:杭州天谷信息科技有限公司
类型:发明
国别省市:

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

1