基于变色龙哈希的可编辑区块链生成方法、系统及介质与流程

文档序号:37270276发布日期:2024-03-12 20:58阅读:19来源:国知局
基于变色龙哈希的可编辑区块链生成方法、系统及介质与流程

本发明涉及区块链,特别是一种基于变色龙哈希的可编辑区块链生成方法、系统及介质。


背景技术:

1、区块链是一个去中心化数据库,其中包含各种交易和信息,每个区块都有一个哈希值,链接构成链条。区块链通过时间戳证明、首尾相连记账规则、哈希加密算法、共识机制等技术应用和机制设计,将记录不可篡改性做到极致。这意味着要修改或删除以前的信息是不可能的。

2、然而,随着区块链技术不断发展,区块链信息修改已成为一个不可避免的问题,一些情况下需要修改区块链信息,例如对于恶意攻击交易,账户资产盗用等场景等。传统区块链在应对攻击或盗窃行为只有两种选择:一是置之不理,认为这些都是合法的;二是将该行为所在区块及其后继的所有区块全部推翻。

3、因此,现有技术存在目标区块的编辑影响范围较大的问题。


技术实现思路

1、本发明的主要目的在于提供了一种基于变色龙哈希的可编辑区块链生成方法、系统及介质,旨在解决现有技术存在目标区块的编辑影响范围较大的技术问题。

2、为实现上述目的,本发明提供了一种基于变色龙哈希的可编辑区块链生成方法,其包括以下步骤:链下确定所有的联盟成员;

3、所有联盟成员执行变色龙哈希算法的密钥生成步骤,每个联盟成员得到对应的子私钥、子公钥和私钥的shamir秘密分片,并对外公布公钥;所述变色龙哈希算法共有n个参与方,门限为th;执行联盟链共识以获取出块者,基于第一预设公式计算块哈希值并出块;判断是否需要修改历史区块,若是,则令预设数量的联盟成员对目标历史区块和新历史区块执行变色龙哈希算法的哈希碰撞算法,得到哈希碰撞后的新随机数,将目标历史区块替换为新历史区块并重新执行后续所有区块;所述目标历史区块即需要修改的历史区块,新历史区块即修改了目标历史区块中需要修改的内容后所得到的区块;判断是否存在需要退出的参与方或需要加入的新参与方,若是,则执行变色龙哈希算法的重新分配和生成算法。

4、可选的,所有联盟成员执行变色龙哈希算法的密钥生成步骤,至少包括以下步骤:

5、每个参与方pi获取任一第一随机数xi,并将xi作为子私钥,计算并将yi作为子公钥;其中,是一个阶位为q的群,p、q均为大素数,且p=iq+1,i为任意正整数,g是群的生成元,公共参数param=(p,q,g);

6、各参与方pi公布子私钥,则公钥为私钥为

7、各参与方pi执行密钥转换协议,将关于x的加性秘密分享转换为shamir秘密分享,得到各参与方pi持有的私钥的shamir秘密分片。

8、可选的,各参与方pi执行密钥转换协议,至少包括以下步骤:

9、每个参与方pi为自己持有的秘密值si生成一个t阶的多项式:且t+1=th;

10、每个参与方pi计算点[pi(1),pi(2),...,pi(n)],并将计算结果依次发送给所有参与方,则每个参与方pi将收到点[p1(i),p2(i),...,pn(i)];

11、每个参与方pi计算点p(i)=p1(i),p2(i),...,pn(i),p(i)即为每个参与方pi持有的私钥的shamir秘密分片。

12、可选的,基于第一预设公式计算块哈希值,第一预设公式具体如下:

13、

14、其中,h为哈希值,ch_hash(·)表示计算变色龙哈希值,m1表示目标历史区块的原文,且r1表示任一第一随机值,且s1表示任一任一第二随机值,且e=bytestobig(hash(m1||bigtobytes(r1))),bytestobig(·)表示将固定长度byte数组转化为数字,hash(·)表示哈希算法,||表示将文本或字节数组进行拼接,bigtobytes(·)表示将大数转化为byte数组。

15、可选的,执行变色龙哈希算法的哈希碰撞算法,至少包括以下步骤:

16、确定参与方,获取参与方集合s,且|s|>th,pi∈s;

17、各参与方pi执行秘密转换协议,将shamir秘密分享转换为加性秘密分享,得到各参与方pi持有的加性秘密份额wi;

18、各参与方pi获取任一第二随机数ki,并公布

19、各参与方pi计算e2=bytestobig(hash(m2||bigtobytes(r2))),以及si2=ki-e2wi,各参与方pi公布si2,则s2=∑ki-e2wi=k-e2w,以及其中,s2表示所有si2之和;

20、其中,r2表示第一新随机数,m2为新历史区块的给定消息,k表示所有ki之和,w表示所有wi之和,s2表示第二新随机数,s2用于替代ch_hash(·)中输入的s1,h1为m2对应的变色龙哈希值。

21、可选的,各参与方pi执行秘密转换协议,至少包括以下步骤:假设每个参与方pi持有关于w的shamir秘密分享点(i,x′),其中,x′表示一秘密值,且|s|≥t+1;计算各参与方pi持有的加性秘密份额其中,j∈s,且j≠i,π表示连乘运算。

22、可选的,预设数量大于门限。

23、可选的,执行变色龙哈希算法的重新分配和生成算法,具体为:

24、当某个参与方退出时,剩余的各参与方执行以下步骤:将shamir秘密分享转换为加性秘密分享,以及将加性秘密分享转换为shamir秘密分享;

25、当某个新参与方加入时,其他参与方执行以下步骤:将shamir秘密分享转换为加性秘密分享,以及将加性秘密分享转换为shamir秘密分享。

26、与所述基于变色龙哈希的可编辑区块链生成方法相对应的,本发明提供一种基于变色龙哈希的可编辑区块链生成系统,其包括:联盟成员确定模块,用于链下确定所有的联盟成员;

27、密钥生成模块,用于所有联盟成员执行变色龙哈希算法的密钥生成步骤,每个联盟成员得到对应的子私钥、子公钥和私钥的shamir秘密分片,并对外公布公钥;所述变色龙哈希算法共有n个参与方,门限为th;

28、出块者获取模块,用于执行联盟链共识以获取出块者,基于第一预设公式计算块哈希值并出块;

29、判断模块,用于判断是否需要修改历史区块,若是,则令预设数量的联盟成员对目标历史区块和新历史区块执行变色龙哈希算法的哈希碰撞算法,得到哈希碰撞后的新随机数,将目标历史区块替换为新历史区块并重新执行后续所有区块;所述目标历史区块即需要修改的历史区块,新历史区块即修改了目标历史区块中需要修改的内容后所得到的区块;以及,用于判断是否存在需要退出的参与方或需要加入的新参与方,若是,则执行变色龙哈希算法的重新分配和生成算法。

30、此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于变色龙哈希的可编辑区块链生成程序,所述基于变色龙哈希的可编辑区块链生成程序被处理器执行时实现如上文所述的基于变色龙哈希的可编辑区块链生成方法的步骤。

31、本发明的有益效果是:

32、(1)与现有技术相比,本发明通过变色龙哈希,构造了一种可编辑区块链生成方法,使得目标区块的编辑无需推翻后续区块,只需要重新执行后续所有区块,影响范围远小于现有技术,降低了修改区块链区块的代价,进而提高了区块链的安全性;

33、(2)与现有技术相比,本发明通过执行密钥转换协议,实现了将加性秘密分享转换为shamir秘密分享;

34、(3)与现有技术相比,本发明通过执行秘密转换协议,实现了将shamir秘密分享转换为加性秘密分享;

35、(4)与现有技术相比,本发明基于变色龙哈希,令预设数量的联盟成员对目标历史区块和新历史区块执行变色龙哈希算法的哈希碰撞算法,使得联盟链中超过门限数量的参与方合作可以对联盟链历史区块进行编辑修改,并且过程中无任何中心化操作,使得区块链编辑更加安全可靠,无中心化风险,也无需任何可信设置,效率更高。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1