会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 比特币地址 / 一种基于网络空间搜索引擎的比特币地址分类验证方法

一种基于网络空间搜索引擎的比特币地址分类验证方法

申请号 CN202210381926.4 申请日 2022-04-12 公开(公告)号 CN114679394B 公开(公告)日 2023-09-15
申请人 北京理工大学; 国家计算机网络与信息安全管理中心; 发明人 李锐光; 徐大伟; 高家奇; 朱佳伟; 吴阜东; 刘铭; 李超; 祝烈煌;
摘要 本发明公开了一种基于网络空间搜索引擎的比特币地址分类验证方法,步骤一、向网络空间搜索引擎输入查询地址,步骤二、分析返回结果,步骤三、判断是否返回有效记录,步骤四、判断地址类型;本发明能够完成对比特币地址的自动分类验证,识别出网络中的在线可连接节点、在线不可连接接线、失效可连接节点、失效不可连接接线和虚假节点,对比特币网络拓扑分析、交易溯源等有着重要价值。
权利要求

1.一种基于网络空间搜索引擎的比特币地址分类验证方法,其特征在于,包括以下步骤:步骤一、将待验证的比特币节点IP地址通过网络空间搜索引擎提供的API函数输入搜索引擎,并接收返回数据;

步骤二、采用字符串匹配的方法,提取所述返回数据中的IP地址、开放服务类型、时间戳;

步骤三、若网络空间搜索引擎未返回数据或返回数据中IP地址与查询地址不一致,说明搜索引擎历史检索记录中没有这条IP地址的探测记录,则该地址为虚假地址,返回步骤一;

若搜索引擎返回了与查询地址一致的IP地址,则该地址为有效地址,进入步骤四判断地址类型;

步骤四、分析返回数据中的开放服务类型、时间戳信息;

当时间戳在搜索引擎轮询周期以内时,如果开放服务中包含“bitcoin”字符串,说明该节点正在提供比特币服务,是一个可连接节点;如果不包含“bitcoin”字符串,说明该节点是一个不可连接节点;

当时间戳超出搜索引擎轮询周期时,如果开放服务中包含“bitcoin”字符串,说明该节点是一个失效可连接节点;如果不包含“bitcoin”字符串,说明该节点是一个失效不可连接节点。

2.如权利要求1所述的一种基于网络空间搜索引擎的比特币地址分类验证方法,其特征在于,重复以上步骤一~步骤四,可完成对多个比特币地址的自动分类验证,识别出网络中的在线可连接节点、在线不可连接接线、失效可连接节点、失效不可连接节点和虚假节点。

3.如权利要求1所述的一种基于网络空间搜索引擎的比特币地址分类验证方法,其特征在于,步骤三中,若返回数据中IP地址与查询地址不一致则说明返回结果错误。

说明书全文

一种基于网络空间搜索引擎的比特币地址分类验证方法

技术领域

[0001] 本发明属于区块链的技术领域,具体涉及一种基于网络空间搜索引擎的比特币地址分类验证方法。

背景技术

[0002] 比特币网络是P2P网络,具有无中心、拓扑动态变化的特点。节点通过与相邻地址建立连接,组成动态P2P网络,并完成地址广播、交易传输等基本功能。在P2P网络中,节点地址管理对网络正常运行起着非常重要的作用。比特币所有节点地址保存在节点的addrman数据库中,从中按照一定算法选择邻居节点。由于比特币网络缺少对历史地址的定期清理功能,大量过期、失效的节点地址不断累积,目前总量已接近500万个。
[0003] 我们通过GETADDR‑ADDR方法可以获得大量的比特币地址。全部地址可分为在线地址和离线地址两大类,其中在线地址对应当前提供网络实时服务的节点,而离线地址对应当前已不再提供网络服务的节点。地址类型还可以分为可连接地址和不可连接地址两类:可连接地址接收其它节点发来的连接请求,一般是网络的服务端;不可连接地址不接收连接请求,一般是网络的客户端。因此,全部地址可细分为:可连接地址、不可连接地址两类、失效可连接地址、失效不可连接地址和虚假地址5类,如图1所示。
[0004] 验证比特币节点地址对于研究比特币网络有着很大价值。现有的方法只能验证可连接地址,即仿冒比特币客户端,按照比特币协议向目标节点发起连接请求,如连接成功则证明对方是比特币可连接节点。目前可连接节点数量大约在3~4万个。而对于数量更多的其他类别节点,目前尚无有效的验证方法。
[0005] 网络空间搜索引擎是一种新的互联网服务平台,它们利用遍布全球的探针,一刻不停地对网络空间进行探测,通过多种协议扫描网络开放端口,发现网络中存在的实体及服务。当前知名的搜索引擎有Shodan、Censys、ZoomEye、Fofa等,已成为第三方网络服务基础设施。这些引擎的探测能力远超单个终端,大多提供了对比特币节点的探测服务,为全面验证各类节点提供可能。
[0006] 现有的比特币地址验证方法最大的缺陷是只能验证可连接节点,而无法验证其它各类节点。现有方法是基于主动探测的,只有可连接节点对主动探测作出响应,其它各类节点均无法响应。其中,不可连接节点不接收外部节点发来的incoming连接请求,因此无法主动探测到。不可连接节点数量通常是可连接节点数十倍。失效节点是比特币网络中曾经存在的历史节点,目前均已离线,故无法响应主动探测。关于不可连接节点、失效可连接节点、失效不可连接节点的研究,对比特币网络有着重要价值,需要找到可靠的验证方法。

发明内容

[0007] 有鉴于此,本发明提供了一种基于网络空间搜索引擎的比特币地址分类验证方法,能够获得对不可连接节点、失效可连接节点、失效不可连接节点的有效验证方法。
[0008] 实现本发明的技术方案如下:
[0009] 一种基于网络空间搜索引擎的比特币地址分类验证方法,包括以下步骤:
[0010] 步骤一、将待验证的比特币节点IP地址通过网络空间搜索引擎提供的API函数输入搜索引擎,并接收返回数据;
[0011] 步骤二、采用字符串匹配的方法,提取所述返回数据中的IP地址、开放服务类型、时间戳;
[0012] 步骤三、若网络空间搜索引擎未返回数据或返回数据中IP地址与查询地址不一致,说明搜索引擎历史检索记录中没有这条IP地址的探测记录,则该地址为虚假地址,返回步骤一;
[0013] 若搜索引擎返回了与查询地址一致的IP地址,则该地址为有效地址,进入步骤四判断地址类型;
[0014] 步骤四、分析返回数据中的开放服务类型、时间戳信息;
[0015] 当时间戳在搜索引擎轮询周期以内时,如果开放服务中包含“bitcoin”字符串,说明该节点正在提供比特币服务,是一个可连接节点;如果不包含“bitcoin”字符串,说明该节点是一个不可连接节点;
[0016] 当时间戳超出搜索引擎轮询周期时,如果开放服务中包含“bitcoin”字符串,说明该节点是一个失效可连接节点;如果不包含“bitcoin”字符串,说明该节点是一个失效不可连接节点。
[0017] 进一步地,重复以上步骤一~步骤四,可完成对多个比特币地址的自动分类验证,识别出网络中的在线可连接节点、在线不可连接接线、失效可连接节点、失效不可连接节点和虚假节点。
[0018] 进一步地,步骤三中,若返回数据中IP地址与查询地址不一致则说明返回结果错误。
[0019] 有益效果:
[0020] 1、本发明方法充分利用网络空间搜索引擎广泛部署的探针,以及对全网的探测数据及探测能力,巧妙实现了对比特币各类比特币节点的准确验证。
[0021] 2、本发明方法利用网络空间搜索引擎积累的丰富数据及高性能扫描平台,开展比特币节点地址验证,准确率较高,对不可连接节点验证准确率超过95%。
[0022] 3、本发明方法基于网络搜索引擎提供的API查询服务,但没有局限于某一特定引擎,可开展多引擎验证,并横向对比结果。同时,本发明方法可以应用于对以太币、泰达币、门罗币等其它加密数字货币的网络节点验证分析,可拓展性好。

附图说明

[0023] 图1为比特币地址分类示意图。
[0024] 图2为本发明的比特币地址分类验证方法流程图。

具体实施方式

[0025] 下面结合附图并举实施例,对本发明进行详细描述。
[0026] Shodan、Censys、ZoomEye、Fofa等网络搜索引擎利用遍布全球的探针,一刻不停地对网络空间进行探测,积累了丰富的探测数据,包括比特币节点数据。很多搜索引擎积累了从2009年比特币上线以来的全部探测数据,并开放了API查询服务。
[0027] 本发明应用搜索引擎开放的API查询服务,充分利用搜索引擎对全部网络空间的全面探测数据,比较巧妙地实现了对比特币各类节点的分类验证。如图2所示,本发明方法主要分为以下4个步骤:
[0028] 步骤1:向网络空间搜索引擎输入查询地址
[0029] 将待验证的比特币节点IP地址通过搜索引擎提供的API函数输入引擎,并接收返回结果。目前,各网络空间搜索引擎对IPV4地址空间的探测已非常完备。
[0030] 步骤2:分析返回结果
[0031] 网络空间搜索引擎返回结果通常有固定格式。采用字符串匹配的方法,可以较容易地提取返回数据中IP、开放服务类型、时间戳等重要数据。
[0032] 步骤3:判断是否返回有效记录
[0033] 如果网络空间搜索引擎未返回数据或返回了错误数据(IP地址与查询地址不一致),说明搜索引擎历史检索记录中没有这条IP地址的探测记录,则该地址为虚假地址,返回步骤1。
[0034] 如果搜索引擎返回了与查询地址一致的IP地址,则该地址为有效地址,进入步骤4判断类型。
[0035] 步骤4:判断地址类型
[0036] 分析返回记录中的开放服务类型、时间戳信息。当时间戳在搜索引擎轮询周期以内时,如果开放服务中包含“bitcoin”字符串,说明该节点正在提供比特币服务,是一个可连接节点(判断1);如果没有包含“bitcoin”字符串,说明该节点是一个不可连接节点(判断2)。当时间戳超出搜索引擎轮询周期时,如果开放服务中包含“bitcoin”字符串,说明该节点是一个失效可连接节点(判断3);如果没有包含“bitcoin”字符串,说明该节点是一个失效不可连接节点(判断4)。
[0037] 判断1的正确性是显而易见的,因为网络空间搜索引擎在原理上就相当于仿冒比特币客户端。
[0038] 判断2的正确性也容易理解,因为如果一个来自比特币系统的真实地址,由网络搜索引擎通过遍布全球的节点在各时间段始终无法探测到,那么很大概率是一个不可连接节点,而不是因为时延或连接受限等其它原因无法连接。实际上,我们也开展了实验,验证判断2方法的准确率高于95%。
[0039] 判断3也是正确的,因为一个可连接节点由搜索引擎曾经探测到,但在最新的轮询周期内却未探测到,很可能是因为它已经失效了。
[0040] 同理,判断4也正确,因为一个搜索引擎曾经探测到的不可连接节点,在最新的轮询周期内却未探测到,很可能是因为已经失效了。
[0041] 判断1~4可列表进行说明,如下表1所示。
[0042] 表1节点类型判断表
[0043]
[0044] 重复以上步骤1~4,可以完成对近500万个比特币地址的自动分类验证,识别出网络中的在线可连接节点、在线不可连接接线、失效可连接节点、失效不可连接接线和虚假节点,对比特币网络拓扑分析、交易溯源等有着重要价值。
[0045] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。