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

一种面向分片联盟链的恶意节点检测方法技术

技术编号:39285802 阅读:13 留言:0更新日期:2023-11-07 10:57
本发明专利技术涉及一种面向分片联盟链的恶意节点检测方法,通过对分片联盟链进行数学建模,当新节点申请加入时,中央机构利用公钥基础设施为新节点分配公钥、私钥与识别标量,验证新节点身份后,利用联盟链分片规则将新节点加入节点委员会中;选取该节点委员会中的多个节点生成测试组,发送至新节点,测试组中每个节点向新节点反馈第一签名与第二签名,并利用数字签名技术验证信息完整性,将扰乱或伪造数据的节点移出。且利用范德蒙矩阵的逆矩阵来检查是否有扰动数据,识别出是否包含恶意节点。本发明专利技术利用群组测试方法,将测试组划分至诚实集和恶意集中,每个节点均包含在至少一个测试组中,通过比对,识别出恶意节点,减少恶意节点识别所需的测试次数。别所需的测试次数。别所需的测试次数。

【技术实现步骤摘要】
一种面向分片联盟链的恶意节点检测方法


[0001]本专利技术涉及区块链
,尤其是指一种面向分片联盟链的恶意节点检测方法。

技术介绍

[0002]区块链是由中本聪于2008年提出的一种支持比特币运行的底层技术,其去中心化、可追溯、数据不可篡改等特性,给众多行业带来了巨大影响,如加密货币、医疗保健管理等。区块链本质上是一个去中心化的数据库,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。目前,区块链已发展至3.0阶段,即去中心化应用发展阶段。区块链总体可分为三类,分别是公有链、私有链和联盟链,因属性不同而有不同的应用场景。联盟链由多个机构参与管理,多机构节点参与账本的管理及维护,更好地解决了企业间的效率和信任等合作问题,因此在工业界具有广泛的应用。
[0003]近年来,人们对联盟链进行了大量的研究,以提高其可验证性、可扩展性和性能。已经有许多研究致力于分片许可的区块链。Ami r i等人介绍了一个处理分片内交易的模型,他们的后续工作使用一个有向无环图来解决跨分片交易协议,以提高可验证性。Dang等人设计了一个包括分片形成和交易处理的综合协议来提升性能。Huang等人提出了一种自适应资源分配算法,以有效分配网络资源,实现系统稳定。Gao等人提出了Pshard协议,该协议采用两层数据模型,并使用两阶段方法来执行跨分片交易,以确保安全性和有效性。Mao等人提出了一个基于位置的分片协议,他们根据参与者的地理属性进行分组,以优化分片间的性能。现有的分片方法更关注区块链系统的运行,然而,他们忽略了节点本身的不可预测性,节点存在被恶意控制的问题。恶意节点的识别问题已经在分布式系统中得到了研究。Yu等人提供了针对散兵游勇的弹性和基于拉格朗日编码的拜占庭攻击的安全性。Solanki等人设计了一个编码方案来识别分布式计算中的攻击者。Hong等人提出了局部可测试编码,以识别分布式矩阵乘法中的拜占庭攻击者。他们还提出了分布式矩阵乘法中的分层组测试,使所需的测试数量更少。然而,主站和工人之间必须有完全的信任,这不适合区块链。
[0004]综上所述,现有分片联盟链中,未考虑节点被恶意控制的问题,这将影响系统的安全性及稳定性;在新节点或宕机节点重新加入网络,进行区块同步时,所需从小组接收的数据过多,导致通信开销过高。

技术实现思路

