掌桥专利:专业的专利平台
掌桥专利
首页

一种基于区块链的边缘计算系统中克隆区块的识别方法

文献发布时间:2023-06-19 09:32:16


一种基于区块链的边缘计算系统中克隆区块的识别方法

技术领域

本发明涉及物联网领域,具体涉及一种基于区块链的边缘计算系统中克隆区块的识别方法。

背景技术

随着物联网的发展,移动终端设备的数量迅速增加。由于高传输延迟和带宽限制,物联网设备对计算能力的要求也越来越高。边缘计算处理靠近终端用户的数据,可以减少系统延迟。区块链技术为边缘计算的安全性提供了一个新的研究方向。基于区块链的移动边缘计算系统中也出现了一系列的安全问题。

为了给基于区块链的边缘计算构建一个安全架构系统,熊等人提出了一个支持移动边缘计算的系统的原型。Gai等人提出了基于区块链的边缘互联网模型和边缘区块链模型。Ma等人提出了一种基于区块链的可信数据管理方案的可配置方案体系结构协议,其中提出了一种灵活可配置的体系结构,包括相互认证协议、灵活共识和智能契约、区块和交易数据管理、节点管理和部署。Shen等人提出了一种新的基于块的密钥协商协议,该协议允许多个参与者,并且可以在云环境中动态扩展参与者的数量。Li等人提出了一种基于身份的有条件匿名签名算法来实现比特币交易中的有条件匿名,并设计了一个轻量级的比特币脚本方案,该方案具有交易中的有条件匿名性和可追踪性。Shen等人提出了一种基于隐私保护的支持向量机训练方案,利用技术在多个数据平台之间建立一个安全可靠的数据共享平台。

克隆区块攻击是指区块链的非法攻击者捕获合法的区块并获取其合法身份信息,复制出几个带有区块标识和密钥验证信息的区块,然后将这些克隆区块放到网络中的不同位置发起攻击。图1是克隆区块攻击的示意图。由于克隆区块与合法区块具有相同的区块哈希值,传统的基于密码学的认证机制无法检测到克隆区块。

发明内容

针对现有技术中存在的问题,本发明提出一种基于区块链的边缘计算系统中克隆区块的识别方法,减少了时延,提高了识别精度,解决了克隆区块的攻击问题。

根据本发明的第一方面,提出了一种基于区块链的边缘计算系统中克隆区块的识别方法,所述方法包括以下步骤:

S1、执行合法区块i和边缘节点的上层认证;

S2、提取合法区块i的身份声明信息和未知区块j的身份声明信息;

S3、比较合法区块i与未知区块j的ID是否一致;

S4、如果合法区块i与未知区块j的ID一致,则提取合法区块i与未知区块j的身份信息,计算相关度并识别未知区块j是否为克隆区块;

S5、如果未知区块j是克隆区块,则将合法区块i与未知区块j的身份信息组合成训练集;

S6、使用神经网络算法训练所述训练集,直到生成满足识别率的模型;

S7、使用所述满足识别率的模型识别新的未知区块j的身份信息。

在其中一个方面,所述步骤S1中,边缘节点以以下格式存储从合法区块i发送的身份声明信息:R

在其中一个方面,所述步骤S2中,未知区块j的身份声明信息为R

在其中一个方面,所述步骤S3中,若ID

在其中一个方面,所述步骤S4中使用测试统计量计算所述相关度。

