主页 > 官网imtoken安卓版 > 以太坊平台识别钓鱼用户的方法

以太坊平台识别钓鱼用户的方法

官网imtoken安卓版 2023-12-10 05:14:41

(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公开号 (43)申请公开日 (21)申请号 202110023104.4 (22)申请日 2021.01.08 (71)申请人 浙江理工大学地址 310014 浙江省杭州市下城区潮王路18号 (72) 发明人 宣启 谢云 山亚路 (74) 专利代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵(51) Int.Cl .G06Q 20/38 (2012.01) G06Q 20/40 (2012.01) G06Q 40/04 (2012.01) H04L 29/06 (2006.01) (54) 发明名称一种以太坊钓鱼用户识别方法平台(57) 发明内容本申请公开了一种以太坊平台钓鱼用户识别方法,包括以下步骤: S1:获取已在互联网上公开的钓鱼用户数据; S2:获取以太坊平台中的数据进行预处理,构建一个有向有权的时间信息网络; S3:在S2构建的用户交易网络中选取与钓鱼用户数量相同的正常用户,在每个授权和定向网络中提取上述用户的特征; S4:结合上述用户特征输入分类器进行分类,识别用户中的钓鱼用户。 解决了现有技术仅限于用户的交易记录,用户与智能合约之间的交互关系还比较缺乏的问题。

权利要求书2页,说明书6页,附图1页,CN 112734425 A2021.04.30CN 112734425 A1。 一种以太坊平台钓鱼用户识别方法,其特征在于包括以下步骤: S1:获取已公开在互联网上的钓鱼用户数据; S2:获取以太坊平台中的数据进行预处理,构建带有时间信息的有向网络; S3:在S2构建的用户交易网络中选取与钓鱼用户数量相同的正常用户,在每个授权和定向网络中提取上述用户的特征; S4:将上述用户的特征输入分类器进行分类,从而在用户中识别出钓鱼用户。 2.根据权利要求1所述的一种以太坊平台钓鱼用户识别方法,其特征在于,所述步骤S2具体包括: S2.1:对获取以太坊平台所有数据进行预处理过程,包括: 删除带有交易的交易记录用户交易数据、智能合约创建和调用数据中的金额为0,只保留用户创建和调用智能合约的数据。 S2.2:为处理后的数据构造一个带有时间信息的有向权网络。 定向权网络包括用户交易网络、智能合约创建网络和智能合约调用网络。 其中,用户交易网络表示某一时刻用户集合中用户的交易金额; 智能合约创建网络表示用户和智能合约集合在某个时刻创建了一个智能合约; 智能合约调用网络表示用户和智能合约集合在某个时刻创建了一个智能合约; 时间调用智能合约。

更具体地说: 用户交易网络:用户vi和用户vj在t时刻的交易金额因此用户交易网络可以表示为G(V,E,W,T),其中V表示网络中用户的集合,E代表用户与用户的交易记录集合,代表用户vi和用户vj在t时刻的权重,即两个用户在t时刻的交易金额,T代表用户之间的交易时间集合(时间精确到秒)。 智能合约创建网络:用户vi在时间t创建了一个智能合约vj,因此智能合约创建网络可以表示为G(V,E,T),其中V代表网络中用户和智能合约的集合,以及E代表用户创建智能合约A记录的集合,T代表用户创建智能合约时间的集合(时间精确到秒)。 智能合约调用网络:用户vi在时间t调用智能合约vj,因此智能合约调用网络可以表示为G(V,E,W,T),其中V表示网络中用户和智能合约的集合,其中E代表用户调用智能合约记录的集合,表示用户vi在时间t调用智能合约vj的次数,T代表用户调用智能合约的时间集合(时间精确到秒)。 3.如权利要求1所述的一种以太坊平台钓鱼用户识别方法,其特征在于,在步骤S3中,在S2中构建的三个网络中分别提取信息作为用户特征,具体为:用户交易网提取用户活跃天数、用户交易笔数和用户交易总额; 智能合约创建网络提取用户活跃天数和用户创建的智能合约总数; 智能合约调用网络提取用户活跃天数和用户调用的智能合约总数数量。

更具体地说: S3.1 对于用户交易网络:用户活跃天数:用户有交易记录的天数; user transaction times in:其他用户向当前用户转账的次数; user transaction amount in:其他用户向当前用户转账的总金额,即其中vi代表当前用户在第1/2页的claim 2CN 112734425 A2,N(vi)代表所有转账用户的集合money to the current user,表示用户vj在时间t向用户vi转账的金额; 用户转出数量:当前用户转出给其他用户的数量; user transaction amount out:当前用户向其他用户转账的总金额,即其中vi表示当前用户,N(vi)表示当前用户转账的所有用户的集合,表示用户vi在t时刻用户vj的转账金额; S3.2 对于智能合约创建网络:用户活跃天数:用户拥有智能合约创建记录的天数; 用户创建数:用户创建的智能合约的数量,即vi代表当前用户,N(vi)表示当前用户创建的智能合约的集合; S3.3 对于智能合约调用网络:用户活跃天数:用户拥有智能合约调用记录的天数; User,N(vi)表示当前用户调用的智能合约集合,表示用户vi在时间t调用智能合约vj的次数。

此外,提取了上述三个网络中每个用户的基本网络拓扑属性,如聚类系数、度中心性、介数中心性、特征向量中心性、邻近中心性和PageRank值等,最后得到每个用户关于不同的网络拼接生成每个用户的特征。 4、 如权利要求1所述的一种以太坊平台钓鱼用户识别方法, 其特征在于,在步骤S4中以太坊是一种可由用户自己, 机器学习中的分类器为逻辑回归分类器, 通过输出判断用户分类器的是否是钓鱼用户。 Claims 2/2 page 3CN 112734425 A3 一种以太坊平台钓鱼用户识别方法 [0001] 本申请涉及区块链技术领域,具体为一种以太坊平台钓鱼用户识别方法。 背景技术 [0002] 区块链是一种完全开放的点对点去中心化电子记账系统,以太坊作为基于区块链的最大智能合约支撑平台,被称为区块链2.0,近年来受到广泛关注。 以太坊首次引入了智能合约的概念:智能合约是一段不可篡改、过程透明、执行过程中不可中断的代码。 为了方便智能合约的实现,以太坊平台引入了账户的概念,账户包括用户和智能合约两类。 不同的是,智能合约是一个可执行代码,而用户是一个可以像银行用户一样进行交易的账户。 然而,随着区块链技术的高速发展,以太坊平台衍生出各种网络犯罪,如钓鱼诈骗、庞氏骗局等。

在各种安全问题中,以太坊平台上超过50%的网络犯罪类型都是钓鱼诈骗,钓鱼诈骗似乎已经成为以太坊平台交易安全的一大威胁。 专利号CN202010140820.6公开了一种以太网络钓鱼诈骗的网络表示学习方法,包括获取交易历史记录,从交易历史记录中提取节点及其一阶邻居节点组成网络,其中节点包括钓鱼节点和其他节点; 上述网络中,采用网络表示学习方法对节点间的交易特征进行采样学习,得到各节点结构特征对应的网络表示学习向量。 将网络中每个节点的表示学习向量输入到分类器进行分类,从而从每个节点中分类出钓鱼节点。 本发明有效解决了区块链数字货币的各种安全问题,减少了因钓鱼、诈骗造成的严重经济损失。 [0005] 以太坊平台具有公开透明的特点,可以获取用户的交易信息和智能合约的创建和调用信息。 上述专利对以太坊平台钓鱼用户的识别仅限于用户的交易记录,用户与智能合约的交互还比较欠缺。 [0006] 本申请的主要目的在于提供一种在以太坊平台中识别钓鱼用户的方法,以解决现有技术中仅限于用户的交易记录,以及用户与用户之间的交互。智能合约目前还存在不足的问题。

[0007] 为实现上述目的,本申请提供如下技术: [0008] 一种以太坊平台钓鱼用户识别方法,包括步骤: [0009] S1:获取公开的互联网钓鱼用户数据; [0010] S2:获取以太坊平台中的数据进行预处理以太坊是一种可由用户自己,构建带有时间信息的有向网络; [0011] S3:在S2构建的用户交易网络中选取与钓鱼用户相同数量的正常用户作为用户,在每个授权定向网络中提取上述用户的特征; [0012] S4:将上述用户的特征输入到分类器中进行分类,从而在用户中识别出钓鱼用户。 [0014] 进一步地,所述步骤S2具体包括:说明书1/6页4CN 112734425 A4 [0014] S2.1:获取以太坊平台中的所有数据并进行预处理过程包括:删除用户交易数据中交易金额为0的交易记录,以及创建和调用智能合约的数据,只保留用户创建和调用智能合约的数据。 [0015] S2.2:为处理后的数据构建带有时间信息的有向权限网络,有向权限网络包括用户交易网络、智能合约创建网络和智能合约调用网络。 其中,用户交易网络表示某一时刻用户集合中用户的交易金额; 智能合约创建网络表示用户和智能合约集合在某个时刻创建了一个智能合约; 智能合约调用网络表示用户和智能合约集合在某个时刻创建了一个智能合约; 时间调用智能合约。

[0016] 用户交易网络:用户vi与用户vj在时间t的交易金额为因此用户交易网络可以表示为G(V,E,W,T),其中V表示用户集合在网络中,E表示用户之间的交易记录集合,表示用户vi和用户vj在t时刻的权重,即两个用户在t时刻的交易金额,T表示用户之间的交易时间集合(时间精确到秒)。 智能合约创建网络:用户vi在时间t创建智能合约vj,因此智能合约创建网络可以表示为G(V,E,T),其中V代表网络中的用户和智能合约集合,E代表用户创建智能合约记录的集合,T代表用户创建智能合约的时间集合(时间精确到秒)。 智能合约调用网络:用户vi在时间t调用智能合约vj,因此智能合约调用网络可以表示为G(V,E,W,T),其中V表示网络中的用户和智能合约集合,E表示用户调用智能合约记录的集合,表示用户vi在时间t调用智能合约vj的次数,T表示用户调用智能合约的时间集合(时间精确到秒). 进一步地,所述步骤S3中,具体为:在S2中构建的三个网络中分别提取信息作为用户特征,即用户交易网络提取用户活跃天数、用户交易次数和用户交易总额; 智能合约创建网络提取用户的活跃天数和用户创建的智能合约总数; 智能合约调用网络提取用户的活跃天数和用户调用的智能合约总数。

更具体地: [0020] 1.对于用户交易网络: [0021] 用户活跃天数:用户有交易记录的天数; [0022] 用户交易次数:其他用户向当前用户转账的次数; [0023] 用户交易金额in:其他用户向当前用户转账的总金额,即,其中vi代表当前用户,N(vi)代表所有用户向当前用户转账的集合,表示在时间 t 将用户 vj 的数量转移给用户 vi; [0024] 用户交易超时:当前用户向其他用户的转账次数; [0025] 用户交易金额out:当前用户向其他用户转账的总金额,即,其中vi代表当前用户,N(vi)代表当前用户转账的所有用户。 vi 在时间 t 发送给用户 vj; [0026] 2.对于智能合约创建网络: [0027] 用户活跃天数:用户有智能合约创建记录的天数; [0028] 用户创建数量:用户创建的智能合约数量,即其中vi代表当前用户,N手册2/6页5CN 112734425 A5(vi)代表创建的智能合约集合当前用户; [0029] 3. 对于智能合约调用网络: [0030] 用户活跃天数:用户有智能合约调用记录的天数; [0031] 用户调用次数:用户调用智能合约的次数,即vi代表当前用户,N(vi)代表当前用户调用的智能合约集合,表示用户vi在在时间 t 调用智能合约 vj 的次数。

此外,分别提取上述三个网络中每个用户的基本网络拓扑属性,如聚类系数、度中心性、介数中心性、特征向量中心性、闭中心性和PageRank值,最后得到每个用户在不同网络上的信息为拼接生成每个用户的特征。 [0033] 进一步地,步骤S4中的分类器为逻辑回归分类器,分类器的输出判断用户是否为钓鱼用户。 与现有技术相比,本发明能够带来如下技术效果: [0035] 1、本发明专门针对以太坊平台,提出了用户交易网络、智能合约创建网络和智能合约网络的定义,并在此基础上,提出了一些基于上述网络的用户特征,以太坊平台中的用户可以提取相应的指标作为自己的特征,从而有效区分以太坊平台中的钓鱼用户。 [0036] 2、解决现有技术仅局限于用户的交易记录,用户与智能合约之间的交互关系还比较缺乏的问题。 附图说明 [0037] 构成本公开的一部分的附图被包括在内以提供对本发明的进一步理解,并且使本发明的其他特征、目的和优点更加明显。 具体实施方式附图及其说明用于解释本发明,并不构成对本发明的不当限制。 在附图中: [0038] 图1是本发明在以太坊平台中识别钓鱼用户的方法的流程图。

具体实施方式为了使本领域的技术人员更好地理解本发明的方案,下面结合实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述本发明的。 显然,所描述的实施例仅为本发明的部分实施例,并非全部实施例。 基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 需要说明的是,本发明的说明书和权利要求书以及上述附图中的“第一”、“第二”等词语用于区分相似的对象,并不一定用于描述特定顺序或优先。 应当理解,对于此处描述的本发明的实施例,在适当的情况下可以互换如此使用的数据。 此外,术语“包括”和“具有”及其任何变体旨在涵盖非排他性包含,例如,包括一系列步骤或元件的过程、方法、系统、产品或装置是相反,不一定限于明确列出的,可以包括未明确列出或过程、方法、产品或装置固有的其他步骤或要素。 在本发明中,术语“上”、“下”、“左”、“右”、“前”、“后”、“上”、“下”、“内”、“外”,描述3/6 page 6CN 112734425 A6 用“中间”、“垂直”、“水平”、“水平”、“纵向”……表示的方位或位置关系