一种基于分片节点互助的区块链混币机制的制作方法

文档序号:36426752发布日期:2023-12-20 22:04阅读:30来源:国知局
一种基于分片节点互助的区块链混币机制的制作方法

本发明涉及区块链,具体而言,涉及一种基于分片节点互助的区块链混币机制。


背景技术:

1、混币机制是解决区块链隐私保护问题的重要手段之一,其主要思想是通过不同用户相互交换资产的方式将交易者之间的关系分散在不相关的地址中,混淆和隐藏区块链的交易过程以增加攻击者的分析难度,达到隐私保护的目的。

2、现有的混币机制主要分为两类:第一类是以mixcoin和blindcoin等为代表的中心化的混币机制,用户需要通过提供混币服务的提供商来实现混币交易,虽然在一定程度上能够实现地址混淆的目的,但是无法保证第三方混币服务提供商的可信度;第二类是以coinjoin和coinshuffle等为代表的去中心化的混币机制,用户无需第三方服务商的参与就能够完成地址混淆,从根本上解决了中心化混币机制存在的可信度问题,但是也存在恶意节点监听混币关系、容易遭受拒绝服务攻击等不足之处。


技术实现思路

1、本发明的目的在于克服现有技术存在的以上问题,以及在原有技术基础上大大提高其技术效果;为此,本发明提供了一种基于分片节点互助的区块链混币机制,该混币机制包括:

2、首先,对区块链节点进行分片处理,将区块链分成多个正向分片和多个反向分片,通过协商,建立正向分片和反向分片的联系;

3、对每个分片中的节点的输出地址进行加密,并相互将加密后的输出地址信息发送到与所述分片建立联系的的分片上的节点;

4、每个分片挑选出性能最好的节点,将所述分片接收到的全部输出地址信息发送到所述性能最好的节点;

5、分别对所述正向分片和所述反向分片中性能最好的节点进行编号,按照编号顺序通过多层加密对性能最好的节点获得的输出地址进行传递;

6、通过多层加密对性能最好的节点获得的输出地址进行传递后,所述正向分片和所述反向分片中性能最好的节点编号的最后一个节点分别获得全部反向分片节点和全部正向分片节点的输出地址信息列表;

7、正向分片中性能最好的节点编号的最后一个节点将获得的输出地址信息列表向所有反向分片节点广播,反向分片中性能最好的节点编号的最后一个节点将获得的输出地址信息列表向所有正向分片节点广播;

8、各正向分片中的节点分别验证自己的输出地址是否在反向分片中性能最好的节点编号的最后一个节点广播的输出地址信息列表中,各反向分片中的节点分别验证自己的输出地址是否在正向分片中性能最好的节点编号的最后一个节点广播的输出地址信息列表中;若存在,则正向分片中的节点使用自己的私钥对获得的输出地址信息列表进行签名并向其它所有正向分片中的节点广播,反向分片中的节点使用自己的私钥对获得的输出地址信息列表进行签名并向其它所有反向分片中的节点广播;

9、直到每个正向分片中的节点接收到由其它全部正向分片节点签名的输出地址信息列表,且每个反向分片中的节点接收到由其它全部反向分片节点签名的输出地址信息列表,均确认无误后生成混币交易,提交给区块链网络完成混币交易。

10、进一步地,对区块链节点进行分片处理时,根据区块链分片处理的方法将区块链节点分到不同的分片中,所述不同的分片个数为n个,n为偶数;n个分片中的节点进行协商,将两个分片分为一组,即将偶数个分片分为组,将每组中的一个分片叫做正向分片,则另一个分片叫做反向分片。

11、进一步地,对每个分片中的节点的输出地址进行加密的方法:每个分片中的节点xi使用所述分片中的全部节点的公钥对自己的输出地址di进行加密,并使用自己的私钥进行签名,得到加密之后的输出地址信息为:k(adi)=(k1(di),k2(di),…,kj(di)),其中,di为分片中节点xi的输出地址,kj为节点所属分片中各节点的公钥;各分片中的节点将加密以后的输出地址信息k(adi)随机发送到与所属分片同一组的另一个分片中的节点;即在同一组内,正向分片中节点的输出地址信息k(adi)发送给反向分片中的节点,反向分片中节点的输出地址信息k(adi)发送给正向分片中的节点。

