CN113191775B - 基于以太坊上交易时序信息的庞氏骗局智能合约检测方法 - Google Patents

基于以太坊上交易时序信息的庞氏骗局智能合约检测方法 Download PDF

Info

Publication number
CN113191775B
CN113191775B CN202110434860.6A CN202110434860A CN113191775B CN 113191775 B CN113191775 B CN 113191775B CN 202110434860 A CN202110434860 A CN 202110434860A CN 113191775 B CN113191775 B CN 113191775B
Authority
CN
China
Prior art keywords
transaction
contract
intelligent contract
intelligent
time sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110434860.6A
Other languages
English (en)
Other versions
CN113191775A (zh
Inventor
罗少龙
袁妙
胥勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Qianhai Mobile Technology Co ltd
Original Assignee
Shenzhen Qianhai Mobile Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Qianhai Mobile Technology Co ltd filed Critical Shenzhen Qianhai Mobile Technology Co ltd
Priority to CN202110434860.6A priority Critical patent/CN113191775B/zh
Publication of CN113191775A publication Critical patent/CN113191775A/zh
Application granted granted Critical
Publication of CN113191775B publication Critical patent/CN113191775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了基于以太坊上交易时序信息的庞氏骗局智能合约检测方法,包括以下步骤,对以太坊上的智能合约相关数据进行收集并标记庞氏骗局合约,得到智能合约及其标记的集合,以及涉及对应合约的交易集合;对于每个合约的交易集合,按照交易另一方的地址进行子集划分,根据智能合约与对应地址首笔交易的时间进行排序,得到排序后的交易子集;从划分后的交易集合中提取交易的时序特征,根据给定阈值进行交易记录的筛选;将时序特征和对应的合约标记时序序列预测模型LSTM网络的输入,得到经过训练的模型;本发明的基于以太坊上交易时序信息的庞氏骗局智能合约检测方法具有可扩展性、可解释性等优点。

Description

基于以太坊上交易时序信息的庞氏骗局智能合约检测方法
技术领域
本发明涉及区块链技术领域,具体涉及基于以太坊上交易时序信息的庞氏骗局智能合约检测方法。
背景技术
区块链是一种分布式账本技术,利用密码学技术,分布式网络和智能合约技术,区块链为用户提供了一个互信的多方合作环境。其中,智能合约为区块链与各个特定领域的结合提供了基础。智能合约本质上是一段部署在区块链上的代码,因此用户可以通过智能合约实现复杂的业务逻辑,并保证智能合约的运行享有区块链上数据不可篡改,公开访问,匿名性和可溯源性的特点。以太坊是目前具有最多智能合约的区块链平台,大量的智能合约在以太坊上运行和执行交易。然而以太坊不要求智能合约提供合约的源代码,对于这些智能合约,用户难以判断合约的执行逻辑是否是符合期望,导致一系列恶意的智能合约混淆在运行正常逻辑的智能合约当中。其中,实现庞氏骗局逻辑的智能合约已经带来了巨大的经济损失,对以太坊的生态健康造成危害。
时序序列预测模型:长短时记忆网络(Long Short-Term Memory, LSTM)是一种被广泛应用的,基于神经网络技术的机器学习模型,该模型在时序序列的预测和分类问题上取得了优秀的成果。在庞氏骗局合约检测方案中,将从庞氏骗局合约交易记录中提取到的与交易时间相关的信息作为神经网络的训练输入,将合约是否为庞氏骗局合约作为训练标签,通过反向传播方式进行迭代训练可以得到一个分类模型,该模型可以对新的输入进行分类,预测该输入对应的智能合约是否为庞氏骗局合约。
对于庞氏骗局合约检测,现有的技术方案包括:
方案一:首先通过人工检查开源合约的代码,对庞氏骗局智能合约做出标记,根据庞氏骗局的实现形式将这类智能合约分为4个模式:基于数组的金字塔模式,基于树的金字塔模式,直接移交模式,瀑布模式。对于没有公开源代码的智能合约,通过比较合约字节码与庞氏骗局标记合约的字节码的相似度来进行判断。该方案的准确率低,方案一将智能合约字节码与标记过的庞氏骗局合约字节码进行相似度比较,由于受标记的庞氏骗局合约数量少,智能合约代码的复杂性高,该方法的检测准确率较低,难以检测多样化的庞氏骗局代码。
方案二:通过提取智能合约的交易信息以及字节码特征,使用机器学习模型XBoost进行检测。对于合约的交易信息,该方法选取了7种简单交易信息,如合约余额,总交易数量,转入交易数量等。对于字节码信息,该方法使用了将字节码转换为操作码然后提取词频特征。最后,该方法将两种特征结合,使用XBoost算法训练机器学习模型,提供了一种庞氏骗局合约的自动化检测方法。该方案的检测率“虚高”,方案二的高检测率很大一部分依赖于对智能合约字节码特征的提取。然而实际上高检测率的背后是智能合约的高重复率:以太坊上有超过79.2%的智能合约都是重复的。因此使用基于合约代码的检测方法有很大一部分检测结果是来源于这些重复代码。导致这些方法表现出高检测率却难以应对新的代码形式的庞氏骗局合约。
发明内容
本发明提供了基于以太坊上交易时序信息的庞氏骗局智能合约检测方法,旨在解决上述问题。
根据本申请实施例提供的基于以太坊上交易时序信息的庞氏骗局智能合约检测方法,包括以下步骤:
步骤S1:对以太坊上的智能合约相关数据进行收集并标记庞氏骗局合约,得到智能合约及其标记的集合,以及涉及对应合约的交易集合;
步骤S2:对于每个合约的交易集合,按照交易另一方的地址进行子集划分,根据智能合约与对应地址首笔交易的时间进行排序,得到排序后的交易子集(权利要求不清楚,需要限定);
步骤S3:从划分后的交易集合中提取交易的时序特征,根据给定阈值进行交易记录的筛选;
步骤S4:将时序特征和对应的合约标记时序序列预测模型LSTM网络的输入,得到经过训练的模型(不通顺);
步骤S5:使用训练模型对待检测的智能合约执行检测,得到是否是庞氏骗局合约的预测结果;
其中,智能合约标记的集合为{ (,/>), (/>,/>), (/>,/>),…,(/>,/>) },对应合约的交易集合为{/>,/>,/>,…,/>},其中/>为第i个智能合约对应的交易集合。
优选地,所述步骤S1包括:
步骤S11:人工阅读合约源代码,根据合约是否实现庞氏骗局逻辑进行标记;
步骤S12:通过交叉检查减少错误标记率,判断智能合约是否实现了庞氏骗局逻辑;
步骤S13:若智能合约实现了庞氏骗局逻辑,则将此样本标记为正样本;
步骤S14:若智能合约未实现庞氏骗局逻辑,则将此样本标记为负样本。
优选地,所述步骤S2包括:
步骤S21:对于每个智能合约,以与智能合约发生交易的账户地址为分类标准,将交易记录分为k个子集;
步骤S22:按照每个账户与智能合约发生第一笔交易的时间,对k个子集进行排序,得到划分后的交易记录;
步骤S23:将所有智能合约的交易记录集合起来,得到总的交易记录划分;
其中,k为与智能合约发生交易的账户数量,划分后的交易记录为{,/>, …,},总的交易记录划分{/>,/>, …,/>,/>, …,/>}。
优选地,所述步骤S3包括:从“使用后来投资者的投资作为前面投资者的利润”这一庞氏骗局的固有交易模式出发,对智能合约与每个交易账户的交易记录子集{,/>,…,/>},提取包括以下特征:
转入交易的数量,交易源地址为对应交易账户,目的地址为该智能合约的交易数量;
转出交易的数量,交易源地址为该智能合约,目的地址为对应交易账户的交易数量;
智能合约与该账户总交易数量;
第一笔交易时间,以智能合约创建时间为基准,智能合约与对应交易账户发生第一笔交易的时间;
最后一笔交易时间,以智能合约创建时间为基准,智能合约与对应交易账户发生最后一笔交易的时间;
发起第一笔交易时合约的余额;
与该账户的第一笔交易是转入交易还是转出交易;
交易总回报,转出交易的总金额减去转入交易的总金额;
智能合约与该账户交易时间周期,最后一笔交易时间与第一笔交易时间的差值;
对每个智能合约,通过上述步骤提取得到大小为(k,9)的时序特征矩阵,对数据集中所有智能合约执行上述特征提取步骤,得到n个时序特征矩阵。
优选地,所述步骤S4包括:
步骤S41:判断合约发生交易的地址数量k与、/>的大小关系;
步骤S42:如果与合约发生交易的地址数量k满足k<,则认为合约没有足够的交易信息来帮助模型检测庞氏骗局合约,将这些合约排除在外;
步骤S43:如果与合约发生交易的地址数量k满足<k</>,则在大小为(k,9)的时序特征矩阵后补/>-k行,9列的0元素作为填充,得到大小为(/>,9)的时序特征矩阵;
步骤S44:如果与合约发生交易的地址数量k满足k>,则从时序特征矩阵中均匀采样/>行数据,得到大小为(/>,9)的时序特征矩阵;
步骤S45:综合得到大小为(N,,9)的特征矩阵;
在(N,,9)的特征矩阵中, N代表每个智能合约,/>代表与该智能合约进行交易的账户,9代表代表该账户与该智能合约交易的特征。
优选地,所述步骤S5包括:将提取到的智能合约交易时序特征与对应标记输入时序分类模型进行训练时,对LSTM网络进行参数配置和调整,在数据集上进行训练,测试以及验证。
优选地,对于待分类的智能合约,所述基于以太坊上交易时序信息的庞氏骗局智能合约检测方法还包括:
步骤S100:收集待分类智能合约的交易记录,对交易记录进行时序特征提取得到大小为(k,9)的时序特征矩阵;
步骤S110:判断智能合约交易的账户数量k与、/>的大小关系;
步骤S120:若与该智能合约交易的账户数量k满足k<,则在时序特征矩阵后补0得到大小为(/>,9)的时序特征矩阵;
步骤S130:若与该智能合约交易的账户数量k满足k<,则提示预测结果可信度不高;
步骤S140: 若与该智能合约交易的账户数量k满足k>,则对矩阵的行进行均匀抽样,得到大小为(/>,9)的时序特征矩阵;
步骤S150:将得到的时序特征输入训练好的LSTM网络,得到预测结果。
本申请实施例提供的技术方案可以包括以下有益效果:本申请设计了基于以太坊上交易时序信息的庞氏骗局智能合约检测方法,本发明对智能合约交易的时序特征进行提取,用于庞氏骗局智能合约的检测,相比现有的几个庞氏骗局智能合约的检测方案,本发明使用了更加丰富的特征来表示智能合约的交易信息,从每个智能合约交易记录中提取了总共k*9个特征,本发明根据庞氏骗局的定义,从智能合约的交易数据出发提取交易信息时序特征,具有更好的扩展性。
由于庞氏骗局的本质是“使用后来投资者的投资作为前面投资者的利润”这一交易模式,所以相比于从智能合约的字节码进行庞氏骗局的检测,本发明从合约的交易模式出发做检测可以更加容易理解该检测模型为什么有效,具有更好的可解释性。
本发明中的庞氏骗局合约检测方法只基于智能合约交易信息时序特征,不依赖智能合约的代码信息。避免了由于以太坊上智能合约代码的高重复率带来的在小规模数据集上检测率“虚高”的问题。由于“使用后来投资者的投资作为前面投资者的利润”是庞氏骗局的本质特征,因此任何代码形式的庞氏骗局都应当符合一定的交易信息时序特征,因此本发明可以应对实际场景中代码形式不断更新的庞氏骗局合约,具有更好的健壮性和可扩展性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明基于以太坊上交易时序信息的庞氏骗局智能合约检测方法的流程示意图;
图2是本发明基于以太坊上交易时序信息的庞氏骗局智能合约检测方法中步骤S1的流程示意图;
图3是本发明基于以太坊上交易时序信息的庞氏骗局智能合约检测方法中步骤S2的流程示意图;
图4是本发明基于以太坊上交易时序信息的庞氏骗局智能合约检测方法中步骤S4的流程示意图;
图5是本发明基于以太坊上交易时序信息的庞氏骗局智能合约检测方法中的另一流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,本发明公开了基于以太坊上交易时序信息的庞氏骗局智能合约检测方法10,所述基于以太坊上交易时序信息的庞氏骗局智能合约检测方法10包括以下步骤:
步骤S1:对以太坊上的智能合约相关数据进行收集并标记庞氏骗局合约,得到智能合约及其标记的集合,以及涉及对应合约的交易集合;
步骤S2:对于每个合约的交易集合,按照交易另一方的地址进行子集划分,根据智能合约与对应地址首笔交易的时间进行排序,得到排序后的交易子集(不清楚,限定);
步骤S3:从划分后的交易集合中提取交易的时序特征,根据给定阈值进行交易记录的筛选;
步骤S4:将时序特征和对应的合约标记时序序列预测模型LSTM网络的输入,得到经过训练的模型;
步骤S5:使用训练模型对待检测的智能合约执行检测,得到是否是庞氏骗局合约的预测结果;
其中,智能合约标记的集合为{ (,/>), (/>,/>), (/>,/>),…,(/>,/>) },对应合约的交易集合为{/>,/>,/>,…,/>},其中/>为第i个智能合约对应的交易集合,排序后的交易子集为{/>,/>, …,/>,/>,…,/>},步骤S3中给定的阈值为/>和/>
所述的智能合约相关数据包括经验证的开源智能合约的源代码以及涉及对应智能合约的所有交易。智能合约源代码的收集可以通过在etherscan.io网站上爬取,智能合约的交易信息可以通过以太坊客户端Parity来收集。Parity除了能提供基础的区块数据之外,还提供了方便的API,直接获取某些难以从区块数据中获得的数据如内部交易等。
所述步骤S4中,使用的LSTM网络的输入为大小(,9)的特征矩阵,输出为0或者1,分别代表智能合约是普通合约、庞氏骗局合约。将步骤S3中提取交易的时序特征和对应合约的标签,即合约是否是庞氏骗局合约,用于时序序列预测模型LSTM神经网络的训练过程,经过一系列训练可以得到庞氏骗局合约的分类模型。对于新的智能合约,将从合约中提取到的的特征矩阵作为模型的输入,模型可给出0或者1的输出,0对应合约为正常合约,1对应合约为庞氏骗局合约。
采用此设计,本发明对智能合约交易的时序特征进行提取,用于庞氏骗局智能合约的检测,相比现有的几个庞氏骗局智能合约的检测方案,本发明使用了更加丰富的特征来表示智能合约的交易信息,从每个智能合约交易记录中提取了总共k*9个特征,本发明根据庞氏骗局的定义,从智能合约的交易数据出发提取交易信息时序特征,具有更好的扩展性。
由于庞氏骗局的本质是“使用后来投资者的投资作为前面投资者的利润”这一交易模式,所以相比于从智能合约的字节码进行庞氏骗局的检测,本发明从合约的交易模式出发做检测可以更加容易理解该检测模型为什么有效,具有更好的可解释性。
本发明中的庞氏骗局合约检测方法只基于智能合约交易信息时序特征,不依赖智能合约的代码信息。避免了由于以太坊上智能合约代码的高重复率带来的在小规模数据集上检测率“虚高”的问题。由于“使用后来投资者的投资作为前面投资者的利润”是庞氏骗局的本质特征,因此任何代码形式的庞氏骗局都应当符合一定的交易信息时序特征,因此本发明可以应对实际场景中代码形式不断更新的庞氏骗局合约,具有更好的健壮性和可扩展性。
请参阅图2,所述步骤S1包括:
步骤S11:人工阅读合约源代码,根据合约是否实现庞氏骗局逻辑进行标记;
步骤S12:通过交叉检查减少错误标记率,判断智能合约是否实现了庞氏骗局逻辑;
步骤S13:若智能合约实现了庞氏骗局逻辑,则将此样本标记为正样本;
步骤S14:若智能合约未实现庞氏骗局逻辑,则将此样本标记为负样本。
请参阅图3,所述步骤S2包括:
步骤S21:对于每个智能合约,以与智能合约发生交易的账户地址为分类标准,将交易记录分为k个子集;
步骤S22:按照每个账户与智能合约发生第一笔交易的时间,对k个子集进行排序,得到划分后的交易记录;
步骤S23:将所有智能合约的交易记录集合起来,得到总的交易记录划分;
其中,k为与智能合约发生交易的账户数量,划分后的交易记录为{,/>, …,},总的交易记录划分{/>,/>, …,/>,/>, …,/>}。
其中,所述步骤S3包括:从“使用后来投资者的投资作为前面投资者的利润”这一庞氏骗局的固有交易模式出发,对智能合约与每个交易账户的交易记录子集{,/>,…,/>},提取包括以下特征:
转入交易的数量,交易源地址为对应交易账户,目的地址为该智能合约的交易数量;
转出交易的数量,交易源地址为该智能合约,目的地址为对应交易账户的交易数量;
智能合约与该账户总交易数量;
第一笔交易时间,以智能合约创建时间为基准,智能合约与对应交易账户发生第一笔交易的时间;
最后一笔交易时间,以智能合约创建时间为基准,智能合约与对应交易账户发生最后一笔交易的时间;
发起第一笔交易时合约的余额;
与该账户的第一笔交易是转入交易还是转出交易;
交易总回报,转出交易的总金额减去转入交易的总金额;
智能合约与该账户交易时间周期,最后一笔交易时间与第一笔交易时间的差值;
对每个智能合约,通过上述步骤提取得到大小为(k,9)的时序特征矩阵,对数据集中所有智能合约执行上述特征提取步骤,得到n个时序特征矩阵。
请参阅图4,所述步骤S4包括:
步骤S41:判断合约发生交易的地址数量k与、/>的大小关系;
步骤S42:如果与合约发生交易的地址数量k满足k<,则认为合约没有足够的交易信息来帮助模型检测庞氏骗局合约,将这些合约排除在外;
步骤S43:如果与合约发生交易的地址数量k满足<k</>,则在大小为(k,9)的时序特征矩阵后补/>-k行,9列的0元素作为填充,得到大小为(/>,9)的时序特征矩阵;
步骤S44:如果与合约发生交易的地址数量k满足k>,则从时序特征矩阵中均匀采样/>行数据,得到大小为(/>,9)的时序特征矩阵;
步骤S45:综合得到大小为(N,,9)的特征矩阵;
在(N,,9)的特征矩阵中, N代表每个智能合约,/>代表与该智能合约进行交易的账户,9代表代表该账户与该智能合约交易的特征。所述步骤S4中使用的LSTM神经网络以大小为(/>, 9)的矩阵作为输入。由于步骤S3中,从每个智能合约提取的特征矩阵大小取决于智能合约本身的交易记录,每个智能合约的特征矩阵大小不同,因此需要对特征矩阵大小进行标准化。要将得到的大小为(k,9)的矩阵转换为大小为(/>,9)的标准大小矩阵,需要对特征矩阵进行数据的增添或删减,最终得到大小为(/>, 9)的矩阵。
其中,所述步骤S5包括:将提取到的智能合约交易时序特征与对应标记输入时序分类模型进行训练时,对LSTM网络进行参数配置和调整,在数据集上进行训练,测试以及验证。
请参阅图5,对于待分类的智能合约,所述基于以太坊上交易时序信息的庞氏骗局智能合约检测方法10还包括:
步骤S100:收集待分类智能合约的交易记录,对交易记录进行时序特征提取得到大小为(k,9)的时序特征矩阵;
步骤S110:判断智能合约交易的账户数量k与、/>的大小关系;
步骤S120:若与该智能合约交易的账户数量k满足k<,则在时序特征矩阵后补0得到大小为(/>,9)的时序特征矩阵;
步骤S130:若与该智能合约交易的账户数量k满足k<,则提示预测结果可信度不高;
步骤S140: 若与该智能合约交易的账户数量k满足k>,则对矩阵的行进行均匀抽样,得到大小为(/>,9)的时序特征矩阵;
步骤S150:将得到的时序特征输入训练好的LSTM网络,得到预测结果。
本申请实施例提供的技术方案可以包括以下有益效果:本申请设计了基于以太坊上交易时序信息的庞氏骗局智能合约检测方法,本发明对智能合约交易的时序特征进行提取,用于庞氏骗局智能合约的检测,相比现有的几个庞氏骗局智能合约的检测方案,本发明使用了更加丰富的特征来表示智能合约的交易信息,从每个智能合约交易记录中提取了总共k*9个特征,本发明根据庞氏骗局的定义,从智能合约的交易数据出发提取交易信息时序特征,具有更好的扩展性。
由于庞氏骗局的本质是“使用后来投资者的投资作为前面投资者的利润”这一交易模式,所以相比于从智能合约的字节码进行庞氏骗局的检测,本发明从合约的交易模式出发做检测可以更加容易理解该检测模型为什么有效,具有更好的可解释性。
本发明中的庞氏骗局合约检测方法只基于智能合约交易信息时序特征,不依赖智能合约的代码信息。避免了由于以太坊上智能合约代码的高重复率带来的在小规模数据集上检测率“虚高”的问题。由于“使用后来投资者的投资作为前面投资者的利润”是庞氏骗局的本质特征,因此任何代码形式的庞氏骗局都应当符合一定的交易信息时序特征,因此本发明可以应对实际场景中代码形式不断更新的庞氏骗局合约,具有更好的健壮性和可扩展性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (5)

1.基于以太坊上交易时序信息的庞氏骗局智能合约检测方法,其特征在于,包括以下步骤:
步骤S1:对以太坊上的智能合约相关数据进行收集并标记庞氏骗局合约,得到智能合约及其标记的集合,以及涉及对应合约的交易集合;
步骤S2:对于每个合约的交易集合,按照交易地址进行子集划分,根据智能合约与对应地址首笔交易的时间进行排序,得到排序后的交易子集;
步骤S3:从划分后的交易集合中提取交易的时序特征,根据给定阈值进行交易记录的筛选;
步骤S4:将时序特征输入至对应的合约标记时序序列预测模型LSTM网络,以得到经过训练的模型;
步骤S5:使用训练模型对待检测的智能合约执行检测,得到是否是庞氏骗局合约的预测结果;
其中,智能合约标记的集合为{ (,/>), (/>,/>), (/>,/>),…, (/>,) },对应合约的交易集合为{ />, />, />,…,/> },其中/>为第i个智能合约对应的交易集合;
所述步骤S1包括:
步骤S11:人工阅读合约源代码,根据合约是否实现庞氏骗局逻辑进行标记;
步骤S12:通过交叉检查减少错误标记率,判断智能合约是否实现了庞氏骗局逻辑;
步骤S13:若智能合约实现了庞氏骗局逻辑,则将此样本标记为正样本;
步骤S14:若智能合约未实现庞氏骗局逻辑,则将此样本标记为负样本;
所述步骤S2包括:
步骤S21:对于每个智能合约,以与智能合约发生交易的账户地址为分类标准,将交易记录分为k个子集;
步骤S22:按照每个账户与智能合约发生第一笔交易的时间,对k个子集进行排序,得到划分后的交易记录;
步骤S23:将所有智能合约的交易记录集合起来,得到总的交易记录划分;
其中,k为与智能合约发生交易的账户数量,划分后的交易记录为{ , />, …,/>},总的交易记录划分{ />, />, …,/>, />, …,/>}。
2.根据权利要求1所述基于以太坊上交易时序信息的庞氏骗局智能合约检测方法,其特征在于,所述步骤S3包括:从“使用后来投资者的投资作为前面投资者的利润”这一庞氏骗局的固有交易模式出发,对智能合约与每个交易账户的交易记录{ , />, …,/>},提取包括以下特征:
转入交易的数量,交易源地址为对应交易账户,目的地址为该智能合约的交易数量;
转出交易的数量,交易源地址为该智能合约,目的地址为对应交易账户的交易数量;
智能合约与该账户总交易数量;
第一笔交易时间,以智能合约创建时间为基准,智能合约与对应交易账户发生第一笔交易的时间;
最后一笔交易时间,以智能合约创建时间为基准,智能合约与对应交易账户发生最后一笔交易的时间;
发起第一笔交易时合约的余额;
与该账户的第一笔交易是转入交易还是转出交易;
交易总回报,转出交易的总金额减去转入交易的总金额;
智能合约与该账户交易时间周期,最后一笔交易时间与第一笔交易时间的差值;
对每个智能合约,通过上述步骤提取得到大小为(k,9)的时序特征矩阵,对数据集中所有智能合约执行上述特征提取步骤,得到n个时序特征矩阵。
3.根据权利要求1所述基于以太坊上交易时序信息的庞氏骗局智能合约检测方法,其特征在于,所述步骤S4包括:
步骤S41:判断合约发生交易的地址数量k与、/>的大小关系;
步骤S42:如果与合约发生交易的地址数量k满足k<,则认为合约没有足够的交易信息来帮助模型检测庞氏骗局合约,将这些合约排除在外;
步骤S43:如果与合约发生交易的地址数量k满足<k</>,则在大小为(k,9)的时序特征矩阵后补/>-k行,9列的0元素作为填充,得到大小为(/>,9)的时序特征矩阵;
步骤S44:如果与合约发生交易的地址数量k满足k>,则从时序特征矩阵中均匀采样/>行数据,得到大小为(/>,9)的时序特征矩阵;
步骤S45:综合得到大小为(N,,9)的特征矩阵;
在(N,,9)的特征矩阵中, N代表每个智能合约,/>代表与该智能合约进行交易的账户,9代表该账户与该智能合约交易的特征。
4.根据权利要求1所述基于以太坊上交易时序信息的庞氏骗局智能合约检测方法,其特征在于,所述步骤S5包括:将提取到的智能合约交易时序特征与对应标记输入时序分类模型进行训练时,对LSTM网络进行参数配置和调整,在数据集上进行训练,测试以及验证。
5.根据权利要求1所述基于以太坊上交易时序信息的庞氏骗局智能合约检测方法,其特征在于,对于待分类的智能合约,所述基于以太坊上交易时序信息的庞氏骗局智能合约检测方法还包括:
步骤S100:收集待分类智能合约的交易记录,对交易记录进行时序特征提取得到大小为(k',9)的时序特征矩阵;
步骤S110:判断智能合约交易的账户数量k'与k'min、k'max的大小关系;
步骤S120:若与该智能合约交易的账户数量k'满足k'<k'max,则在时序特征矩阵后补0得到大小为(k'max,9)的时序特征矩阵;
步骤S130:若与该智能合约交易的账户数量k'满足k'<k'min,则提示预测结果可信度不高;
步骤S140:若与该智能合约交易的账户数量k'满足k'>k'max,则对矩阵的行进行均匀抽样,得到大小为(k'max,9)的时序特征矩阵;
步骤S150:将得到的时序特征输入训练好的LSTM网络,得到预测结果。
CN202110434860.6A 2021-04-22 2021-04-22 基于以太坊上交易时序信息的庞氏骗局智能合约检测方法 Active CN113191775B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110434860.6A CN113191775B (zh) 2021-04-22 2021-04-22 基于以太坊上交易时序信息的庞氏骗局智能合约检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110434860.6A CN113191775B (zh) 2021-04-22 2021-04-22 基于以太坊上交易时序信息的庞氏骗局智能合约检测方法

