基于仿真技术的以太坊网络探测方法、装置、设备及介质制造方法及图纸

技术编号:35260853 阅读:16 留言:0更新日期:2022-10-19 10:20
本发明专利技术公开了一种基于仿真技术的以太坊网络探测方法、装置、计算机设备和存储介质,所述方法包括:采集数据,所述数据包括节点间相识关系和节点元数据;创建启动节点后,通过利用节点发现协议的特点,对对等节点进行反复查询并聚合去重,节点数据库得到此前未被分析的节点相识关系;根据所述节点间相识关系和节点元数据,对以太坊网络中节点的行为进行分析。本发明专利技术通过利用节点发现协议的特点,对对等节点进行反复查询并聚合去重,节点数据库得到此前未被分析的节点相识关系,进而根据节点相识关系和节点元数据对以太坊网络中节点的行为进行分析,发现的活跃节点数量比现有其他方法都多,表明本方法可以更加完整的展现以太坊网络性质。络性质。络性质。

【技术实现步骤摘要】
基于仿真技术的以太坊网络探测方法、装置、设备及介质


[0001]专利技术属于计算机网络安全
,特别是涉及一种基于仿真技术的以太坊网络探测方法、装置、计算机设备及存储介质。

技术介绍

[0002]目前以太坊是区块链应用最广泛的智能合约平台。尽管针对以太坊共识算法和合约代码安全性分析的研究越来越多,但是针对以太坊的点对点网络特性的研究还没有得到充分的重视。有研究表明,使用工作量证明机制的区块链系统其安全性依赖于点对点网络的可靠性。
[0003]以太坊使用点对点网络来交流其区块链的状态,以太坊的网络旨在模拟基于Kademlia DHT的结构化图。由于以上不同,需要对以太坊点对点网络进行完整、全面的探测分析,找出其中可能存在的风险和隐患。
[0004]以太坊的点对点网络上主要运行了两个协议,分别是基于UDP的节点发现协议和基于TCP的RLPx协议。
[0005]节点发现协议中,节点之间通过相互探测来发现网络中的其他节点。为了加入以太坊网络并开始进行区块同步,以太坊客户端会指定一组种子节点来发现其他的活跃节点并将它们的信息保存到对应的桶中。为了能够在节点间尽快地沟通节点记录,以太坊的Node Discovery Protocol使用UDP作为传输层协议。在该协议的v4版本中包括六种消息类型:Ping、Pong、FindNode、Neighbors、ENRRequest、ENRResponse,其中每两个之间互相作为应答数据包。Ping和Pong包用于判断远程节点是否存活, Neighbors包每次返回16个同FindNode包中节点距离最近的记录。运行节点发现协议并添加节点记录到节点数据库的过程,第一个RTT时间内本地发送FindNode包并接收远程节点返回的Neighbors包,将其中保存的16条节点记录保存至节点数据库;第二个RTT时间本地将向远程节点发送Ping包尝试激活远程节点,收到返回Pong包说明对方存活,此后对剩余节点循环往复不断执行上述操作。
[0006]以太坊网络中的所有节点都有各自独立的节点记录,每个节点记录通过节点ID进行标识。节点ID是一个使用16进制表示的512位的ECDSA公钥。目前有enode和enr两种形式的节点记录,enode为明文表示,enr是使用节点私钥签名并分别进行RLP 编码和base64编码后的结果。两个节点之间的距离被称为对数距离。以太坊使用的计算函数是对Kademlia算法的修改,本地节点得知的所有节点记录会按照对数距离进行排序。计算对数距离的过程如下:(1)使用keccak256算法计算两个节点ID哈希值。 (2)对两个哈希值取异或,然后对异或结果取对数。
[0007]节点发现完成后的下一个步骤就是同新发现的节点交换数据,RLPx协议就是用来在两个节点之间建立一个可以进行安全通讯的TCP连接。建立连接的过程可以被划分为两个步骤:加密握手和子协议握手。加密握手基于ECIES构造接下来通信使用的对称加密密钥,子协议握手为通信双方沟通子协议名称和版本,选择合适的协议进行数据传输。通讯双
方首先向对方发送一条HELLO消息,其中包含了自身节点ID、DEVp2p 协议版本、客户端名称、支持的应用层协议以及本地监听的端口号(默认30303)。
[0008]节点发现协议的规范指明每一次返回的相邻数据包将包括16条节点记录,这些节点记录在数据库中与发现节点发送的记录距离最近。此前的探测方法并没有考虑节点数据库中存储的历史节点记录,对每个节点的探测只有一次发现节点和相邻数据包往返,因此仅能获取相当有限的节点记录条目。

技术实现思路