在其中一个方面,所述步骤S5中所述训练集为S={(x

在其中一个方面,所述步骤S7中,识别后得到结果

根据本发明的第二方面,提出了一种基于区块链的边缘计算系统中克隆区块的识别系统,所述系统包括:

上层认证模块,用于执行合法区块i和边缘节点的上层认证;

提取模块,用于提取合法区块i的身份声明信息和未知区块j的身份声明信息;

比较模块,用于比较合法区块i与未知区块j的ID是否一致;

计算模块,用于当合法区块i与未知区块j的ID一致时,计算相关度并识别其是否为克隆区块;

组合模块,用于当未知区块j是克隆区块时,将合法区块i与未知区块j的身份信息组合成训练集;

训练模块,使用神经网络算法训练所述训练集,直到生成满足识别率的模型;

识别模块,使用所述满足识别率的模型识别新的未知区块j的身份信息。

本发明提出的基于区块链的边缘计算系统中克隆区块的识别方法,目标是基于区块链的移动边缘计算系统中识别克隆节点,用于识别未知区块,利用区块哈希值识别克隆区块,区块哈希值可以唯一、明确地标识一个区块,并且任何节点通过简单地对区块头进行哈希计算都可以独立地获取该区块哈希值,一个区块的区块哈希值总是能唯一地识别出一个特定区块。利用神经网络算法对合法区块节点和克隆区块节点的哈希值进行训练和测试,生成模型,以达到高识别率。使用由神经网络算法生成的识别率模型来识别未知块区块的哈希值。利用神经网络算法对未知区块进行识别,减少了时延,提高了识别精度,解决了克隆区块的攻击问题。

附图说明

为了更清楚地说明本发明与现有技术中的技术方案,下面将对所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是克隆区块攻击示意图;

图2是本发明的方法流程图;

图3是本申请的神经网络算法;

图4是本发明的神经网络模型训练块节点的结果图,其中(a)是原始块节点的分布,(b)是神经网络模型训练块节点分布;

图5是本发明不同数量神经元的识别率;

图6是本发明的系统结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

如附图2所示,本发明提出一种基于区块链的边缘计算系统中克隆区块的识别方法,所述方法包括以下步骤:

S1、执行合法区块i和边缘节点的上层认证;

S2、提取合法区块i的身份声明信息和未知区块j的身份声明信息;

S3、比较合法区块i与未知区块j的ID是否一致;

S4、如果合法区块i与未知区块j的ID一致,则提取合法区块i与未知区块j的身份信息,计算相关度并识别未知区块j是否为克隆区块;

S5、如果未知区块j是克隆区块,则将合法区块i与未知区块j的身份信息组合成训练集S;

S6、使用神经网络算法训练所述训练集,直到生成满足识别率的模型;

S7、使用所述满足识别率的模型识别新的未知区块j的身份信息。

其中,区块的身份信息具有独特的时空特征,不可复制。

在一具体实施例中,所述步骤S1中,边缘节点以以下格式存储从合法区块i发送的身份声明信息:R

对于合法区块,利用区块哈希值识别克隆区块,区块哈希值可以唯一、明确地标识一个区块,并且任何节点通过简单地对区块头进行哈希计算都可以独立地获取该区块哈希值,一个区块的区块哈希值总是能唯一地识别出一个特定区块。

在一具体实施例中,所述步骤S2中,未知区块j的身份声明信息为R

对于未知区块,利用区块哈希值识别克隆区块,区块哈希值可以唯一、明确地标识一个区块,并且任何节点通过简单地对区块头进行哈希计算都可以独立地获取该区块哈希值,一个区块的区块哈希值总是能唯一地识别出一个特定区块。

在一具体实施例中,所述步骤S3中,若ID

可以理解的是,由于区块哈希值可以唯一地标识一个区块,因此,如果ID

在一具体实施例中,所述步骤S4中使用测试统计量计算所述相关度。

在一具体实施例中,所述步骤S5中所述训练集为S={(x

在一具体实施例中,所述步骤S7中,识别后得到结果

通过神经网络算法得到满足识别率的模型,进一步地根据该模型来识别新的未知区块的身份信息,如果识别结果为1,则未知节点是合法的区块,如果识别结果为0,则未知节点是非法的区块。

在一个具体的实施例中,如附图3所示,所述神经网络算法包括以下步骤:

S1、初始化参数。神经网络包括三层,分别是输入层、隐藏层和输出层,x

S2、正向传播。隐藏层神经元a

S3、反向传播。损失函数为:L=(a,y)=-(ylog(a)+(1-y)log(1-a)),用于测量神经网络的输出预测值a和实际值y之间的差值。L(a,y)对a和y的偏导函数分别是da和dz:

S4、梯度计算。使用da和dz来计算梯度dw和db:

S5、更新参数。将学习速率设置为η,然后使用dw和db来更新参数,更新后的权重w和阈值b的公式如下:w

S6.重复步骤S2-S5,直到两个相邻时间的迭代值之差小于β,其中β是足够小的阈值。

通过实验可以验证上述方法可以有效地提高克隆区块的识别率。在数据集S上训练一个神经网络模型。如图4(a)是区块链网络中数据集S中区块的分布。在图4(a)中,包括代表合法区块的节点,代表克隆区块的其他节点。根据克隆区块中虚假信息的数量,可以得到代表克隆区块中虚假信息最多的节点。图4(b)显示了使用基于神经网络的克隆区块识别方法后合法区块和克隆区块的分布,这表明非法克隆区块的数量增加了。

在实验中,如附图5所示,神经元的数量分别设置为1、2、3、5和10。我们在数据集S上测试了我们提出的克隆区块识别方法,识别准确率分别为90.4%、90.5%、94.0%、92.0%、92.6%。当使用传统的基于聚类的克隆攻击检测方案来识别同一数据集时,识别准确率分别为87.8%、86.8%、89.8%、88.2%、88.4%。比较结果如图5所示,其中,位于上方的折线为使用本发明的方法得出的准确率,位于下方的折线为传统方法的准确率。可以看出,当神经元数量为3时,准确率最高。当神经元数量增加时,准确率一般会下降。这是因为过度拟合状态是由于神经元数量过多造成的。上述实验表明,使用神经网络算法来识别分块克隆区块是可行的,并且比传统的节点识别算法更加准确。

在本发明的另一实施例中,如附图6所示,还提出了一种基于区块链的边缘计算系统中克隆区块的识别系统,所述系统包括:

上层认证模块,用于执行合法区块i和边缘节点的上层认证;

提取模块,用于提取合法区块i的身份声明信息和未知区块j的身份声明信息;

比较模块,用于比较合法区块i与未知区块j的ID是否一致;

计算模块,用于当合法区块i与未知区块j的ID一致时,计算相关度并识别其是否为克隆区块;

组合模块,用于当未知区块j是克隆区块时,将合法区块i与未知区块j的身份信息组合成训练集;

训练模块,使用神经网络算法训练所述训练集,直到生成满足识别率的模型;

识别模块,使用所述满足识别率的模型识别新的未知区块j的身份信息。

通过这样的系统进行克隆区块的识别,提高了识别精度,解决了克隆区块的攻击问题。

在本发明中,为了防止基于区块链的边缘计算系统中克隆区块的非法攻击,提出了一种基于神经网络的克隆区块识别方法。在训练合法区块和非法克隆区块的身份信息后,得到一种新的神经网络识别模型,并利用它来区分未知区块的合法性和非法性。

以上是对本发明所提出的技术方案的详细说明。在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

以上实施例仅表达了本发明的几种实施方式,本文对本发明的原理及实施方式进行了阐述,以上的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种基于区块链的边缘计算系统中克隆区块的识别方法
  • 基于区块链的物联网边缘计算系统及方法
技术分类

06120112206771