摘要
随着区块链技术的快速发展,以太坊的应用也日趋广泛,开发者们在以太坊中部署了许多智能合约以实现各种功能。不幸的是,投机者将传统金融领域的庞氏骗局引入到智能合约中,给投资者造成数百万美元的损失。当前,在互联网金融背景下,针对新欺诈模式的定量识别方法很少,以太坊中的庞氏骗局检测方法则更少。因此,如何有效的检测出智能合约是否为庞氏骗局,这对于以太坊的发展至关重要。 目前已有的庞氏骗局检测方法分为基于规则的检测和基于机器学习的检测方法,前者由于规则的不全面性,无法识别出较复杂的庞氏骗局且误报率较高;后者由于简单的将操作码频率作为检测特征,而此特征对智能合约的语义表达不完整使得检测效果提升有限。为了解决以上方法存在的问题,进一步提升庞氏骗局检测的效果,本文提出了一种基于图神经网络的庞氏骗局检测方法,该方法通过图的数据结构充分保留智能合约的结构和语义信息,通过训练图神经网络模型,检测智能合约是否为庞氏骗局。本文的主要工作如下: (1)对现有的庞氏骗局检测机制进行分析,详细介绍每种检测方法的基本原理、实现过程以及存在的问题。总结了目前庞氏骗局检测方法存在规则统计不全面、合约本身语义信息与结构信息保存不完整等弊端和不足,进一步考虑在本文方法研究中如何解决这些问题,以达到更好的检测结果。 (2)针对现有庞氏骗局检测方法语义信息表达欠缺与复杂合约检测效果差的问题,本文提出了一种基于图神经网络的庞氏骗局检测方案。首先分析智能合约中字节码的特征并进行构图,然后使用嵌入算法对图中的节点特征信息和边特征信息进行向量化表示,最后使用处理后的数据进行图神经网络模型的训练,并使用训练好的网络模型进行庞氏骗局的检测。 (3)根据本文提出的基于图网络的智能合约中庞氏骗局检测方法设计并实现原型系统。介绍系统的整体框架、系统模块划分以及关键算法设计,构建庞氏骗局数据集并和现有的庞氏骗局检测工具进行对比实验,通过对比评估实验验证本文原型系统的有效性。实验结果显示,在开源庞氏骗局数据集下,本文提出的方法比基于机器学习的庞氏骗局检测方法F1得分提升6%到9%。最后,为了验证本文原型系统在真实环境下的有效性,对以太坊中部署的智能合约进行了检测,我们发现并人工验证确定了11个在开源数据集之外的庞氏骗局。