当前位置: 首页 > 专利查询>河南大学专利>正文

一种基于联盟链的数据修改方法技术

技术编号:38814588 阅读:17 留言:0更新日期:2023-09-15 19:53
本发明专利技术提供一种基于联盟链的数据修改方法。该方法包括:为每笔交易随机生成一个变色龙哈希公私钥对和可变参数,并利用变色龙哈希算法生成该笔交易的哈希值;针对每笔交易,使用多方秘钥协商算法根据每个交易用户的用户公钥对该笔交易对应的变色龙哈希私钥进行加密,生成一个变色龙哈希私钥密文;将每笔交易和其对应的变色龙哈希私钥密文同时上链存储;当需要对链上存储的历史交易进行修改时,参与该历史交易的所有交易用户利用多方秘钥协商算法对链上存储的变色龙哈希私钥密文进行还原得到变色龙哈希私钥,根据所述变色龙哈希私钥和原可变参数完成哈希碰撞,得到新可变参数,从而对该历史交易的交易数据进行修改。从而对该历史交易的交易数据进行修改。从而对该历史交易的交易数据进行修改。

【技术实现步骤摘要】
一种基于联盟链的数据修改方法


[0001]本专利技术涉及区块链
,尤其涉及一种基于联盟链的数据修改方法。

技术介绍

[0002]公有链是一种完全去中心化的区块链,任何人都可以参与交易确认和共识机制。它利用去中心化和不可篡改的技术特性,在分布式节点之间建立信任关系,共享分布式自治的账本系统,实现价值传递。然而,一方面,由于完全去中心化的特点,公有链的监管变得异常困难。另一方面,由于不可篡改性,非法或错误、失效的数据可能永久存储在链上,严重情况下,区块链只能进行作废处理。因此,考虑到监管和实际应用的双重需求,迫切需要安全、便捷、可控的技术手段来更新链上关键数据并清除有害数据。
[0003]联盟链具有解决上述问题的内生优势。联盟链是由若干机构联合发起、维护且只针对某个群体的特定成员和有限的第三方开放的区块链。联盟链兼顾了公有链的去中心化和私有链的高效,采用部分去中心化,可控性较强,数据不默认公开、交易速度快、对监管友好,是目前建立行业数字生态最具实际应用前景的技术。不同于公有链上参与共识的节点众多,致使数据一旦上链便无法更改的情况,联盟链存在部分权限节点,内部指定多个预选的节点为记账人,因此联盟链成为可修改区块链的首选。需要说明的是,“可修改”不会挑战区块链本身的安全性,它是对“不可篡改”造成的应用局限性的补充。因为修改操作必须代表系统意志与利益,也即合法才能被完成,否则修改后的区块数据无法通过全网验证,因此,“可修改”的存在仍可保证数据安全,具体由陷门单向函数特性及相关方法设计保证。
[0004]但是,目前基于联盟链的数据修改方法中,存在修改权限滥用、分发私钥以及恢复陷门都需要付出高额的通信代价和计算开销,系统效率有待进一步提高。

技术实现思路

