Page 241 - 《软件学报》2025年第10期
P. 241

4638                                                      软件学报  2025  年第  36  卷第  10  期












                                                                   · · ·
                                                        · · ·
                                            · · ·





                                          输入层        隐藏层        隐藏层        输出层
                                                    图 7 MLP  分类过程

                  3   实验分析

                  3.1   实验数据集
                    本文实验采用了       Chen  等人使用的数据集     [21] , 该数据集可以从  XBlock  网站获取, 其中包含    3 580  个非庞氏骗
                 局合约和   200  个庞氏骗局合约的地址. 根据数据集中的合约地址, 获取相应智能合约的源代码, 然后对这些源代码
                 进行控制流图的构建, 从而提取其中的控制流信息. 为了方便后续的模型训练, 本文首先对提取的控制流图特征向
                 量进行对齐, 将所有合约的特征向量调整到相同的维度. 因此, 本文数据集中每一个合约都对应一个形状相同的二
                 维特征矩阵.
                    本文数据集进行随机划分, 将其中           80%  作为训练集, 10%   作为验证集, 以验证每个回合          (Epoch) 后模型的性
                 能, 其余  10%  作为测试集.
                  3.2   评价指标

                    为了准确评估模型的性能, 并便于与其他具有代表性的庞氏骗局检测方法进行比较, 本文选择了精确率、召
                 回率和   F1  分数作为评估指标. 精确率      (Precision) 是指在所有被判定为庞氏骗局的合约中, 真正的庞氏骗局合约所
                 占的比例. 召回率     (Recall) 是在所有庞氏骗局中检测到的庞氏骗局合约的比例. F1               分数  (F1-score) 是一种结合了
                 准确率和召回率的混合度量方式. 准确率             (Accuracy) 表示正确分类的合约样本数占总合约样本数的比例. 这些指
                 标的具体公式如下所示:

                                                            True Positive
                                             Precision =                                             (10)
                                                      True Positive+False Positive

                                                           True Positive
                                              Recall =                                               (11)
                                                     True Positive+False Negative

                                                           Precision×Recall
                                                F1-score = 2×                                        (12)
                                                           Precision+Recall

                                                      True Positive+True Negative
                                  Accuracy =                                                         (13)
                                          True Positive+False Positive+True Negative+False Negative
                  3.3   特征学习模型的对比实验
                    为了验证本文提出图        Transformer 训练模型在对图结构特征学习方面的效果, 本文将所提出的模型与                    5  种常
                 用的传统方法进行了比较, 这些模型主要包括              RNN、LSTM、GRU、CNN、Transformer.
                    RNN (recurrent neural network) [50] : 适用于处理序列数据的神经网络结构, 能够捕捉序列中的时间依赖关系.
   236   237   238   239   240   241   242   243   244   245   246