[0009]为了解决上述现有技术的不足,本专利技术提供了一种基于仿真技术的以太坊网络探测方法、装置、计算机设备和存储介质,该方法基于仿真技术创建启动节点后,利用原有节点发现协议的特点,通过利用节点发现协议的特点,对对等节点进行反复查询并聚合去重,节点数据库得到此前未被分析的节点相识关系,进而利用采集到的节点相识关系以及节点元数据对以太坊网络中节点的行为进行分析,发现的活跃节点数量比现有其他方法都多,表明本方法可以更加完整地展现以太坊网络的性质。
[0010]本专利技术的第一个目的在于提供一种基于仿真技术的以太坊网络探测方法。
[0011]本专利技术的第二个目的在于提供一种基于仿真技术的以太坊网络探测装置。
[0012]本专利技术的第三个目的在于提供一种计算机设备。
[0013]本专利技术的第四个目的在于提供一种存储介质。
[0014]本专利技术的第一个目的可以通过采取如下技术方案达到:
[0015]一种基于仿真技术的以太坊网络探测方法,所述方法包括:
[0016]采集数据,所述数据包括节点间相识关系和节点元数据;创建启动节点后,通过利用节点发现协议的特点,对对等节点进行反复查询并聚合去重,节点数据库得到此前未被分析的节点相识关系;
[0017]根据所述节点间相识关系和节点元数据,对以太坊网络中节点的行为进行分析。
[0018]进一步的,所述根据所述节点间相识关系和节点元数据,对以太坊网络中节点的行为进行分析,包括:
[0019]将所有节点间相识关系和节点元数据保存在本地数据库中,对本地数据库中的数据进行分表;
[0020]将表中的节点划分为活跃节点、关键节点、路由节点以及恶意节点;
[0021]统计各表中节点的类别;
[0022]根据统计结果,对以太坊网络中节点的行为进行分析。
[0023]进一步的,所述对本地数据库中的数据进行分表,即按照节点类型对本地数据库中的数据进行分表,包括活跃节点表、相识关系表以及关键节点表。
[0024]进一步的,所述根据统计结果,对以太坊网络中节点的行为进行分析,包括:
[0025]根据统计结果计算各类活跃节点在网络中所占的比重;
[0026]遍历相识关系表,找出全部活跃节点,采用PageRank算法分析表中的关键节点及其影响因子;针对恶意节点进行分析,对伪造行为的原理以及对网络的影响进行分析。
[0027]进一步的,所述活跃节点为当前存在于网络中正常运行区块链协议的节点,是区块链运行不可或缺的因素;
[0028]所述关键节点为活跃节点,并拥有优秀的网络条件和硬件资源,对新区块的出块和广播有着很大影响力;
[0029]所述路由节点为一类特殊的节点,不运行任何应用层协议,只进行节点记录的转发,对新节点快速加入区块链网络具有重要意义;
[0030]所述恶意节点不运行任何区块链协议,也没有与其他节点的相识关系,却大量广播伪造的节点记录或伪造节点身份让活跃节点与其进行连接的特殊节点。
[0031]进一步的,所述节点元数据包括节点记录序号、客户端版本及开发语言、操作系统类型以及支持的应用层协议,其中:
[0032]获取节点记录序号数据包括:
[0033]启动节点向远程节点模拟发送ENR Request Packet,从接收到的ENR Resp本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于仿真技术的以太坊网络探测方法,其特征在于,所述方法包括:采集数据,所述数据包括节点间相识关系和节点元数据;创建启动节点后,通过利用节点发现协议的特点,对对等节点进行反复查询并聚合去重,节点数据库得到此前未被分析的节点相识关系;根据所述节点间相识关系和节点元数据,对以太坊网络中节点的行为进行分析。2.根据权利要求1所述的以太坊网络探测方法,其特征在于,所述根据所述节点间相识关系和节点元数据,对以太坊网络中节点的行为进行分析,包括:将所有节点间相识关系和节点元数据保存在本地数据库中,对本地数据库中的数据进行分表;将表中的节点划分为活跃节点、关键节点、路由节点以及恶意节点;统计各表中节点的类别;根据统计结果,对以太坊网络中节点的行为进行分析。3.根据权利要求2所述的以太坊网络探测方法,其特征在于,所述对本地数据库中的数据进行分表,即按照节点类型对本地数据库中的数据进行分表,包括活跃节点表、相识关系表以及关键节点表。4.根据权利要求3所述的以太坊网络探测方法,其特征在于,所述根据统计结果,对以太坊网络中节点的行为进行分析,包括:根据统计结果计算各类活跃节点在网络中所占的比重;遍历相识关系表,找出全部活跃节点,采用PageRank算法分析表中的关键节点及其影响因子;针对恶意节点进行分析,对伪造行为的原理以及对网络的影响进行分析。5.根据权利要求2所述的以太坊网络探测方法,其特征在于,所述活跃节点为当前存在于网络中正常运行区块链协议的节点,是区块链运行不可或缺的因素;所述关键节点为活跃节点,并拥有优秀的网络条件和硬件资源,对新区块的出块和广播有着很大影响力;所述路由节点为一类特殊的节点,不运行任何应用层协议,只进行节点记录的转发,对新节点快速加入区块链网络具有重要意义;所述恶意节点不运行任何区块链协议,也没有与其他节点的相识关系,却大量广播伪造的节点记录或伪造节点身份让活跃节点与其进行连接的特殊节点。6.根据权利要求1所述的以太坊网络探测方法,其特征在于,所述节点元数据包括节点记录序号、客户端版本及开发语言、操作...

【专利技术属性】
技术研发人员:刘洋张玉玺林致远王轩张伟哲蒋琳刘川意吴宇琳
申请(专利权)人:哈尔滨工业大学深圳
类型:发明
国别省市:

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

1