[0005]针对目前基于联盟链的数据修改方法存在通信开销大的问题,本专利技术提供一种新的基于联盟链的数据修改方法。
[0006]第一方面,本专利技术提供一种基于联盟链的数据修改方法,包括:
[0007]步骤1:为每笔交易随机生成一个变色龙哈希公私钥对和可变参数,并利用变色龙哈希算法生成该笔交易的哈希值;
[0008]步骤2:针对每笔交易,将参与该笔交易的每个交易用户均作为秘钥协商的一方,使用多方秘钥协商算法根据每个交易用户的用户公钥对该笔交易对应的变色龙哈希私钥进行加密,生成一个变色龙哈希私钥密文;
[0009]步骤3:将每笔交易和其对应的变色龙哈希私钥密文同时上链存储,具体包括:在区块头中加入交易数据的默克尔根和私钥密文的默克尔根,将区块体分为第一存储区和第二存储区,在第一存储区中存储参与该笔交易的所有交易用户的交易数据、对应的变色龙公钥和可变参数,在第二存储区中存储变色龙哈希私钥密文;将交易数据的默克尔根绑定第一存储区中存储的数据,将私钥密文的默克尔根绑定第二存储区中存储的数据;
[0010]步骤4:当需要对链上存储的历史交易进行修改时,参与该历史交易的所有交易用户利用多方秘钥协商算法对链上存储的变色龙哈希私钥密文进行还原得到变色龙哈希私钥,根据所述变色龙哈希私钥和原可变参数完成哈希碰撞,得到新可变参数,从而对该历史交易的交易数据进行修改。
[0011]进一步地,步骤1具体包括:
[0012]设置安全参数λ,构造满足该安全参数λ的大素数p,q;选取乘法循环群中阶为q的元素g,从而得到公共参数pp=(p,q,g);其中,p,q满足p=kq+1;
[0013]根据公共参数pp,在乘法循环群中随机选择一个数x,计算h=g
x
,从而得到变色龙哈希私钥HSK=x,变色龙哈希公钥HPK=h;
[0014]在乘法循环群中随机选择一个数τ作为可变参数。
[0015]进一步地,步骤2具体包括:
[0016]设置椭圆曲线参数E
p
,生成一个随机数r;其中,r小于椭圆曲线的阶;
[0017]初始化一个中间参数medium,并令其初始值为空;
[0018]根据每个交易用户的用户公钥PK
i
和最新的中间参数medium,依次执行以下操作:medium

ECC[PK
i
+medium];直至所有交易用户均已执行上述操作,得到最终的中间参数medium;i=1,2,3,

,n;n表示参与该笔交易的交易用户总数;
[0019]对所述变色龙哈希私钥进行明文嵌入以将其转换为椭圆曲线上的一个点HSK
ec

[0020]根据随机数r、最终的中间参数medium、点HSK
ec
和椭圆曲线参数E
p
的基点G,执行以下操作:CHSC
[1]←
ECC[HSK
ec
+r*medium],CHSC
[2]←
r*G;从而得到变色龙哈希私钥密文CHSC=(CHSC
[1],CHSC
[2])。
[0021]进一步地,所述步骤4具体包括:投票阶段和权限节点审核修改阶段;
[0022]所述投票阶段具体包括:
[0023]步骤A1:联盟链中的用户P
u
发起针对历史交易T
i
的修改请求R
u
并对所述修改请求R
u
进行签名得到对应的签名σ
u
,将所述修改请求R
u
和所述签名σ
u
一起广播给联盟链中参与所述历史交易T
i
的所有交易用户T
users

[0024]步骤A2:任意一个交易用户T
user
收到所述修改请求R
u
后,若同意修改,则对所述修改请求R
u
进行签名并广播;
[0025]步骤A3:用户P
u
收集参与所述历史交易T
i
的所有交易用户T
users
对所述修改请求R
u
的签名,在收集完成后,将所述修改请求R
u
、所述签名σ
u
和所有交易用户T
users
对所述修改请求R
u
的签名一起广播给权限节点;
[0026]所述权限节点审核修改阶段具体包括:
[0027]步骤B1:权限节点收到所述修改请求R
u
、签名σ
u
和所有交易用户T
users
对所述修改请求R
u
的签名后,将所述修改请求R
u
和所有交易用户T
users
对所述修改请求R
u
的签名一起广播给联盟链中参与所述历史交易T
i
的所有交易用户T
users

