一种区块链非法地址检测方法和系统
技术领域
本发明涉及网络安全的技术领域,更具体地,涉及一种区块链非法地址检测 方法和系统。
背景技术
区块链在很大程度上被认为是一种能够确保安全和信任的有效解决方案,区 块链作为一个公开的去中心化的分布式账本,是保证区块链安全的核心机制。区 块链由一系列最长的区块组成,使用加密技术从创世区块链接到当前区块。地址 是参与者用来发送或接收账本的唯一途径,并且不需要提供自身任何的身份信息。 尽管地址信息可以在使用地址后通过公开分布式账本获得,但仍然无法取消其匿 名性。因此,可能会存在大量的犯罪行为,识别非法地址有助于区块链生态系统 的健康发展。
2021年11月2日公开的中国专利申请CN113591128A公开了一种基于群签 名的区块链非法地址监管系统及追溯方法,方法分为注册阶段、交易阶段和追溯 阶段;在注册阶段,用户注册生成私钥和公钥,监管方为用户分配凭证;在交易 阶段,交易发起者生成ECDSA签名,交易接受者签署追溯签名,两个签名同时 进行验证,当验证不通过,则认定为非法交易进行追溯;在追溯阶段,由监管方 排查交易时间,在联盟链网络平台上锁定交易,并去追溯交易地址所对应的真正 身份。该申请基于群签名技术,需要获得额外的追溯签名才可以非法地址进行追 溯,当不提供额外的追溯签名时,该申请就无法准确的对非法地址进行识别追溯。
发明内容
本发明为克服上述现有技术无法准确识别出区块链非法地址的缺陷,提供一 种区块链非法地址检测方法和系统,能够准确识别出区块链非法地址,减少了区 块链网络中的安全隐患,有效提高了区块链网络的安全性。
为解决上述技术问题,本发明的技术方案如下:
本发明提供了一种区块链非法地址检测方法,包括:
S1:收集区块链的非法地址,并对非法地址进行过滤,组成原始数据集;
S2:提取原始数据集中非法地址的多维度特征信息;
S3:对多维度特征信息进行优化,获得优化特征,组成优化特征集;
S4:将优化特征集输入构建的递归自动编码器中进行循环训练,获取训练好 的递归自动编码器;
S5:利用训练好的递归自动编码器进行非法地址检测。
优选地,所述步骤S1中,从公共论坛收集区块链的非法地址。
优选地,所述步骤S1中,对非法地址进行过滤具体为:
利用自动地址过滤法对非法地址进行过滤,删除其中混入的正常地址和无标 记地址。
两个或多个地址是同一交易的输入地址,并且只有一个输出地址时,这些地 址都由同一用户控制。而收集到的非法地址中可能混有正常地址,现在存在多输 入交易的多个服务,很难区分标记为正常地址或非法地址;并且还存在一些地址 是长期存在的普通骗局。通过自动地址过滤来删除这些正常地址和无标记地址, 获得更精准的非法地址。
优选地,所述步骤S2中,提取原始数据集中非法地址的多维度特征信息包 括基础特征、拓扑特征和时间特征;
基础特征包括该地址上货币的总输入量、总输出量、总交易量和最终余额; 拓扑特征包括该地址上货币输入和输出来源;时间特征包括该地址上余额变动时 的时间序列。
优选地,所述步骤S3中,利用k邻近分类算法对多维度特征信息进行优化, 具体的:
S3.1:计算某个多维度特征信息与其余多维度特征信息间的距离;
S3.2:按照距离从小到大的顺序对其余多维度特征信息进行排序;
S3.3:计算前k个多维度特征信息的类别出现的频率;
S3.4:将出现频率最高的类别作为预测类别,将预测类别对应的多维度特征 信息作为优化特征。
将多维度特征信息分为训练集和测试集,用k邻近分类算法在训练集上进行 优化;利用测试集进行测试,选出最合适的k值,获得尽可能少而精的多维度特 征信息作为优化特征,组成包含最少的优化特征集,实现预测结果的最大准确性。
优选地,所述步骤S4中,所递归自动编码器基于现有的自动编码器构建; 所述递归自动编码器包括编码层和解码层,编码层的输出端与解码层的输入端连 接;
优化特征集输入递归自动编码器中,编码层将优化特征被映射到潜在向量上, 并将潜在向量输出至解码层;解码层根据所述潜在向量重构原优化特征向量。
递归自动编码器能够汇总潜在空间内优化特征,再重构原优化特征向量;只 要区块链中各节点的状态一致,编码层和解码层的操作就会保留基本属性数据的 完整性。相反,异常情况表现出不一致的异常值,最终导致编码层和解码层操作 重构失败,原始值和重构值之间的差异将突出异常情况从而触发警报。
优选地,所述编码层和解码层均是循环神经网络构成。
考虑到编码层和解码层的输入输出均是时间标记数据,因此选用循环神经网 络来处理序列数据。
优选地,所述编码层和解码层均是由若干个长短期记忆网络单元首尾相连组 成。
优选地,所述步骤S4中,将优化特征集输入构建的递归自动编码器中进行 循环训练,的具体方法为:
将优化特征集作为输入序列
输入递归自动编码器中,其中
表示第n个事件的优化特征,经编码层映射到紧凑的潜在向量
上,并将潜在向 量
输出至解码层,计算还原序列
其中
表示第n个事件的原优 化特征向量,公式为:
式中,LSTM
θ(·)和
表示编码层,
表示编码层内部状态给定的第t 个事件;LSTM
φ(·)和
表示解码层,
表示解码层内部状态给定的第t 个事件;
则重构损失函数为:
式中,||·||2表示L2范数;
通过滑动窗口机制在输入序列的每个优化特征上获得子序列,每个时间步长 产生一个优化特征的子序列
其中,m表示滑动窗口大小; 使重构损失函数取最小值时,获得优化特征的子序列集合{W
m,…,W
N};计算每 个优化特征的异常值:
递归自动编码器的目的是阅读输入序列中的所有事件,提取输入序列中所有 事件的紧凑表示,利用紧凑表示产生新序列,新序列是输入序列的副本或接近输 入序列。
本发明还提供了一种区块链非法地址检测系统,包括:
数据收集模块,用于收集区块链的非法地址,并对非法地址进行过滤,组成 原始数据集;
特征提取模块,用于提取原始数据集中非法地址的多维度特征信息;
特征优化模块,用于对多维度特征信息进行优化,获得优化特征,组成优化 特征集;
训练模块,用于将优化特征集输入构建的递归自动编码器中进行循环训练, 获取训练好的递归自动编码器;
检测模块,利用训练好的递归自动编码器进行非法地址检测。
与现有技术相比,本发明技术方案的有益效果是:
本发明收集区块链的非法地址,首先对非法地址进行过滤,减少基础数据庞 大数据量的同时,提高非法地址的精准性;其次提取非法地址的多维度特征信息, 提高了应用在多样、动态的区块量网络中的实用性,扩张性更强;之后对多维度 特征信息进行优化,获得尽可能少而精的多维度特征信息作为优化特征,保证训 练结果准确性的同时减少了训练数据量;利用优化特征对构建的递归自动编码器 进行循环训练,缩短训练时间的同时保证了训练结果的准确性;最后利用训练好 的递归自动编码器可以准确识别出区块链非法地址,减少区块链网络中的安全隐 患,有效提高了区块链网络的安全性。
附图说明
图1为实施例1所述的一种区块链非法地址检测方法的流程图。
图2为实施例1所述的利用k邻近分类算法对多维度特征信息进行优化的流程图。
图3为实施例1所述的递归自动编码器的结构图。
图4为实施例1所述的滑动窗口机制的示意图。
图5为实施例2所述的一种区块链非法地址检测系统的结构图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实 际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理 解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本实施例提供了一种区块链非法地址检测方法,如图1所述,包括:
S1:收集区块链的非法地址,并对非法地址进行过滤,组成原始数据集;
本实施例通过公共论坛等途径收集区块链的非法地址,并利用自动地址过滤 法对非法地址进行过滤,删除其中混入的正常地址和无标记地址;两个或多个地 址是同一交易的输入地址,并且只有一个输出地址时,这些地址都由同一用户控 制。而收集到的非法地址中可能混有正常地址,现在存在多输入交易的多个服务, 很难区分标记为正常地址或非法地址;并且还存在一些地址是长期存在的普通骗 局。通过自动地址过滤来删除这些正常地址和无标记地址,获得更精准的非法地 址。
S2:提取原始数据集中非法地址的多维度特征信息;
多维度特征信息包括基础特征、拓扑特征和时间特征;
基础特征包括该地址上货币的总输入量、总输出量、总交易量和最终余额; 拓扑特征包括该地址上货币输入和输出来源;时间特征包括该地址上余额变动时 的时间序列。
本实施例中,将这些非法地址抽象为多维度特征信息,包括地址Address、 每个地址的货币总输入量Inputs、每个地址的货币总输出量Outputs、每个地址 的账户余额Balance、交易来源为Source、每个地址余额的货币交易时间序列 Timepoint,每个非法地址对应一个六元组(Address,Inputs,Outputs,Balance, Source,Timepoint)。
S3:对多维度特征信息进行优化,获得优化特征,组成优化特征集;
如图2所示,利用k邻近分类算法对多维度特征信息进行优化,具体的:
S3.1:计算某个多维度特征信息与其余多维度特征信息间的距离;
S3.2:按照距离从小到大的顺序对其余多维度特征信息进行排序;
S3.3:计算前k个多维度特征信息的类别出现的频率;
S3.4:将出现频率最高的类别作为预测类别,将预测类别对应的多维度特征 信息作为优化特征。
将多维度特征信息分为训练集和测试集,用k邻近分类算法在训练集上进行 优化;利用测试集进行测试,选出最合适的k值,获得尽可能少而精的多维度特 征信息作为优化特征,组成包含最少的优化特征集,实现预测结果的最大准确性。 本实施例中,将多维度特征信息组成特征数据集,多维度特征信息的基数从4个 开始,从特征数据集中分别随机选取4个、5个、6个多维度特征信息来组成新 的特征数据集,进而选出最合适的k值并得到包含最少的优化特征集。
S4:将优化特征集输入构建的递归自动编码器中进行循环训练,获取训练好 的递归自动编码器;
递归自动编码器能够汇总潜在空间内优化特征,再重构原优化特征向量;只 要区块链中各节点的状态一致,编码层和解码层的操作就会保留基本属性数据的 完整性。相反,异常情况表现出不一致的异常值,最终导致编码层和解码层操作 重构失败,原始值和重构值之间的差异将突出异常情况从而触发警报。例如,当 以太币的数量异常高于现有的系统参数,递归自动编码器会将该量解释为噪声, 在重建过程中忽略该值,获得的重构值和原始值之间存在,将突出异常情况从而 触发警报。
递归自动编码器的目的是阅读输入序列中的所有事件,提取输入序列中所有 事件的紧凑表示,利用紧凑表示产生新序列,新序列是输入序列的副本或接近输 入序列。该模型适用于按时间排序的事件序列。
所递归自动编码器基于现有的自动编码器构建;所述递归自动编码器包括编 码层和解码层,编码层的输出端与解码层的输入端连接;
编码层的目标是将输入的优化特征映射到潜在向量上,解码层根据潜在向量 重构出产生尽可能接近原始输入的原优化特征向量。
考虑到编码层和解码层的输入输出均是时间标记数据,因此选用循环神经网 络来处理序列数据,所述编码层和解码层均是循环神经网络构成,具体的编码层 和解码层均是由若干个长短期记忆网络单元首尾相连组成,长短期记忆网络单元 记为LSTM。
如图3所示,递归自动编码器的目的是阅读输入序列中的所有事件,提取输 入序列中所有事件的紧凑表示,利用紧凑表示产生新序列,新序列是输入序列的 副本或接近输入序列,具体的,将优化特征集作为输入序列
输入 递归自动编码器中,其中
表示第n个事件的优化特征,经编码层映射到紧凑的 潜在向量
上,并将潜在向量
输出至解码层,计算还原序列
其 中
表示第n个事件的原优化特征向量,公式为:
式中,LSTM
θ(·)和
表示编码层,
表示编码层内部状态给定的第t 个事件;LSTM
φ(·)和
表示解码层,
表示解码层内部状态给定的第t 个事件;
则重构损失函数为:
式中,||·||2表示L2范数;
如图4所示,通过滑动窗口机制在输入序列的每个优化特征上获得子序列, 每个时间步长产生一个优化特征的子序列
其中,m表示滑 动窗口大小;使重构损失函数取最小值时,获得优化特征的子序列集合 {W
1,…,W
N};计算每个优化特征的异常值:
S5:利用训练好的递归自动编码器进行非法地址检测。
本实施例提供的方法收集区块链的非法地址,首先利用自动地址过滤法对非 法地址进行过滤,减少基础数据庞大数据量的同时,提高非法地址的精准性;其 次提取非法地址的多维度特征信息,提高了应用在多样、动态的区块量网络中的 实用性,扩张性更强;之后利用k邻近分类算法对对多维度特征信息进行优化, 获得尽可能少而精的多维度特征信息作为优化特征,保证训练结果准确性的同时 减少了训练数据量;利用优化特征对构建的递归自动编码器进行循环训练,缩短 训练时间的同时保证了训练结果的准确性;最后利用训练好的递归自动编码器可 以准确识别出区块链非法地址,减少区块链网络中的安全隐患,有效提高了区块 链网络的安全性。
实施例2
本实施例提供了一种区块链非法地址检测系统,如图5所示,包括:
数据收集模块,用于收集区块链的非法地址,并对非法地址进行过滤,组成 原始数据集;
特征提取模块,用于提取原始数据集中非法地址的多维度特征信息;
特征优化模块,用于对多维度特征信息进行优化,获得优化特征,组成优化 特征集;
训练模块,用于将优化特征集输入构建的递归自动编码器中进行循环训练, 获取训练好的递归自动编码器;
检测模块,利用训练好的递归自动编码器进行非法地址检测。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非 是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明 的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施 方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进 等,均应包含在本发明权利要求的保护范围之内。