Publications (2)

Publication Number Publication Date
CN113191775A CN113191775A (zh) 2021-07-30
CN113191775B true CN113191775B (zh) 2023-10-31

Family

ID=76978065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110434860.6A Active CN113191775B (zh) 2021-04-22 2021-04-22 基于以太坊上交易时序信息的庞氏骗局智能合约检测方法

Country Status (1)

Country Link
CN (1) CN113191775B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113344562B (zh) * 2021-08-09 2021-11-02 四川大学 基于深度神经网络的以太坊钓鱼诈骗账户检测方法与装置
CN113783852B (zh) * 2021-08-29 2022-12-20 复旦大学 一种基于神经网络的智能合约庞氏骗局检测算法
CN114511330B (zh) * 2022-04-18 2022-12-13 山东省计算中心(国家超级计算济南中心) 一种基于改进的cnn-rf的以太坊庞氏骗局检测方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110062114A (zh) * 2019-04-09 2019-07-26 国家计算机网络与信息安全管理中心 基于arima的诈骗电话预测方法及预测系统
TW201942842A (zh) * 2018-04-02 2019-11-01 華南商業銀行股份有限公司 金融交易詐騙偵測防範系統及其方法
CN111278014A (zh) * 2019-12-31 2020-06-12 中移(杭州)信息技术有限公司 一种防诈骗系统、方法、服务器及存储介质
CN112435122A (zh) * 2020-11-18 2021-03-02 东莞智盾信息安全科技有限公司 网络训练方法、异常交易行为识别方法、装置和介质
CN112434742A (zh) * 2020-11-26 2021-03-02 西安交通大学 一种识别以太坊上庞氏骗局的方法、系统及设备
CN112631611A (zh) * 2021-01-06 2021-04-09 中山大学 一种智能庞氏骗局合约识别方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020124552A1 (en) * 2018-12-21 2020-06-25 Paypal, Inc. System and method for fradulent scheme detection using time-evolving graphs

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201942842A (zh) * 2018-04-02 2019-11-01 華南商業銀行股份有限公司 金融交易詐騙偵測防範系統及其方法
CN110062114A (zh) * 2019-04-09 2019-07-26 国家计算机网络与信息安全管理中心 基于arima的诈骗电话预测方法及预测系统
CN111278014A (zh) * 2019-12-31 2020-06-12 中移(杭州)信息技术有限公司 一种防诈骗系统、方法、服务器及存储介质
CN112435122A (zh) * 2020-11-18 2021-03-02 东莞智盾信息安全科技有限公司 网络训练方法、异常交易行为识别方法、装置和介质
CN112434742A (zh) * 2020-11-26 2021-03-02 西安交通大学 一种识别以太坊上庞氏骗局的方法、系统及设备
CN112631611A (zh) * 2021-01-06 2021-04-09 中山大学 一种智能庞氏骗局合约识别方法及装置

