技术领域
[0001] 本发明涉及一种区块链与计算机科学技术领域,特别是关于一种基于多模态融合的NFTRugPull欺诈检测方法、系统、介质及设备。
相关背景技术
[0002] 当前,随着非同质化代币(NFT)在数字艺术、游戏和收藏品市场的持续繁荣,NFT欺诈问题也日益凸显,成为影响市场健康发展的主要障碍之一。NFT的独一无二性和交易的匿名性为欺诈者提供了可乘之机,使得NFT欺诈检测成为维护市场诚信和保护投资者利益的重要任务,NFT欺诈检测逐渐成为研究者关注的课题。
[0003] 传统的NFT欺诈检测方法大多仅使用交易数据,而忽视了NFT本质上的多媒体特性—即其承载的文本、图片等非交易性数据。这些非交易性数据往往蕴含着丰富的信息,能够揭示NFT项目的真实性、创意价值及市场潜力,同时也是欺诈者可能伪造或篡改的重点对象。例如,NFT作品的描述文本可能夸大其词,误导投资者;图片可能经过篡改以冒充稀有或高价值作品。然而,目前的研究方法鲜少将这类数据纳入分析范畴,导致欺诈识别模型在全面性和准确性上存在局限。
具体实施方式
[0019] 为了解决现有技术中导致欺诈识别模型在全面性和准确性上存在局限,本发明提供一种NFTRugPull欺诈检测方法、系统、介质及设备,通过分析NFT文本、图片以及历史交易数据,提供预测NFT项目是否存在Rug Pull欺诈行为。通过深入挖掘NFT项目的图片、文本特征和交易模式,能够通过搭建具体模型,识别潜在的风险因素,从而增强对NFT市场的检测和保护。
[0020] 本发明将NFT项目本身的特征(包括从艺术品图片和文本描述中提取的关键信息)与二级市场交易这类外部特征进行了整合,构建了一个全面而精确的预测模型。核心在于,由于单一的数据源往往无法全面反映NFT项目的真实状况和风险,而多源数据的综合分析则能够弥补这一缺陷。通过将项目内部的特征与外部市场的交易动态、社交媒体上的用户反馈等多元信息相结合,本发明能够更全面、准确地捕捉潜在的欺诈风险。这种跨领域、多维度的数据整合方法不仅提升了模型的预测精度,也为NFT市场的风险识别和防控提供了新的视角和思路。
[0021] 其次,本发明创新性地引入了图片特征,并深入探索了图片本身以及图片间的相似和区别对于识别欺诈行为的重要作用。NFT作为一种数字艺术品,其图片特征蕴含着丰富的艺术品质、风格特点以及创作意图等关键信息,这些信息对于准确识别欺诈行为至关重要。因此,本发明采用了先进的图像识别技术,从图片中提取出多层次、多维度的特征,并结合机器学习算法进行特征融合和模型训练。同时,创新性地考虑了图片间的相似和区别,进一步挖掘了图片特征中的潜在信息,提升了模型的识别性能。不仅丰富了NFT欺诈识别的手段和方法,也为未来数字艺术品的真伪鉴别提供了新的思路和技术支持。
[0022] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0023] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0024] 在本发明的一个实施例中,提供一种NFTRugPull欺诈检测方法,涉及区块链与计算机科学技术领域,具体包括多模态数据处理、图像处理、自然语言处理(NLP)、交易网络分析及欺诈检测技术。本实施例中,如图1、图2所示,该方法包括以下步骤:1)爬取NFT的文本、图片和交易数据,作为基础数据集;
2)采用BERT提取NFT的文本特征,并采用VGG与Transformer结合的方式提取图片特征;
3)采用NFT交易数据,将账户作为节点,将交易资金的流动作为有向边以构建交易网络图,并采用广度优先搜索算法从交易网络图中的每个节点出发,采样最大距离为一定值的子图,使用DeepWalk通过从某一节点开始执行随机游走,随机遍历整个交易图,以Skip‑Gram模型为每个节点生成嵌入,得到整个交易网络的特征向量,完成交易特征提取;
4)将提取的文本特征、图片特征和交易特征拼接聚合成一个整体特征,该整体特征和标签输入分类模型,进行分类,以识别潜在的欺诈行为。
[0025] 上述步骤1)中,利用爬虫技术从多个平台实时收集NFT相关的数据,并通过数据清洗技术去除噪声和冗余信息,确保数据的可靠性和有效性;其次,将不同来源、不同格式的数据进行统一格式化处理,并存储于分布式数据库中,以便后续特征提取与分析。
[0026] 具体的,爬取NFT的文本、图片和交易数据,作为基础数据集,包括以下步骤:1.1)利用comparitech平台确定欺诈NFT的具体时间、NFT系列名称、涉及的欺诈金额、相关网页链接以及文本描述信息等。
[0027] 1.2)利用python中的scrapy框架+selenium模拟浏览器访问,根据链接爬取欺诈NFT的图片和交易信息,采用基于规则的抽取方法进行图片、交易双方、交易时间、交易金额等实体抽取。
[0028] 1.3)在Opensea上进行爬取正常NFT的信息,利用python中的scrapy框架+selenium模拟浏览器访问,爬取NFT的文本、图片、交易信息。
[0029] 在Comparitech上下载迄今为止所有的已确定的NFT Rug Pull数据,然后在Opensea上进行爬取正常及欺诈的NFT的信息,利用python中的scrapy框架+selenium模拟浏览器访问,爬取NFT的文本、图片、交易数据。其中文本数据为NFT的描述性数据,图片数据爬取前100张图片即可,交易数据爬取最近的前1000条交易。
[0030] 上述步骤2)中,利用BERT模型对每个NFT的文本数据进行特征提取,通过BERT生成的高维度文本向量表示,将这些特征用于后续的NFT分类,以提升分类精度和识别准确性。
[0031] 如图3所示,采用BERT提取NFT的文本特征,包括以下步骤:2.1.1)将输入的文本序列进行分词处理,将其拆分成一系列的子词单元(也称为tokens);
2.1.2)将每个子词单元分别依次进行词嵌入、分段嵌入和位置嵌入,并将三种嵌入相加,得到一个包含了子词单元语义、分段和位置信息的向量,作为NFT的文本特征。
[0032] 分词过程依赖于BERT的分词器,它能够识别出文本中的单词、符号等,并将其转化为模型可以理解的单元。对于每个分词得到的子词单元(token),BERT会将其转换为一个固定大小的向量表示,这个过程称为词嵌入。
[0033] (1)词嵌入。词嵌入能够捕获单词的语义信息,使得相似的单词在向量空间中具有相近的表示。由于Transformer模型本身不依赖于文本中的词序信息,BERT使用位置嵌入来编码每个token在序列中的位置。
[0034] (2)分段嵌入。如果BERT的输入包含两个句子(例如,在问答任务中,一个句子是问题,另一个句子是答案),那么BERT会使用分段嵌入来区分这两个句子。每个句子的所有tokens都会被赋予一个独特的分段嵌入向量,以表示它们所属的句子。
[0035] (3)位置嵌入。由于Transformer模型本身不依赖于文本中的词序信息,BERT使用位置嵌入来编码每个token在序列中的位置。位置嵌入为每个位置(即每个token)提供一个独特的向量表示,以确保模型能够理解词序对于理解文本的重要性。
[0036] 上述步骤2)中,使用VGG16提取图片的基础特征,该模型的核心理念是通过使用小卷积核的堆叠来增加网络的深度,从而捕捉图像中的更多细节特征。在实现特征提取的过程中,使用了PyTorch框架和相关的图像处理工具。
[0037] 具体的,采用VGG与Transformer结合的方式提取图片特征,包括以下步骤:2.2.1)采用VGG提取NFT图片数据的基础图片特征;
具体的,包括以下步骤:
2.2.1.1)加载预训练的VGG16模型,并去除最后的全连接层,以获得图像的特征表示;
通过调用models.vgg16(pretrained=True),可以直接获取在ImageNet数据集上训练好的模型参数。接着,设置模型为评估模式,确保在特征提取时不会进行反向传播和参数更新,从而提高效率。
[0038] 2.2.1.2)定义函数calculate_dataset_stats,用于计算数据集的平均值和标准差;由于VGG16模型对输入数据的分布有特定要求,这一过程对于图像预处理至关重要。通过遍历数据集中的所有图像,计算每张图像的均值和标准差,最后得到整个数据集的均值和标准差,用于后续的图像归一化处理。
[0039] 2.2.1.3)采用torchvision.transforms库对图像进行预处理,调整图像大小至设定尺寸,并进行中心裁剪进一步缩小图像大小,将该图像转换为张量并进行归一化处理;例如,首先将图像调整为256x256的大小,然后进行中心裁剪得到224x224的尺寸,最后将图像转换为张量并进行归一化处理。这些步骤保证了输入到VGG16模型中的图像符合其输入要求,从而有效地提取特征。
[0040] 2.2.1.4)通过遍历数据集中每个文件夹中的图像文件,逐一读取并进行预处理,预处理后的图像通过vgg_features模型进行前向传播,以提取图像的特征向量,特征向量以JSON格式存储,包括图像所属的集合名称、图像文件名以及提取的特征值。这种结构化的数据格式便于后续的分析和使用。
[0041] 2.2.2)将每个图片的基础特征集合输入Transformer模型,利用Transformer进行集合特征提取,得到代表每个NFT的图片之间联系和区别的特征;Transformer模型通过自注意力机制,能够捕捉图像中不同区域之间的依赖关系,从而提取出更加丰富的特征表示。这种全局性的特征提取方式,使得模型在处理复杂场景和多变姿态的图像时,能够更准确地识别出目标物体,并理解其与其他物体之间的关系。因此,在用VGG进行图片的特征提取后,本发明将一个NFT系列的多个图片特征作为一个集合输入Transformer进行集合特征提取。
[0042] Transformer模型由多个Transformer编码器层组成,利用自注意力机制来捕获图像特征之间的复杂关系。每一层的输出经过前馈神经网络处理,并通过层归一化进行优化。最终,使用全连接层将输出特征维度压缩至设定的目标维度。
[0043] 具体而言,Transformer模型的输入形状被设计为 (sequence_length, batch_size, feature_dim),以便于进行自注意力计算。对于每幅图像特征,通过增加维度将其转换为适合Transformer模型处理的格式,确保每个特征向量能够在全局上下文中进行关联和学习。
[0044] 在特征提取阶段,对于每幅图像的特征向量,Transformer模型通过处理和编码这些信息,生成一个汇总的特征表示。
[0045] 本实施例中,将每个图片的基础特征集合输入Transformer模型,利用Transformer进行集合特征提取,得到代表每个NFT的图片之间联系和区别的特征,包括以下步骤:2.2.2.1)特征输入:将每幅图像的特征向量进行嵌入,使其符合Transformer模型的要求;
2.2.2.2)自注意力计算:通过自注意力机制,Transformer模型能够关注图像特征之间的重要性,实现特征的动态权重分配;
2.2.2.3)全局特征提取:通过对所有输入特征的平均计算,生成一个全局的集合特征向量,以代表输入图像的整体信息。
[0046] 2.2.3)将VGG提取的基础图片特征与Transformer提取的集合特征进行聚合,得到一个既能体现图片本身特征,又能体现图片与图片之间的联系与区别的图片特征。
[0047] 上述步骤3)中,NFT的交易特征在二级市场上展现出其重要性。传统的特征提取方法往往依赖于简单的统计分析,难以深入挖掘交易数据中的潜在信息。本发明提出将账户视为节点,将交易资金的流动视为有向边,从而构建交易网络图。通过引入子图采样和图嵌入算法,旨在提高大规模交易数据的处理效率,捕捉其复杂的结构特性。
[0048] (1)有向图构建:为了提取交易特征,首先需要构建一个代表NFT交易活动的有向图。图中的每个节点代表一个用户账户,而有向边则表示交易资金的流动。由于原始交易数据量庞大,处理效率和内存占用成为了主要挑战。为此,本发明采用子图采样方法,从大图中提取出具有代表性的子图,以有效捕捉局部结构信息。
[0049] (2)广度优先搜索(BFS)算法:在子图采样过程中,发明使用广度优先搜索(BFS)算法,从每个节点出发,采样最大距离为设定值的子图。该过程生成的子图包含了节点周围的局部结构信息,使得模型能够更精准地捕捉到图的局部特性。
[0050] (3)Skip‑Gram模型:最终,本发明使用Skip‑Gram模型将生成的路径转换为节点的嵌入,形成交易网络的特征表示。训练过程中,Skip‑Gram模型使用神经网络来学习节点的嵌入。对于每个中心节点,模型计算它与所有上下文节点的相似度,并通过最大化这些相似度来更新节点的嵌入向量。具体而言,对于每个中心节点 ,模型的目标是最大化条件概率: 。
[0051] 在完成节点嵌入的生成后,进一步聚合节点嵌入以获得整个图的特征表示。聚合方法可以根据需求选择,例如采用均值、求和或最大值等策略。聚合后的图嵌入提供了对整个交易网络的全局视角,能够更好地支持后续分析和决策。
[0052] 本实施例中,为了在图中有效地提取特征,本发明引入了DeepWalk图嵌入算法。该算法通过随机游走遍历整个交易图,生成节点的嵌入表示。随机游走的过程确保了图中节点的有效学习,使得生成的特征向量能够良好地代表交易网络的整体信息。故,使用DeepWalk通过从某一节点开始执行随机游走,DeepWalk图嵌入算法包括以下步骤:3.1)从图中的某一节点开始,执行多个随机游走,每次游走生成一个固定长度的节点序列;
3.2)在游走过程中,每次选择当前节点的邻居节点作为下一个访问节点,选择的概率与边的特征(如交易金额等)相关,以保证游走过程中更可能访问到具有高重要性的节点。
[0053] 上述步骤4)中,分类模型采用逻辑回归、支持向量机(SVM)、随机森林和K最近邻(KNN),以实现高效的分类任务。模型训练包括以下步骤:4.1)数据被分为训练集和测试集,其中训练集进一步分为标签和特征,标签用于指示样本所属的类别,特征则包含用于分类的相关信息;
数据准备阶段将按照预设的比例,读取训练集和测试集数据。
[0054] 4.2)将提取的多模态特征作为输入数据输入到分类模型中,即将文本特征、图片特征和交易特征作为输入,以增强模型性能,采用交叉验证进行模型训练和超参数调优,将训练集数据划分为多个子集,每次选取其中一个子集作为验证集,其余子集用于训练模型,通过多个子集的迭代训练和验证,优化模型以避免过拟合,并评估其泛化能力;其中,多模态特征为文本特征、图片特征和交易特征,这些特征可能来源于不同的数据源,如交易记录、用户行为数据和图像特征等,确保了模型能够充分利用多样化的信息来提升分类性能。
[0055] 采用交叉验证的方法进行模型的训练和超参数调优。具体而言,通过将训练集数据划分为多个子集,每次选取其中一个子集作为验证集,其余子集用于训练模型。这种方法不仅能有效防止过拟合,还能更好地评估模型的泛化能力。交叉验证过程中,通过不断调整模型的超参数,寻求最佳的参数组合,从而提升模型的性能。
[0056] 4.3)选择表现最优的模型用于NFT欺诈检测,确保在实际应用中具备高准确性和可靠性,能够有效识别潜在的欺诈行为,为NFT市场安全提供保障。
[0057] 综上,本发明从收集到的数据中提取与NFT欺诈检测相关的关键特征。考虑到数据的多模态特性,对数据的内部特征(如文本、图片特征等)和外部特征(如交易特征等)进行全面提取。对于文本描述数据,使用Bert进行特征提取。对于图片特征的提取,使用VGG和Transformer结合的方式在关注图片本身特征的基础上,同时要关注图片和图片区别。对于交易数据,在构建交易网络的基础上,使用一种利用随机游走进行图遍历的DeepWalk图嵌入算法,进行特征的提取。
[0058] 本发明将从不同数据源和不同模态中提取的特征进行有效的融合与聚合。通过对聚合后的特征进行分类,实现NFT欺诈行为的预测与检测。采用了多种机器学习算法,包括决策树、随机森林和深度学习模型等,以提高分类的准确性和鲁棒性。
[0059] 在本发明的一个实施例中,提供一种NFTRugPull欺诈检测系统,其包括:数据获取模块,爬取NFT的文本、图片和交易数据,作为基础数据集;
内部特征提取模块,采用BERT提取NFT的文本特征,并采用VGG与Transformer结合的方式提取图片特征;
外部特征提取模块,采用NFT交易数据,将账户作为节点,将交易资金的流动作为有向边以构建交易网络图,并采用广度优先搜索算法从交易网络图中的每个节点出发,采样最大距离为一定值的子图,使用DeepWalk通过从某一节点开始执行随机游走,随机遍历整个交易图,以Skip‑Gram模型为每个节点生成嵌入,得到整个交易网络的特征向量,完成交易特征提取;
欺诈检测模块,将提取的文本特征、图片特征和交易特征拼接聚合成一个整体特征,该整体特征和标签输入分类模型,进行分类,以识别潜在的欺诈行为。
[0060] 上述实施例中,采用BERT提取NFT的文本特征,包括:将输入的文本序列进行分词处理,将其拆分成一系列的子词单元;
将每个子词单元分别依次进行词嵌入、分段嵌入和位置嵌入,并将三种嵌入相加,得到一个包含了子词单元语义、分段和位置信息的向量,作为NFT的文本特征。
[0061] 上述实施例中,采用VGG与Transformer结合的方式提取图片特征,包括:采用VGG提取NFT图片数据的基础图片特征;
将每个图片的基础特征集合输入Transformer模型,利用Transformer进行集合特征提取,得到代表每个NFT的图片之间联系和区别的特征;
将VGG提取的基础图片特征与Transformer提取的集合特征进行聚合,得到一个既能体现图片本身特征,又能体现图片与图片之间的联系与区别的图片特征。
[0062] 本实施例中,采用VGG提取NFT图片数据的基础图片特征,包括:加载预训练的VGG16模型,并去除最后的全连接层,以获得图像的特征表示;
定义函数calculate_dataset_stats,用于计算数据集的平均值和标准差;
采用torchvision.transforms库对图像进行预处理,调整图像大小至设定尺寸,并进行中心裁剪进一步缩小图像大小,将该图像转换为张量并进行归一化处理;
通过遍历数据集中每个文件夹中的图像文件,逐一读取并进行预处理,预处理后的图像通过vgg_features模型进行前向传播,以提取图像的特征向量,特征向量以JSON格式存储。
[0063] 本实施例中,将一个NFT系列的多个基础图片特征作为一个集合输入Transformer进行集合特征提取,包括:将每幅图像的特征向量进行嵌入,使其符合Transformer模型的要求;
通过自注意力机制,Transformer模型能够关注图像特征之间的重要性,实现特征的动态权重分配;
通过对所有输入特征的平均计算,生成一个全局的集合特征向量,以代表输入图像的整体信息。
[0064] 上述实施例中,使用DeepWalk通过从某一节点开始执行随机游走,包括:从图中的某一节点开始,执行多个随机游走,每次游走生成一个固定长度的节点序列;
在游走过程中,每次选择当前节点的邻居节点作为下一个访问节点,选择的概率与边的特征相关,以保证游走过程中更可能访问到具有高重要性的节点。
[0065] 上述实施例中,分类模型采用逻辑回归、支持向量机、随机森林和K最近邻,模型训练为:数据被分为训练集和测试集,其中训练集进一步分为标签和特征,标签用于指示样本所属的类别,特征则包含用于分类的相关信息;
将文本特征、图片特征和交易特征作为输入,以增强模型性能,采用交叉验证进行模型训练和超参数调优,将训练集数据划分为多个子集,每次选取其中一个子集作为验证集,其余子集用于训练模型,通过多个子集的迭代训练和验证,优化模型以避免过拟合,并评估其泛化能力;
选择表现最优的模型用于NFT欺诈检测,确保高准确性和可靠性,为NFT市场安全提供保障。
[0066] 本实施例提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
[0067] 在本发明一实施例中提供的计算设备,该计算设备可以是终端,其可以包括:处理器(processor)、通信接口(Communications Interface)、存储器(memory)、显示屏和输入装置。其中,处理器、通信接口、存储器通过通信总线完成相互间的通信。该处理器用于提供计算和控制能力。该存储器包括非易失性存储介质、内存储器,该非易失性存储介质存储有操作系统和计算机程序,该计算机程序被处理器执行时以实现上述各实施例中的方法;该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、管理商网络、NFC(近场通信)或其他技术实现。该显示屏可以是液晶显示屏或者电子墨水显示屏,该输入装置可以是显示屏上覆盖的触摸层,也可以是计算设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。处理器可以调用存储器中的逻辑指令。
[0068] 此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0069] 在本发明的一个实施例中,提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
[0070] 在本发明的一个实施例中,提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储服务器指令,该计算机指令使计算机执行上述各实施例提供的方法。
[0071] 上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0072] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0073] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0074] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0075] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。