[0028]步骤B2:任意一个交易用户T
user
收到签名后,利用自身的用户私钥对所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于联盟链的数据修改方法,其特征在于,包括:步骤1:为每笔交易随机生成一个变色龙哈希公私钥对和可变参数,并利用变色龙哈希算法生成该笔交易的哈希值;步骤2:针对每笔交易,将参与该笔交易的每个交易用户均作为秘钥协商的一方,使用多方秘钥协商算法根据每个交易用户的用户公钥对该笔交易对应的变色龙哈希私钥进行加密,生成一个变色龙哈希私钥密文;步骤3:将每笔交易和其对应的变色龙哈希私钥密文同时上链存储,具体包括:在区块头中加入交易数据的默克尔根和私钥密文的默克尔根,将区块体分为第一存储区和第二存储区,在第一存储区中存储参与该笔交易的所有交易用户的交易数据、对应的变色龙公钥和可变参数,在第二存储区中存储变色龙哈希私钥密文;将交易数据的默克尔根绑定第一存储区中存储的数据,将私钥密文的默克尔根绑定第二存储区中存储的数据;步骤4:当需要对链上存储的历史交易进行修改时,参与该历史交易的所有交易用户利用多方秘钥协商算法对链上存储的变色龙哈希私钥密文进行还原得到变色龙哈希私钥,根据所述变色龙哈希私钥和原可变参数完成哈希碰撞,得到新可变参数,从而对该历史交易的交易数据进行修改。2.根据权利要求1所述的一种基于联盟链的数据修改方法,其特征在于,步骤1具体包括:设置安全参数λ,构造满足该安全参数λ的大素数p,q;选取乘法循环群中阶为q的元素g,从而得到公共参数pp=(p,q,g);其中,p,q满足p=kq+1;根据公共参数pp,在乘法循环群中随机选择一个数x,计算h=g
x
,从而得到变色龙哈希私钥HSK=x,变色龙哈希公钥HPK=h;在乘法循环群中随机选择一个数τ作为可变参数。3.根据权利要求2所述的一种基于联盟链的数据修改方法,其特征在于,步骤2具体包括:设置椭圆曲线参数E
p
,生成一个随机数r;其中,r小于椭圆曲线的阶;初始化一个中间参数medium,并令其初始值为空;根据每个交易用户的用户公钥PK
i
和最新的中间参数medium,依次执行以下操作:medium

ECC[PK
i
+medium];直至所有交易用户均已执行上述操作,得到最终的中间参数medium;i=1,2,3,

,n;n表示参与该笔交易的交易用户总数;对所述变色龙哈希私钥进行明文嵌入以将其转换为椭圆曲线上的一个点HSK
ec
;根据随机数r、最终的中间参数medium、点HSK
ec
和椭圆曲线参数E
p
的基点G,执行以下操作:CHSC
[1]

ECC[HSK
ec
+r*medium],CHSC
[2]

r*G;从而得到变色龙哈希私钥密文CHSC=(CHSC
[1]
,CHSC
[2]
)。4.根据权利要求3所述的一种基于联盟链的数据修改方法,其特征在于,所述步骤4具体包括:投票阶段和权限节点审核修改阶段;所述投票阶段具体包括:步骤A1:联盟链中的用户P
u
发起针对历史交易T
i
的修改请求R
u
并对所述修改请求R
u
进行
签名得到对应的签名σ
u
,将所述修改请求R
u
和所述签名σ
u
一起广播给联盟链中参与所述历史交易T
i
的所有交易用户T
users
;步骤A2:任意一个交易用户T
user
收到所述修改请求R
u
后,若同意修改,则对所述修改请求R
u
进行签名并广播;步骤A3:用户P
u
收集参与所述历史交易T
i
的所有交易用户T
users
对所述修改请求R
u
的签名,在收集完成后,将所述修改请求R
u
、所述签名σ
u
和所有交易用户T
users
对所述修改请求R
u
的签名一起广播给权限节点;所述权限节点审核修改阶段具体包括:步骤B1:权限节点收到所述修改请求R
u
、签名σ
u
和所有交易用户T
users
对所述修改请求R
u
的签名后,将所述修改请求R
u
...

【专利技术属性】
技术研发人员:王冬李笑若祝丙南
申请(专利权)人:河南大学
类型:发明
国别省市:

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

1