Also Published As

Publication number Publication date
CN113191775A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN113191775B (zh) 基于以太坊上交易时序信息的庞氏骗局智能合约检测方法
CN107577945B (zh) Url攻击检测方法、装置以及电子设备
CN111291816B (zh) 针对用户分类模型进行特征处理的方法及装置
CN106815530A (zh) 数据存证方法、数据校验方法及装置
CN112307472B (zh) 基于智能决策的异常用户识别方法、装置及计算机设备
CN106453061B (zh) 一种识别网络诈骗行为的方法及系统
CN106296195A (zh) 一种风险识别方法及装置
CN111784502A (zh) 异常交易账户群体识别方法及装置
TW201939412A (zh) 欺詐交易識別方法、裝置、伺服器及儲存媒體
US20210248611A1 (en) Method, Use Thereof, Computer Program Product and System for Fraud Detection
CN112738034B (zh) 一种基于垂直联邦学习的区块链钓鱼节点检测方法
CN107026831A (zh) 一种身份识别方法和装置
CN103530367A (zh) 一种钓鱼网站鉴别系统和方法
CN112967063B (zh) 一种面向以太坊平台的庞氏骗局检测方法
CN113283902B (zh) 一种基于图神经网络的多通道区块链钓鱼节点检测方法
CN113657896A (zh) 一种基于图神经网络的区块链交易拓扑图分析方法和装置
CN110084609A (zh) 一种基于表征学习的交易欺诈行为深度检测方法
CN111428217A (zh) 欺诈团伙识别方法、装置、电子设备及计算机可读存储介质
CN116541755A (zh) 一种基于时序图表征学习的金融行为模式分析预测方法
CN114782051A (zh) 基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法
Barua et al. Swindle: Predicting the probability of loan defaults using catboost algorithm
Sadgali et al. Bidirectional gated recurrent unit for improving classification in credit card fraud detection
CN108197795A (zh) 恶意团体账户识别方法、装置、终端及存储介质
CN111222583A (zh) 一种基于对抗训练与关键路径提取的图像隐写分析方法
CN112750038B (zh) 交易风险的确定方法、装置和服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant