一种基于以太坊节点时间信息的同源交易识别方法技术

技术编号:36603230 阅读:41 留言:0更新日期:2023-02-04 18:21
本发明专利技术涉及一种基于以太坊节点时间信息的同源交易识别方法,属于区块链技术领域。本方法旨在利用以太坊网络中固定节点泄露的时间信息,对交易的网络属性进行特征表达,实现从网络层对海量交易的关联分析。本方法利用交易的网络属性特征,以节点为实体进行交易关联。通过从多个固定节点检测交易泛洪广播的时间次序,对每一笔交易的广播过程进行统一的特征表示,将具有相似广播过程的交易也即从同一源节点进入网络的交易聚类为一个实体。本方法能够覆盖以太坊中所有交易,同时能够抵抗混币合约的影响。合约的影响。合约的影响。

【技术实现步骤摘要】
一种基于以太坊节点时间信息的同源交易识别方法


[0001]本专利技术涉及一种基于以太坊节点时间信息的同源交易识别方法,属于区块链


技术介绍

[0002]自区块链技术推出以来,各种依托于区块链技术的加密货币层出不穷。其中,以太坊作为第一个支持智能合约的区块链平台,受到了人们的广泛关注。在以以太坊为代表的加密货币系统中,用户可以自由申请与真实身份无关的假名,并通过假名进行交易。这些假名由用户持有的私钥进行控制。虽然为了实现去中心化的共识,与假名相关的所有交易记录,包括交易金额、交易时间、账户地址等,都会公开到区块中,任由所有人查看,但是没有人知道这个假名所代表的真实身份,这保护了用户的隐私。
[0003]由于其巨大的市场价值和身份匿名的特性,以太坊上频繁发生着各种恶意行为。这些恶意行为直接损害了用户的经济利益,破坏了区块链生态的安全。因此,一些研究结构和公司着手分析区块链上公开的数据,分析不同假名之间的关联分析,确定同一用户的不同假名,以评估加密货币资产、规划资金流动和支持执法。
[0004]现有的针对以太坊的交易关联方法,可以分为两类:基于用户习惯和基于特定场景。其中,基于用户习惯,是指研究者利用假名背后用户的唯一性,通过分析账户的交易时间、交易费率、交易金额等体现用户行为习惯的特征,提出启发式规则,将同一用户的不同账户聚类为一个实体,进而对全网交易进行统计分析。基于特定场景,是指研究者利用以太坊中的某些特殊场景(例如,存款地址重用,多重参与空头,自授权等)下的特殊规则,依据这些规则提出启发式聚类方法,将不同交易的发起者进行关联。
[0005]然而,这些关联方法都必须要知道每一笔交易的发起者和接受者的账户地址,会受到混币协议的影响。一旦用户使用混币合约屏蔽了发起者和接受者之间的联系,这些方法就会失效。同时,由于利用的是用户行为习惯和特殊场景下的规则,这些关联方法只能关联少量符合条件的交易,而对剩下的大部分交易无法起到作用。
[0006]综上所述,目前针对以太坊进行交易关联的方法存在覆盖量少、鲁棒性差等缺点。

技术实现思路

[0007]本专利技术的目的是为了克服现有技术存在的缺陷,创造性地提出一种基于以太坊节点时间信息的同源交易识别方法。
[0008]本方法旨在利用以太坊网络中固定节点泄露的时间信息,对交易的网络属性进行特征表达,实现从网络层对海量交易的关联分析。本方法能够覆盖以太坊中所有交易,同时能够抵抗混币合约的影响。
[0009]本方法的创新点在于:利用所有交易都具备的特征:网络属性,以节点为实体进行交易关联。通过从多个固定节点检测交易泛洪广播的时间次序,对每一笔交易的广播过程进行统一的特征表示,将具有相似广播过程的交易也即从同一源节点进入网络的交易聚类
为一个实体。
[0010]本专利技术采用的技术方案如下。
[0011]一种基于以太坊节点时间信息的同源交易识别方法,包括以下步骤:
[0012]步骤1:监测网络,并收集交易网络信息。
[0013]进行交易关联,首先在以太坊网络中部署客户端,采集交易的网络层数据,然后将这些数据进行存储,用于后续分析。
[0014]具体地,步骤1可以包括以下步骤:
[0015]步骤1.1:修改以太坊客户端(如geth客户端,全称go

ethereum)源码,记录交易信息。
[0016]由于以太坊提供的客户端是面向用户的,它隐藏了节点与网络中的邻居进行交互的过程,直接将最后的交互结果呈现给用户。因此,要修改以太坊客户端源码,在节点接收到邻居节点中继的交易时,将交易的日志信息记录下来,包括交易的时间戳、交易哈希、中继节点IP、交易的发起者账户。
[0017]具体地,采用四元组(h,a,p,t)来描述邻居节点中继的每一笔交易,其中,t表示交易的时间戳,h表示交易哈希,p表示中继节点IP,a表示交易的发起者账户。
[0018]步骤1.2:部署以太坊客户端,监测网络。
[0019]在以太坊主网中部署客户端运行快同步模式,作为探针节点。
[0020]在快同步模式下,探针节点接收邻居节点中继的区块和交易,但不会对新的交易和区块进行验证转发。
[0021]步骤2:数据处理。
[0022]首先设定时间阈值T和最少副本数量M。
[0023]以T为时间间隔,对记录的日志信息进行区间划分。对于每一个区间中的数据,提取日志信息(可以使用python脚本进行提取),将交易哈希、交易的时间戳、交易的发起者账户、中继节点IP进行保存(可以以JSON格式保存)。
[0024]对于每一笔交易tx,记录tx={h,a,(p
i
,t
i
)|i=0,1

},统计不同节点将交易中继到探针节点的时间,其中,p
i
为不同的邻居节点IP,t
i
为探针接收到邻居节点转发的交易副本时的相对时间(即,减去每笔交易的最小时间戳)。同时,剔除接收到副本数量少于M的交易和异常数据交易(由于网络中断等原因导致)。最后,记录所有交易的邻居节点集合P,P={p
i
|i=0,1

}。
[0025]步骤3:构建同源交易对和非同源交易对。
[0026]其中,同源交易对,指从同一源节点进入网络的两笔交易。非同源交易对,指从不同源节点进入网络的两笔交易。
[0027]基于用户短时间内不会频繁切换入网节点的事实,本专利技术提出一种识别同源交易对和非同源交易对的启发式聚类规则,具体包括:
[0028]规则1:任意两笔交易tx1、tx2,如果tx1.a==tx2.a且|tx1.t

