[发明专利]基于仿真技术的以太坊网络探测方法、装置、设备及介质有效
申请号: | 202210512262.0 | 申请日: | 2022-05-12 |
公开(公告)号: | CN115208767B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 刘洋;张玉玺;林致远;王轩;张伟哲;蒋琳;刘川意;吴宇琳 | 申请(专利权)人: | 哈尔滨工业大学(深圳) |
主分类号: | H04L41/12 | 分类号: | H04L41/12;H04L41/14;H04L43/04;H04L9/40 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 戴晓琴;李斌 |
地址: | 518055 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 仿真技术 以太 网络 探测 方法 装置 设备 介质 | ||
本发明公开了一种基于仿真技术的以太坊网络探测方法、装置、计算机设备和存储介质,所述方法包括:采集数据,所述数据包括节点间相识关系和节点元数据;创建启动节点后,通过利用节点发现协议的特点,对对等节点进行反复查询并聚合去重,节点数据库得到此前未被分析的节点相识关系;根据所述节点间相识关系和节点元数据,对以太坊网络中节点的行为进行分析。本发明通过利用节点发现协议的特点,对对等节点进行反复查询并聚合去重,节点数据库得到此前未被分析的节点相识关系,进而根据节点相识关系和节点元数据对以太坊网络中节点的行为进行分析,发现的活跃节点数量比现有其他方法都多,表明本方法可以更加完整的展现以太坊网络性质。
技术领域
发明属于计算机网络安全技术领域,特别是涉及一种基于仿真技术的以太坊网络探测方法、装置、计算机设备及存储介质。
背景技术
目前以太坊是区块链应用最广泛的智能合约平台。尽管针对以太坊共识算法和合约代码安全性分析的研究越来越多,但是针对以太坊的点对点网络特性的研究还没有得到充分的重视。有研究表明,使用工作量证明机制的区块链系统其安全性依赖于点对点网络的可靠性。
以太坊使用点对点网络来交流其区块链的状态,以太坊的网络旨在模拟基于Kademlia DHT的结构化图。由于以上不同,需要对以太坊点对点网络进行完整、全面的探测分析,找出其中可能存在的风险和隐患。
以太坊的点对点网络上主要运行了两个协议,分别是基于UDP的节点发现协议和基于TCP的RLPx协议。
节点发现协议中,节点之间通过相互探测来发现网络中的其他节点。为了加入以太坊网络并开始进行区块同步,以太坊客户端会指定一组种子节点来发现其他的活跃节点并将它们的信息保存到对应的桶中。为了能够在节点间尽快地沟通节点记录,以太坊的Node Discovery Protocol使用UDP作为传输层协议。在该协议的v4版本中包括六种消息类型:Ping、Pong、FindNode、Neighbors、ENRRequest、ENRResponse,其中每两个之间互相作为应答数据包。Ping和Pong包用于判断远程节点是否存活, Neighbors包每次返回16个同FindNode包中节点距离最近的记录。运行节点发现协议并添加节点记录到节点数据库的过程,第一个RTT时间内本地发送FindNode包并接收远程节点返回的Neighbors包,将其中保存的16条节点记录保存至节点数据库;第二个RTT时间本地将向远程节点发送Ping包尝试激活远程节点,收到返回Pong包说明对方存活,此后对剩余节点循环往复不断执行上述操作。
以太坊网络中的所有节点都有各自独立的节点记录,每个节点记录通过节点ID进行标识。节点ID是一个使用16进制表示的512位的ECDSA公钥。目前有enode和enr两种形式的节点记录,enode为明文表示,enr是使用节点私钥签名并分别进行RLP 编码和base64编码后的结果。两个节点之间的距离被称为对数距离。以太坊使用的计算函数是对Kademlia算法的修改,本地节点得知的所有节点记录会按照对数距离进行排序。计算对数距离的过程如下:(1)使用keccak256算法计算两个节点ID哈希值。 (2)对两个哈希值取异或,然后对异或结果取对数。
节点发现完成后的下一个步骤就是同新发现的节点交换数据,RLPx协议就是用来在两个节点之间建立一个可以进行安全通讯的TCP连接。建立连接的过程可以被划分为两个步骤:加密握手和子协议握手。加密握手基于ECIES构造接下来通信使用的对称加密密钥,子协议握手为通信双方沟通子协议名称和版本,选择合适的协议进行数据传输。通讯双方首先向对方发送一条HELLO消息,其中包含了自身节点ID、DEVp2p 协议版本、客户端名称、支持的应用层协议以及本地监听的端口号(默认30303)。
节点发现协议的规范指明每一次返回的相邻数据包将包括16条节点记录,这些节点记录在数据库中与发现节点发送的记录距离最近。此前的探测方法并没有考虑节点数据库中存储的历史节点记录,对每个节点的探测只有一次发现节点和相邻数据包往返,因此仅能获取相当有限的节点记录条目。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学(深圳),未经哈尔滨工业大学(深圳)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210512262.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:近接传感器及其控制方法
- 下一篇:基于多轮对话场景下的回复策略分析方法及装置