[0005]为此,本专利技术所要解决的技术问题在于克服现有技术中。
[0006]为解决上述技术问题,本专利技术提供了一种面向分片联盟链的恶意节点检测方法,包括:
[0007]对分片联盟链进行数学建模,将所有节点划分为多个节点委员会,中央机构利用公钥基础设施初始化每个节点委员会中每个节点的公钥、私钥与识别标量;中央机构利用自身私钥分别对每个节点的识别标量进行数字签名,并发送至各个节点;各个节点利用中
央机构的公钥验证收到的识别标量是否正确,若正确,则存储该识别标量至本地,完成分片联盟链模型的建立;
[0008]当有新节点进入模型时,中央机构CA利用公钥基础设施为新节点分配公钥、私钥与识别标量;中央机构利用自身私钥对新节点的识别标量进行数字签名,并发送至新节点,以便新节点利用中央机构的公钥验证收到的识别标量是否正确,若正确,则利用联盟链分片规则将新节点加入目标节点委员会中;
[0009]中央机构利用所述目标节点委员会中的节点生成多个测试组,每个测试组均包含目标节点委员会中的多个节点编号,每个节点编号至少存在于一个测试组中,将每个测试组分别发送至新节点;
[0010]新节点向测试组中所有节点发送识别标量请求,测试组中每个节点均返回自身识别标量、第一签名与第二签名;所述第一签名是利用中央机构私钥加密新节点识别标量生成的;所述第二签名是利用测试组中节点的自身私钥加密第一签名生成的;
[0011]新节点利用中央机构的公钥解密第一签名,获取哈希值,与加密前的新节点识别标量哈希值比对;若对比一致,则利用测试组中各节点的公钥分别解密对应的第二签名,得到第一签名的哈希值,与加密前的第一签名哈希值比对;利用测试组中比对一致的节点的识别标量,构建测试组所对应的识别标量矩阵;
[0012]基于测试组所对应的识别标量矩阵,构造范德蒙矩阵,获取范德蒙矩阵逆矩阵;将范德蒙矩阵逆矩阵与测试组中节点信息构成的信息矩阵的乘积,作为测试结果;根据测试结果判断测试组中是否包含恶意节点;
[0013]在多个测试组均完成恶意节点检测后,若存在包含恶意节点的测试组,则基于多个测试组,构建测试矩阵;构建分片联盟链模型中所有节点的节点编号矩阵;利用测试矩阵与节点编号矩阵构建群组测试函数;
[0014]根据群组测试函数对每个测试组的测试结果,将所有测试组划分为诚实集与恶意集,对比诚实集与恶意集,识别出恶意节点。
[0015]在本专利技术的一个实施例中,所述对分片联盟链进行数学建模包括:
[0016]将所述分片联盟链划分为P个节点委员会,每个节点委员会包含n个节点;
[0017]每个节点N
i
存储的数据为一个区块链,将其划分为m个子区块,则区块链数据表示为:B=[B
1 B2ꢀ…ꢀ
B
m
]T

[0018]其中,分片联盟链中的中央机构是诚实的,恶意节点数量已知。
[0019]在本专利技术的一个实施例中,所述中央机构利用所述目标节点委员会中的节点生成多个测试组,每个测试组均包含目标节点委员会中的多个节点编号,包括:
[0020]利用基于行划分的区块链数据的子矩阵B
v
和相应的识别标量x
i
构造线性编码函数r,表示为:
[0021][0022]其中,i∈(1,m),B
i
表示节点N
i
对应的本地存储;
[0023]利用线性编码函数对每个节点的m个子区块数据进行线性求和,得到编码分片数据;将编码分片数据表示为一个编码分片矩阵,所述编码分片矩阵的表达式为:
[0024][0025]其中,G为节点委员会中所有节点的识别标量组成的第一编码矩阵;
[0026]根据不同的m+1个节点的编码分片数据,构建多个测试组。
[0027]在本专利技术的一个实施例中,所述基于测试组所对应的识别标量矩阵,构造范德蒙矩阵,获取范德蒙矩阵逆矩阵,包括:
[0028]将测试组中所有节点的信息存储到信息矩阵C中,表示为:
[0029][0030]其中,信息矩阵C的第i行G
u
表示m+1个节点的识别标量组成的第二编码矩阵;
[0031]基于第二编码矩阵,构建范德蒙矩阵V,表示为:
[0032]定义U为范德蒙矩阵的前m列,因此,C=U
·
B=G
u
·
B;
[0033]范德蒙矩阵的逆矩阵S表示为:
[0034]根据矩阵乘法规则,可得
[0035]其中,I
m
表示m阶的单位矩阵;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向分片联盟链的恶意节点检测方法,其特征在于,包括:对分片联盟链进行数学建模,将所有节点划分为多个节点委员会,中央机构利用公钥基础设施初始化每个节点委员会中每个节点的公钥、私钥与识别标量;中央机构利用自身私钥分别对每个节点的识别标量进行数字签名,并发送至各个节点;各个节点利用中央机构的公钥验证收到的识别标量是否正确,若正确,则存储该识别标量至本地,完成分片联盟链模型的建立;当有新节点进入模型时,中央机构CA利用公钥基础设施为新节点分配公钥、私钥与识别标量;中央机构利用自身私钥对新节点的识别标量进行数字签名,并发送至新节点,以便新节点利用中央机构的公钥验证收到的识别标量是否正确,若正确,则利用联盟链分片规则将新节点加入目标节点委员会中;中央机构利用所述目标节点委员会中的节点生成多个测试组,每个测试组均包含目标节点委员会中的多个节点编号,每个节点编号至少存在于一个测试组中,将每个测试组分别发送至新节点;新节点向测试组中所有节点发送识别标量请求,测试组中每个节点均返回自身识别标量、第一签名与第二签名;所述第一签名是利用中央机构私钥加密新节点识别标量生成的;所述第二签名是利用测试组中节点的自身私钥加密第一签名生成的;新节点利用中央机构的公钥解密第一签名,获取哈希值,与加密前的新节点识别标量哈希值比对;若对比一致,则利用测试组中各节点的公钥分别解密对应的第二签名,得到第一签名的哈希值,与加密前的第一签名哈希值比对;利用测试组中比对一致的节点的识别标量,构建测试组所对应的识别标量矩阵;基于测试组所对应的识别标量矩阵,构造范德蒙矩阵,获取范德蒙矩阵逆矩阵;将范德蒙矩阵逆矩阵与测试组中节点信息构成的信息矩阵的乘积,作为测试结果;根据测试结果判断测试组中是否包含恶意节点;在多个测试组均完成恶意节点检测后,若存在包含恶意节点的测试组,则基于多个测试组,构建测试矩阵;构建分片联盟链模型中所有节点的节点编号矩阵;利用测试矩阵与节点编号矩阵构建群组测试函数;根据群组测试函数对每个测试组的测试结果,将所有测试组划分为诚实集与恶意集,对比诚实集与恶意集,识别出恶意节点。2.根据权利要求1所述的面向分片联盟链的恶意节点检测方法,其特征在于,所述对分片联盟链进行数学建模包括:将所述分片联盟链划分为P个节点委员会,每个节点委员会包含n个节点;每个节点N
i
存储的数据为一个区块链,将其划分为m个子区块,则区块链数据表示为:B=[B
1 B2…
B
m
]
T
;其中,分片联盟链中的中央机构是诚实的,恶意节点数量已知。3.根据权利要求2所述的面向分片联盟链的恶意节点检测方法,其特征在于,所述中央机构利用所述目标节点委员会中的节点生成多个测试组,每个测试组均包含目标节点委员会中的多个节点编号,包括:利用基于行划分的区块链数据的子矩阵B
v
和相应的识别标量x
i
构造线性编码函数r,表示为:
其中,i∈(1,m),B
i
表示节点N
i
对应的本地存储;利用线性编码函数对每个节点的m个子区块数据进行线性求和,得到编码分片数据;将编码分片数据表示为一个编码分片矩阵,所述编码分片矩阵的表达式为:其中,G为节点委员会中所有节点的识别标量组成的第一编码矩阵;根据不同的m+1个节点的编码分片数据,构建多个测试组。4.根据权利要求3所述的面向分片联盟链的恶意节点检测方法,其特征在于,所述基于测试组所对应的识别标量矩阵,构造范德蒙矩阵,获取范德蒙矩阵逆矩阵,包括:将测试组中所有节点的信息存储到信息矩阵C中,表示为:其中,信息矩阵C的第i行G
u
表示m+1个节点的识别标量组成的第二编码矩阵;基于第二编码矩阵,构建范德蒙矩阵V,表示为:定义U为范德蒙矩阵的前m列,因此,C=U
·
B=G
u
·
B;范德蒙矩阵的逆矩阵S表示为:根据矩阵乘法规则,可得其中,I
m
表示m阶的单位矩阵;O

【专利技术属性】
技术研发人员:王进俞东阳李领治谷飞王恩澍
申请(专利权)人:苏州大学
类型:发明
国别省市:

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

1