一.DS-ponzi论文介绍
区块链的 Web 3.0 应用的兴起(例如 DeFi)既给金融领域带来了机遇同时也伴随着相关风险。在这些风险中,智能合约内的庞氏骗局尤为突出。庞氏骗局智能合约是一种数字协议,旨在模仿传统的庞氏骗局,通过使用后期投资者的资金来向早期投资者承诺高额回报,最终在新的投资未能覆盖支付时崩溃。根据 TRM Labs 的报告,全球加密货币庞氏骗局和金字塔骗局在2022年造成了总计78亿美元的损失。因此,检测和预防庞氏智能合约对于保护投资者和维护区块链生态系统的完整性至关重要。
由于智能合约的字节码和操作码在互联网上是公开的,因此现有的研究主要集中在通过账户、操作码和控制流图(CFG)等方面检测智能合约中的庞氏骗局。一些学者提出了以太坊中恶意合约检测的基于账户的分类方法。其他人则通过使用字节码/操作码和其他合约信息作为输入来补充提取特征。还有一些学者从合约代码的控制流图中识别专家注释的路径来检测庞氏骗局。
然而,当前的庞氏骗局检测方法存在以下两个缺点:(1)大多数现有方法只利用单一静态特征,要么是静态操作码,要么是静态控制流图(CFG),缺乏有效的特征融合,仍然存在提高准确率和召回率的改进空间。由此引出的一个问题便是如何协同利用操作码、CFG和其他信息来实现更有效的庞氏骗局检测。(2)基于静态特征的方法缺乏抗干扰能力。庞氏骗局的设计者可以注入无效的干扰代码来混淆模型的识别结果。干扰代码指的是不具有庞氏骗局特征的正常函数,其通常在非庞氏合约中也会出现。干扰代码的出现主要归因于两个原因:首先,代码本身继承于现有的代码模板,例如某些合约继承自像 ERC20 这样的正常合约模板。第二个原因是出于欺骗目的。庞氏骗局的发起者可能会注入恶意的干扰功能来对抗当前的庞氏骗局检测方法以逃避监管审查,而现有的论文中大多数都默认其使用的数据训练集和测试集是合理的,没有考虑到数据集本身不诚实的情况。
为了解决这些问题,本文提出了 DS-Ponzi(图1),一种结合了智能合约代码的动态和静态特征庞氏骗局检测模型,其融合了多方面特征,并具有一定的抗干扰能力。一方面,为了减轻某些干扰代码对静态分类方法的负面影响,DS-Ponzi利用EVM模拟执行来跟踪函数的执行路径,从而修剪控制流图和操作码以获取它们的动态表示。另一方面,DS-Ponzi对操作码和控制流图进行特征处理从而设计了一个分类模型,其采用n-gram和PCA方法来获取操作码的特征向量,并利用多层图卷积神经网络从控制流图中提取特征向量,随后使用自定义特征融合层来合并这些特征,然后使用多层感知器进行分类。最终,我们开发了一个庞氏骗局智能合约分类模型,其兼顾了模型的高准确率及召回率以及模型的抗干扰能力。
图1.DS-Ponzi架构图
二.研究意义
随着区块链技术的快速发展给金融领域带来了技术革新,然而目前的区块链生态系统中也存在着日益严重的安全和信任问题。以太坊作为一种广泛使用的区块链平台,提供了灵活的智能合约功能,使其成为各种去中心化应用(DApps)的首选。然而,智能合约的开放性和不可篡改性也使得以太坊成为了各种金融欺诈活动,特别是庞氏骗局的温床。庞氏骗局对以太坊生态系统的负面影响不容忽视。这种骗局不仅会导致投资者的资金损失,还会严重损害区块链社区的信任度,阻碍区块链技术的进一步推广和应用。因此,研究并开发有效的智能合约检测方法,可以帮助识别和预防此类骗局,保护投资者的利益,提升以太坊平台的安全性和可信度。
庞氏骗局是传统金融投资领域中一种古老但久经考验的投资欺诈手段.它往往以投资项目的形式出现,但其背后并没有真正盈利的项目,给先前投资者的回报来自于后来者的资金投入,这种情况一直持续到模式难以为继。加密货币因其安全性而受到公众的信任,由于以太坊智能合约的透明性和不变性,使得许多投资者相信智能合约不会构成庞氏骗局的风险,这使得隐藏在智能合约中的庞氏骗局更具欺骗性,许多智能合约庞氏骗局的投资者因为不了解智能合约的源代码而蒙受了巨大损失。
庞氏骗局智能合约是一种数字协议,旨在模仿传统的庞氏骗局流程,其通过吸引新的投资者来支付早期投资者的回报,从而造成虚假盈利的骗局。根据 TRM Labs 的一份报告[1],加密货币骗局在 2022 年给全球造成了 78 亿美元的总损失,而其中的十大加密庞氏骗局约占总金额的 54%。智能合约的特点增加了庞氏骗局检测的难度。一方面,智能合约是以代码形式运行的合约,其自动化和不可篡改的特性使得一旦部署就难以更改。另一方面,智能合约的源码往往不公开,用户缺乏有效的判断依据。此外,智能合约的代码往往复杂多样,庞氏骗局合约可能隐藏在复杂的逻辑中,增加了检测的技术难度。这些特性使得欺诈行为难以追踪和防范,以至于传统的检测方法和工具往往无法有效应对这些挑战,因此迫切需要开发新型的检测方法,如引入机器学习、深度学习等技术,来提高检测的准确性和效率。
现有的工作通过分析智能合约的字节码和操作码来解决庞氏骗局检测问题。在以太坊系统中,合约的solidity源代码的开源是可选项,但是合约的字节码的开源是确定的,其字节码的源码可从区块链中获取。通过编译工具,字节码可以进一步转化为类似汇编语言的操作码,操作码还可以进一步转化为控制流图(CFG)。因此,现有研究主要通过账户、操作码和控制流图(CFG)等方面来检测智能合约中的庞氏骗局。一些学者[2] [3]提出了基于账户的分类方法,用于以太坊中的恶意合约检测。一些学者[4] [5]补充使用字节码/操作码和其他合约信息作为输入来提取特征。此外,一些学者[6]通过合同代码的控制流图确定专家标注的路径来检测庞氏骗局。
然而,目前的庞氏骗局检测方法存在以下两个缺点:(1) 大多数现有方法仅利用单一的静态特征,如静态操作码或静态控制流图(CFG),缺乏有效的特征融合,导致准确性和召回率有待提高。因此,如何协同利用操作码、CFG和其他信息来实现更有效的庞氏骗局检测模型是一个关键问题。(2) 基于静态特征的方法缺乏抗干扰能力。庞氏骗局设计者可以注入无效的干扰函数来混淆模型的识别结果。干扰函数是指不表现出庞氏骗局特征的正常函数。干扰函数的出现主要有两个原因:第一,由于功能完整性的需求,庞氏骗局合约继承于非庞氏骗局合约的模板,例如某些合约继承自像ERC20这样的正常合约模板。第二个原因是主要原因,骗局设计者为了混淆视听故意注入恶意干扰函数,以对抗当前的静态庞氏骗局检测方法并逃避监管。
本选题的研究意义在于,通过EVM模拟执行庞氏合约函数路径对庞氏合约的CFG和Opcode进行剪枝,保留与庞氏骗局高度相关的特征,并且设计多特征融合的深度学习模型提升检测模型的准确率和召回率,从而解决上述现有庞氏骗局检测模型所存在的两个缺点。本选题设计的系统可以有效识别庞氏合约,并提高合约检测的抗干扰能力。