tx2.t|<T,则tx1和tx2是同源交易对。
[0029]规则2:同源交易对tx1‑
tx2,分别发生在时间t1、t2;同源交易对tx3‑
tx4,分别发生在时间t3、t4。如果t1、t2与t3、t4存在时间交集,则tx3和tx1是非同源交易对,tx2和tx4是非同源交易对。
[0030]针对步骤2中得到的交易,依据规则1构建同源交易对,依据规则2构建非同源交易对。
[0031]步骤4:统一不同交易时间戳的参照节点,获取统一的表达。
[0032]具体地,选定IP集合P中p0作为参照节点,将步骤3中得到的同源交易对和非同源交易对进行相对化。将每一笔交易的时间戳t
i
减去p0节点对应的时间戳t0,t
i
=t
i

t0。
[0033]然后,依据P中的IP顺序,将交易中的时间序列进行重排序,为每一比较构建具有相同含义(相对于相同的节点)且相同顺序的相对时间序列。
[0034]步骤5:分析同源交易对的广播过程,对同源交易对的相似性进行特征表示,统一同源交易对和非同源交易对的特征表示。
[0035]具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于以太坊节点时间信息的同源交易识别方法,其特征在于,包括以下步骤:步骤1:监测网络,并收集交易网络信息;首先在以太坊网络中部署客户端,采集交易的网络层数据,然后将这些数据进行存储,用于后续分析;步骤2:数据处理;首先,设定时间阈值T和最少副本数量M;以T为时间间隔,对记录的日志信息进行区间划分;对于每一个区间中的数据,提取日志信息,将交易哈希、交易的时间戳、交易的发起者账户、中继节点IP进行保存;对于每一笔交易tx,记录tx={h,a,(p
i
,t
i
)|i=0,1

},h表示交易哈希,a表示交易的发起者账户统计不同节点将交易中继到探针节点的时间,p
i
为不同的邻居节点IP,t
i
为探针接收到邻居节点转发的交易副本时的相对时间;同时,剔除接收到副本数量少于M的交易和异常数据交易;最后,记录所有交易的邻居节点集合P,P={p
i
|i=0,1

};步骤3:构建同源交易对和非同源交易对;其中,同源交易对,指从同一源节点进入网络的两笔交易;非同源交易对,指从不同源节点进入网络的两笔交易;采用一种识别同源交易对和非同源交易对的启发式聚类规则,具体包括:规则1:任意两笔交易tx1、tx2,如果tx1.a==tx2.a且|tx1.t

tx2.t|<T,则tx1和tx2是同源交易对;规则2:同源交易对tx1‑
tx2,分别发生在时间t1、t2;同源交易对tx3‑
tx4,分别发生在时间t3、t4;如果t1、t2与t3、t4存在时间交集,则tx3和tx1是非同源交易对,tx2和tx4是非同源交易对;针对步骤2中得到的交易,依据规则1构建同源交易对,依据规则2构建非同源交易对;步骤4:统一不同交易时间戳的参照节点,获取统一的表达;选定IP集合P中p0作为参照节点,将步骤3中得到的同源交易对和非同源交易对进行相对化;将每一笔交易的时间戳t
i
减去p0节点对应的时间戳t0,t
i
=t
i

...

【专利技术属性】
技术研发人员:沈蒙余聪聪车征祝烈煌
申请(专利权)人:北京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1