12、进一步地,每个分片挑选出性能最好的节点的方法:通过各分片中节点对交易信息验证所需的时间,挑选出分片中性能最好的节点;随后各分片中节点将获得的输出地址信息发送给所属分片性能最好的节点。

13、进一步地,每个分片对获得的输出地址信息进行整理,组成输出地址信息集合,将所述集合的输出地址信息一起打包成k(adm′)一起发送给所属分片的性能最好的节点xdm,所属分片的性能最好的节点通过解密获得输出地址列表adm′;其中,k(adm′)=(k(ad1),k(ad2),…,k(adm))。

14、进一步地,所述通过多层加密对性能最好的节点获得的输出地址进行传递包括:分别对正向分片和反向分片的各分片的性能最好的节点xdm用阿拉伯数字1、2、…进行编号,根据编号顺序通过多层加密对性能最好的节点获得的输出地址进行传递;所述根据编号顺序通过多层加密对性能最好的节点获得的输出地址进行传递包括:正向分片的编号为1的性能最好的节点xd1使用其它正向分片的性能最好的节点的公钥对输出地址列表ad1′进行多层加密得到k(xda1),用私钥签名后将k(xda1)发送给正向分片的编号为2的性能最好的节点xd2;其中,k(xda1)=kxd2(…(kxdm-1(kxdm(ad1′)))…);随后,正向分片的编号为2的性能最好的节点xd2使用自己的密钥对k(xda1)进行解密得到de(k(xda1)),然后对输出地址列表ad2′进行多层加密插入到解密信息中得到k(xda2)并使用私钥签名,发送给正向分片的编号为3的性能最好的节点xd3;其中de(k(xda1))和k(xda2)的表达式为:

15、de(k(xda1))=kxd3(…(kxdm-1(kxdm(ad1′)))…)

16、k(xda2)=(kxd3(…(kxdm(ad2′))…),de(k(xda1)))

17、以此规则不断计算下去,直到编号最大的性能最好的节点xdm接收到加密的输出地址信息k(xdam-1),编号最大的性能最好的节点xdm使用自己的私钥对k(xdam-1)进行解密得到前m-1个编号的输出地址列表,节点xdm接收到反向分片中的全部输出地址列表address反向;k(xdam-1)和address反向的表示如下:

18、k(xdam-1)=(kxdm(adm-1′),…,kxdm(ad1′))

19、address反向=(adm′,adm-1′,…,ad1′)。

20、反向分片中的性能最好的节点获得的输出地址传递方式和正向分片中的性能最好的节点获得的输出地址传递方式相同;通过对反向分片中的性能最好的节点获得的输出地址进行传递,反向分片中编号最大的性能最好的节点接收到正向分片中的全部输出地址列表address正向;正向分片中的全部输出地址列表address正向和反向分片中的全部输出地址列表address反向组成区块链的全部输出地址列表address,即address为:

21、address=(address正向,address反向)。

22、进一步地,将阿拉伯数字进行编号,编号最大的性能最好的节点看做性能最好的节点编号的最后一个节点。

23、进一步地,正向分片中编号最大的性能最好的节点向反向分片的所有节点广播获得的输出列表信息address反向,反向分片中编号最大的性能最好的节点向正向分片的所有节点广播获得的输出列表信息address正向;各正向分片中的节点分别验证自己的输出地址是否在反向分片中编号最大的性能最好的节点广播的输出地址列表address正向中,各反向分片中的节点分别验证自己的输出地址是否在正向分片中编号最大的性能最好的节点广播的输出地址列表address反向中,如果分片中的节点发现自己的输出地址不在输出地址信息列表中,则拒绝签名,无法生成混币交易。

24、进一步地,直到每个正向分片中的节点接收到由其它全部正向分片节点签名的输出地址列表address正向,同时,直到每个反向分片中的节点接收到由其它全部反向分片节点签名的输出地址列表address反向,均确认无误后生成混币交易,提交给区块链网络完成混币交易。

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

26、本发明采用区块链节点分片,分片随机分组,并将分成一组的分片分别看做正向分片和反向分片的方式,可以同时对正向分片和反向分片中的节点输出地址信息进行混币交易,最后,建立的混币交易是由全部正向分片节点和全部反向分片节点同时发出;该混币机制降低了混币交易的运行时间,提升了混币机制的效率,保证了参与者输出地址的隐秘性,能够发现违规节点,同时减少了遭受拒绝服务攻击的风险。

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