CN115018646A - 一种基于虚拟货币公链网络交易始发节点的ip判别方法和系统 - Google Patents
一种基于虚拟货币公链网络交易始发节点的ip判别方法和系统 Download PDFInfo
- Publication number
- CN115018646A CN115018646A CN202210743302.2A CN202210743302A CN115018646A CN 115018646 A CN115018646 A CN 115018646A CN 202210743302 A CN202210743302 A CN 202210743302A CN 115018646 A CN115018646 A CN 115018646A
- Authority
- CN
- China
- Prior art keywords
- node
- transaction
- nodes
- probe
- virtual currency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000000523 sample Substances 0.000 claims abstract description 139
- 238000012163 sequencing technique Methods 0.000 claims description 28
- 238000012850 discrimination method Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000004900 laundering Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Technology Law (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供了一种基于虚拟货币公链网络交易始发节点的IP判别方法和系统,该方法通过在虚拟货币公链网络中部署的探针节点来收集各个节点的交易信息,并根据探针节点接收到的每笔交易信息到达时间的顺序确定各个交易节点对应的潜在邻居节点的概率,而后基于概率值计算两个交易节点的路由开销,得到各个相邻的两个交易节点的路由开销。而后将某一笔交易信息到达探针节点的时间排序集合,与某一交易节点作为始发节点对应达到探针节点的传播路径路由开销排序集合的差异度,若差异度最小则确定该交易节点为该笔交易对应的始发节点。通过本申请的方案,可以对虚拟货币公链网络中各笔交易信息的始发节点进行预测,实现交易信息的溯源。
Description
技术领域
本发明涉及服务器节点监测技术领域,具体为一种基于虚拟货币公链网络交易始发节点的IP判别方法和系统。
背景技术
近来,随着区块链技术发展迅速,虚拟货币交易规模逐步攀升,引起国内外广泛关注。以虚拟货币中的比特币交易为例,其具备区块链去中心化和匿名化特征,使得虚拟货币交易者的身份难以识别,为不法行为(如非法物品交易、虚拟货币勒索病毒、洗钱等)提供了隐匿空间。基于区块链虚拟货币交易具有去中心化特点,相对于传统金融系统,虚拟货币交易具有较强的反溯源能力。
基于区块链的虚拟货币交易系统一般具有以下特点:(1)交易者IP地址匿名性,虚拟货币进行交易时交易者IP是用户参与虚拟货币交易时使用的账号,该地址由用户自行创建,与用户身份信息无关,创建和使用过程不需要第三方参与。(2)交易节点分散性,虚拟货币系统支持用户通过不同的交易节点发起交易,因此用户的交易信息将分散在不同交易节点中,很难通过分析交易记录寻找用户的身份特征。(3)网络结构去中心化,虚拟货币系统采用P2P(对等网络)协议组网,不存在中心节点。
基于虚拟货币系统具有的以上特点,很难通过监测单一服务器追踪交易信息在虚拟货币公链网络中的传播路径,传统的交易溯源技术在虚拟货币系统中无法适用。这就导致现有的溯源技术对于虚拟货币公链网络中的交易信息的始发节点无法预测,影响了交易信息溯源的准确性。
发明内容
为此,需要提供一种基于虚拟货币公链网络交易始发节点的IP判别的技术方案,用以解决现有的虚拟货币溯源技术无法对交易信息的始发节点进行预测问题。
为实现上述目的,在第一方面,本发明提供了一种基于虚拟货币公链网络交易始发节点的IP判别方法,所述方法包括以下步骤:
S1:在虚拟货币公链网络中设置至少一个探针节点;所述探针节点被配置为能够与所述虚拟货币公链网络中所有节点的建立连接;
S2:通过所述探针节点监听所述虚拟货币公链网络中各交易节点在进行交易过程中的所有交易信息,并基于所述交易信息到达所述探针节点的时间的先后顺序确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率;
S3:根据所述确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率值计算任意相邻的两个交易节点的网络路由开销,并基于各个相邻的两个交易节点的路由开销得到各个交易节点的传播路径路由开销集合;所述传播路径路由开销集合是指某一交易节点若为始发节点时,以该交易节点发起的某一笔交易信息通过不同传播路径被所述探针节点所接收的每条传播路径的路由开销之和的集合;
S4:探针节点判断虚拟货币公链网络中实际发生的各笔交易信息到达所述探针节点的时间,统计各笔交易信息到达所述探针节点的时间,并按照达到先后顺序,对相应的节点IP进行排序,得到第一排序集合组;
S5:判断所述第一排序集合组中某一笔交易信息对应的到达所述探针节点的时间排序集合,与某一交易节点作为始发节点对应达到探针节点的传播路径路由开销排序集合的差异度,若差异度最小则确定该交易节点为该笔交易对应的始发节点。
进一步地,所述交易信息到达时间是指各交易信息被所述探针节点接收的时间戳信息,所述交易发送方的IP地址信息为将所述交易信息转发给探针节点的发送方的IP地址信息;
“基于所述交易信息到达所述探针节点的时间的先后顺序确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率”包括:
探针节点将搜集到的所有交易信息按照交易哈希值不同进行分类,并根据接收到的各笔交易信息的交易信息到达时间的先后顺序对具有相同交易哈希值的交易信息对应的交易发送方的IP地址进行排序,得到第一排序集合组。
进一步地,“基于各个相邻的两个交易节点的网络路由开销得到各个交易节点的传播路径路由开销集合”包括:
取传播路由开销最短的若干条传播路径,将这些传播路径的路由开销按照从小到大的顺序进行排列,得到所述传播路径路由开销集合。
进一步地,“判断所述第一排序集合组中某一笔交易信息对应的到达所述探针节点的时间排序集合与作为始发节点对应达到探针节点的传播路径路由开销排序集合的差异度”包括:
取某笔交易信息到达所述探针节点最短的若干时间作为该笔交易信息对应的时间集合的元素,将所述时间集合中的各元素按照从小到大的顺序进行排列;若干时间的数量与所述若干条传播路径的选取数量相同;
计算所述时间集合中排名第一至排名最后的元素数值与各所述传播路径路由开销集合中排名第一至排名最后的元素数值的在元素及其所在顺序上的差异度,选择差异度最小对应的交易节点为当前交易信息的始发节点。
进一步地,“判断所述第一排序集合组中某一笔交易信息对应的到达所述探针节点的时间排序集合与某一交易节点对应的传播路径网络开销集合的差异度”包括:
取某笔交易信息到达所述探针节点最短的若干时间作为该笔交易信息对应的时间集合的元素,将所述时间集合中的各元素按照从小到大的顺序进行排列并按顺序号给各元素做标记,得到真实排列顺序;若干时间的数量与所述若干条传播路径的选取数量相同;
逐个选取所述时间集合中的元素作为潜在始发节点,计算以该交易节点始发交易信息通过不同传播路径被所述探针节点所接收的每条传播路径的路由开销之和的集合,按照路由开销之和从小到大进行排序,得到模拟排列顺序,计算模拟排列顺序与真实排列顺序的差异度,最终将差异度最小的对应的元素判定为该笔交易信息的始发节点。
进一步地,“基于所述交易信息到达所述探针节点的时间的先后顺序确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率”包括:
统计第一排序集合组中目标节点与待测节点同时出现的排序集合数量,计算所述目标节点与待测节点同时出现的排序集合数量与所述第一排序集合组中包含目标节点的集合数量的占比,将计算结果作为待测节点为所述目标节点的潜在邻居节点的概率并输出。
进一步地,所述待测节点的数量为多个,“计算所述目标节点与待测节点同时出现的排序集合数量与所述第一排序集合组中包含目标节点的集合数量的占比,将计算结果作为待测节点作为所述目标节点的潜在邻居节点的概率并输出”包括:
计算所述目标节点与各个待测节点同时出现的排序集合数量与所述第一排序集合组中包含目标节点的集合数量的占比,得到各个待测节点作为所述目标节点的潜在邻居节点的概率并输出;
当所述待测节点的数量大于预设数量时,筛选出所述作为所述目标节点的潜在邻居节点的概率大于预设概率阈值的待测节点,并将其作为所述目标节点的潜在邻居节点。
进一步地,所述方法包括:
所述探针节点通过向其连接的目标节点请求目标节点所知道的节点信息表,作为所述目标节点对应的可视节点信息表,判断被列为所述目标节点的潜在邻居节点的待测节点的标识信息是否出现在所述目标节点对应的可视节点信息表,若是则保留所述待测节点作为所述目标节点的潜在邻居节点,否则将所述待测节点从所述目标节点的潜在邻居节点中剔除。
进一步地,“根据所述确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率值转化为任意相邻的两个交易节点的网络路由开销”:
对于各个交易节点对应的潜在邻居节点的概率值进行标准化换算,将两个交易节点互为邻居节点的概率值换算为两个交易节点对应的网络路由开销。
在第二方面,本发明还提供了一种基于虚拟货币公链网络交易始发节点的IP判别系统,所述系统包括存储介质,所述存储介质中存储有计算机程序,所述计算机程序被执行时实现如本发明第一方面所述的方法。
区别于现有技术,本发明具有以下特点:通过在虚拟货币公链网络中部署的探针节点来收集各个节点传输的交易信息,并根据探针节点接收到的每笔交易信息到达时间的顺序确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率,而后基于概率值计算两个交易节点的路由开销,得到各个相邻的两个交易节点的路由开销。而后将某一笔交易信息到达所述探针节点的时间排序集合,与某一交易节点作为始发节点对应达到探针节点的传播路径路由开销排序集合的差异度,若差异度最小则确定该交易节点为该笔交易对应的始发节点。通过本申请的方案,可以对虚拟货币公链网络中各笔交易信息的始发节点进行预测,实现交易信息的溯源。
附图说明
图1为本发明第一种实施方式涉及的基于虚拟货币公链网络交易始发节点的IP判别方法的流程图;
图2为本发明第二种实施方式涉及的基于虚拟货币公链网络交易始发节点的IP判别方法的流程图;
图3为本发明第三种实施方式涉及的基于虚拟货币公链网络交易始发节点的IP判别方法的流程图;
图4为本发明第一种实施方式涉及的基于虚拟货币公链网络交易邻居节点的IP判别方法的流程图;
图5为本发明第二种实施方式涉及的基于虚拟货币公链网络交易邻居节点的IP判别方法的流程图;
图6为本发明第三种实施方式涉及的基于虚拟货币公链网络交易邻居节点的IP判别方法的流程图;
图7为本发明第四种实施方式涉及的基于虚拟货币公链网络交易邻居节点的IP判别方法的流程图;
图8为本发明一实施方式涉及的探针节点连接全网交易节点方法;
图9为本发明一实施方式涉及的电子设备的示意图;
图10为本发明一实施方式涉及的各个目标节点对应的一阶邻居节点的示意图;
图11为本发明一实施方式涉及的全链一阶链接节点连接拓扑图。
具体实施方式
为详细说明本申请可能的应用场景,技术原理,可实施的具体方案,能实现目的与效果等,以下结合所列举的具体实施例并配合附图详予说明。本文所记载的实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中各个位置出现的“实施例”一词并不一定指代相同的实施例,亦不特别限定其与其它实施例之间的独立性或关联性。原则上,在本申请中,只要不存在技术矛盾或冲突,各实施例中所提到的各项技术特征均可以以任意方式进行组合,以形成相应的可实施的技术方案。
除非另有定义,本文所使用的技术术语的含义与本申请所属技术领域的技术人员通常理解的含义相同;本文中对相关术语的使用只是为了描述具体的实施例,而不是旨在限制本申请。
在本申请的描述中,用语“和/或”是一种用于描述对象之间逻辑关系的表述,表示可以存在三种关系,例如A和/或B,表示:存在A,存在B,以及同时存在A和B这三种情况。另外,本文中字符“/”一般表示前后关联对象是一种“或”的逻辑关系。
在本申请中,诸如“第一”和“第二”之类的用语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何实际的数量、主次或顺序等关系。
在没有更多限制的情况下,在本申请中,语句中所使用的“包括”、“包含”、“具有”或者其他类似的表述,意在涵盖非排他性的包含,这些表述并不排除在包括要素的过程、方法或者产品中还可以存在另外的要素,从而使得包括一系列要素的过程、方法或者产品中不仅可以包括那些限定的要素,而且还可以包括没有明确列出的其他要素,或者还包括为这种过程、方法或者产品所固有的要素。
与《审查指南》中的理解相同,在本申请中,“大于”、“小于”、“超过”等表述理解为不包括本数;“以上”、“以下”、“以内”等表述理解为包括本数。此外,在本申请实施例的描述中“多个”的含义是两个以上(包括两个),与之类似的与“多”相关的表述亦做此类理解,例如“多组”、“多次”等,除非另有明确具体的限定。
为了方便理解本申请所描述的方案,以下先对本申请涉及的一些名词进行定义解释,具体如下:
(1)虚拟货币公链网络
虚拟货币公链网络是指基于区块链技术构建的虚拟货币交易网络,虚拟货币可以包括比特币、莱特币、以太币等等。通常,虚拟货币公链网络中包括多个交易节点,每一交易节点可以通过一台服务器或多台服务器集群来实现。
虚拟货币公链网络中各个交易节点之间通过特定的通讯协议进行通讯,以比特币交易为例,各个交易节点可以通过发起“connect ip-xxxx-port”命令以连入比特币货币交易网络。同时,为了保证交易信息的接收和转发不受其他信息的干扰,各个交易节点的使用者还可以通过设置端口权限的方式来屏蔽其他类虚拟货币的交易信息,即保证各个交易节点一旦连入某一虚拟货币公链网络中,则只会接收该种类型的虚拟货币公链网络中的交易信息。
(2)探针节点
本申请中的探针节点是指设置了溯源程序、且部署于虚拟货币公链网络中的交易节点,该溯源程序被执行时用于实现对探针节点收集和记录的各类数据进行分析处理,以判断出某一节点为另一节点的邻居节点的概率。本申请中的探针节点被配置为能够与虚拟货币公链网络中的其他所有交易节点建立连接,从而可以获取虚拟货币公链网络中的所有交易节点转发的交易信息。探针节点通过发送特定的协议命令加入某一虚拟货币公链网络。
(3)交易信息
一般情况下,在虚拟货币公链网络中,交易信息包括交易哈希值、交易状态、交易金额、时间戳、发送方地址、接收方地址、矿工费、随机数和其他信息。交易哈希值是区块链通过哈希算法对交易信息进行加密并将加密后的信息压缩为一串数字和字母组成的散列字符串,能够唯一而且精准地标识一条交易记录,并随着本次交易的交易内容(如交易金额、其他备注事项)一并转发给下一交易节点。在交易信息转发过程中,尽管同一笔交易信息会被各个交易节点相互不断转发,但同一笔交易信息的交易哈希值始终不变。这里的同一笔交易是指由某个交易节点在某个时间点发起的某笔交易。
(4)交易信息到达时间
在本申请中,交易信息到达时间是指各笔交易信息被探针节点接收的时间信息。优选的,交易信息到达时间可以用差值时间来表示,差值时间是指某笔交易被探针节点接收的时间戳与这笔交易在虚拟货币公链网络中发起的时间戳之差,即网络延时。当某个交易节点发起某笔交易时,基于虚拟货币的交易机制,虚拟货币公链网络中的所有交易节点都会获知这笔交易的发起时间,但无法获知本次交易是由哪个交易节点发起的。本申请通过设置探针节点与所有交易节点建立连接,进而通过对监听收集的所有交易信息进行分别,计算得出某一节点为另一节点的邻居节点的概率。
(5)交易发送方的IP地址信息
在本申请中,交易发送方的IP地址信息为将交易信息转发给探针节点的发送方的IP地址信息。简单的说,由于虚拟货币公链网络中的所有交易节点都与探针节点建立连接,即探针节点是所有交易节点的邻居节点,因而探针节点就可以不断收到各个交易节点转发的交易信息,探针节点除了根据交易哈希值对这些交易信息进行分类之外,还会记录各笔交易信息对应的到达时间和发送方的IP地址(即是哪个节点交易IP将该笔交易信息发送给探针节点的)。
(6)待测节点和目标节点
待测节点是相对于目标节点而言的,本申请的目的之一是判断某一节点是另一节点的邻居节点的概率,例如需要判断节点A是否为节点B的邻居节点的概率值,则节点A为待测节点,节点B为目标节点。
(7)种子节点
在虚拟货币公链网络中,有一些长期稳定运行的节点,被视为种子节点,种子节点甚至被硬编码写入程序,通过连接到种子节点可以快速发现网络中的其他节点。种子节点在虚拟货币交易区块链中的IP地址是已知的,探针节点可以通过向多个种子节点获取节点信息(包括部分或全部交易中各个交易节点的IP地址),以及这些节点已知的其他节点IP信息。探针节点向收集到的节点信息发送连接请求,逐一建立连接,最终使得探针节点能够与当前虚拟货币公链网络中的所有交易节点建立连接。
如图1所示,在第一方面,本发明提供了一种基于虚拟货币公链网络交易始发节点的IP判别方法,所述方法包括以下步骤:
S1:在虚拟货币公链网络中设置至少一个探针节点;所述探针节点被配置为能够与所述虚拟货币公链网络中所有节点的建立连接;
S2:通过所述探针节点监听所述虚拟货币公链网络中各交易节点在进行交易过程中的所有交易信息,并基于所述交易信息到达所述探针节点的时间的先后顺序确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率;
S3:根据所述确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率值计算任意相邻的两个交易节点的网络路由开销,并基于各个相邻的两个交易节点的路由开销得到各个交易节点的传播路径路由开销集合;所述传播路径路由开销集合是指某一交易节点若为始发节点时,以该交易节点发起的某一笔交易信息通过不同传播路径被所述探针节点所接收的每条传播路径的路由开销之和的集合;
S4:探针节点判断虚拟货币公链网络中实际发生的各笔交易信息到达所述探针节点的时间,统计各笔交易信息到达所述探针节点的时间,并按照达到先后顺序,对相应的节点IP进行排序,得到第一排序集合组;
S5:判断所述第一排序集合组中某一笔交易信息对应的到达所述探针节点的时间排序集合,与某一交易节点作为始发节点对应达到探针节点的传播路径路由开销排序集合的差异度,若差异度最小则确定该交易节点为该笔交易对应的始发节点。
在本实施例中,探针节点先将搜集到的交易信息按照交易哈希值进行分类。每一笔交易都有其对应的交易哈希值,不同的交易涉及的交易哈希值不同。通过探针节点将搜集到的交易信息按照交易哈希值进行分类,就可以知道同一哈希值的交易信息经过不同传播链路转发到达探针节点的交易信息到达时间,进而根据到达时间的先后顺序选取排名靠前的若干交易信息到达时间对应的交易发送方的IP地址得到第一排序集合组。
针对交易哈希值相同的同一笔虚拟货币交易,探针节点将从虚拟货币公链网络中通过不同路径的交易节点接收到多个版本的交易信息,尽管每个版本的交易信息交易哈希值是相同的,但是由于不同交易节点转发该笔交易信息的时间不同(通常互为邻居节点的某两个交易节点会出现在同一笔交易信息的最先到达时间序列中),探针节点可以对根据接收的相同哈希值的交易信息的到达时间顺序对相应的交易发送方进行排序,在得到第一排序集合组后,判断所述第一排序集合组中某一笔交易信息对应的到达所述探针节点的时间排序集合,与某一交易节点作为始发节点对应达到探针节点的传播路径路由开销排序集合的差异度,若差异度最小则确定该交易节点为该笔交易对应的始发节点。
通过上述方案,能够完成虚拟货币公链网络中各笔交易信息的始发节点的判别,可以有效实现交易信息的溯源。
在某些实施例中,“基于各个相邻的两个交易节点的网络路由开销得到各个交易节点的传播路径路由开销集合”包括:取传播路由开销最短的若干条传播路径,将这些传播路径的路由开销按照从小到大的顺序进行排列,得到所述传播路径路由开销集合。简言之,两个交易节点之间互为邻居节点的概率越大,则两者之间的路由开销越小,在计算完成虚拟货币公链网络中任意两个交易节点的开销之后,就可以计算出假定以虚拟货币公链网络中的任意一个交易节点作为始发节点时通过不同传播路径到达探针节点的路由开销之和,将这些传播路径的路由开销按照从小到大的顺序进行排列,得到所述传播路径路由开销集合。路由开销集合记载了以任意一个交易节点作为始发节点经过不同传播路径到达探针节点的时间,便于后续拟合作为判断某笔交易信息的始发节点的依据。
在某些实施例中,所述交易信息到达时间是指各交易信息被所述探针节点接收的时间戳信息,所述交易发送方的IP地址信息为将所述交易信息转发给探针节点的发送方的IP地址信息;“基于所述交易信息到达所述探针节点的时间的先后顺序确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率”包括:探针节点将搜集到的所有交易信息按照交易哈希值不同进行分类,并根据接收到的各笔交易信息的交易信息到达时间的先后顺序对具有相同交易哈希值的交易信息对应的交易发送方的IP地址进行排序,得到第一排序集合组。
如图2所示,在某些实施例中,“判断所述第一排序集合组中某一笔交易信息对应的到达所述探针节点的时间排序集合与作为始发节点对应达到探针节点的传播路径路由开销排序集合的差异度”包括:
首先进入步骤S201取某笔交易信息到达所述探针节点最短的若干时间作为该笔交易信息对应的时间集合的元素,将所述时间集合中的各元素按照从小到大的顺序进行排列;若干时间的数量与所述若干条传播路径的选取数量相同;
而后进入步骤S202计算所述时间集合中排名第一至排名最后的元素数值与各所述传播路径路由开销集合中排名第一至排名最后的元素数值的在元素及其所在顺序上的差异度,选择差异度最小对应的交易节点为当前交易信息的始发节点。
如图3所示,在另一些实施例中,“判断所述第一排序集合组中某一笔交易信息对应的到达所述探针节点的时间排序集合与某一交易节点对应的传播路径网络开销集合的差异度”包括:
首先进入步骤S301取某笔交易信息到达所述探针节点最短的若干时间作为该笔交易信息对应的时间集合的元素,将所述时间集合中的各元素按照从小到大的顺序进行排列并按顺序号给各元素做标记,得到真实排列顺序;若干时间的数量与所述若干条传播路径的选取数量相同;
而后进入步骤S302逐个选取所述时间集合中的元素作为潜在始发节点,计算以该交易节点始发交易信息通过不同传播路径被所述探针节点所接收的每条传播路径的路由开销之和的集合,按照路由开销之和从小到大进行排序,得到模拟排列顺序,计算模拟排列顺序与真实排列顺序的差异度,最终将差异度最小的对应的元素判定为该笔交易信息的始发节点。
简言之,在确定某笔交易信息的始发节点时,既可以先从模拟交易入手,计算以虚拟货币公链网络中各个节点为始发节点时对应的传播路径,针对某个交易节点不同的传播路径可以计算出一个传播路由开销集合,假定网络中有1000个交易节点,就可以构造出1000个交易传播路径的开销集合,每个路由开销集合中的元素,对应相应交易节点经过一阶、二阶、三阶邻居节点的转发得到探针节点的测算时间和对应的IP,而后获取实际上发生的某笔交易信息(哈希值相同的交易信息)最先到达探针节点的10个ip,将这10个ip与1000个路由开销集合的前10个元素对应的IP进行拟合,将拟合度最高的一个路由开销集合对应的交易节点判定为实际的始发节点。
也可以从实际交易入手,先计算探针节点实际接收某笔交易信息(哈希值相同的交易信息)最先到达探针节点的若干时间,建立时间元素集合(时间元素集合中记录了时间到达的排序,以及排序对应的交易节点的IP地址),而后逐个选取所述时间集合中的元素(交易节点的IP地址)作为潜在始发节点,计算以该交易节点始发交易信息通过不同传播路径被所述探针节点所接收的每条传播路径的路由开销之和的集合,按照路由开销之和从小到大进行排序,得到模拟排列顺序,计算模拟排列顺序与真实排列顺序的差异度,最终将差异度最小的对应的元素判定为该笔交易信息的始发节点。
如图4-图7所示,本申请还提供了如何判别某一交易节点是否为另一交易节点的邻居节点的方法,具体如下:S11探针节点统计第一排序集合组中目标节点与待测节点同时出现的排序集合数量,计算所述目标节点与待测节点同时出现的排序集合数量与所述第一排序集合组中包含目标节点的集合数量的占比,将计算结果作为所述待测节点为所述目标节点的潜在邻居节点的概率并输出。
例如探针节点收集到虚拟货币公链网络在某一时间段内共发生了10000笔交易信息,针对某一笔交易信息选取到达时间靠前的前8个交易发送方的IP地址进行记录,则可以得到10000行8列的第一排序集合组,假设在10000个集合中交易节点出现了2000次,交易节点A和交易节点B共同出现了1500次,则可以计算交易节点B为交易节点A的邻居节点的概率为1500/2000=0.75。基于以上方式,就可以计算虚拟货币公链网络中某一交易节点是另一交易节点的概率值,进而完成虚拟货币公链网络的交易拓扑的构建,便于后续交易信息的溯源。
如图4所示,所述待测节点的数量为多个,“计算所述目标节点与待测节点同时出现的排序集合数量与所述第一排序集合组中包含目标节点的集合数量的占比,将计算结果作为待测节点作为所述目标节点的潜在邻居节点的概率并输出”包括:
首先进入步骤S401计算所述目标节点与各个待测节点同时出现的排序集合数量与所述第一排序集合组中包含目标节点的集合数量的占比,得到各个待测节点作为所述目标节点的潜在邻居节点的概率并输出;
而后进入步骤S402当所述待测节点的数量大于预设数量时,筛选出作为所述目标节点的潜在邻居节点的概率大于预设概率阈值的待测节点,并将其作为所述目标节点的潜在邻居节点。
优选的,预设数量为小于10个。例如预设数量为8,假定预设概率阈值取0.6,以交易节点A作为目标节点,逐个判断虚拟货币公链网络中各交易节点作为待测节点时,该待测节点为交易节点A的邻居节点的概率值,假设最终计算得到的满足概率值大于0.6的待测节点的数量为12个,则选取概率值较大的前8个作为交易节点A潜在邻居节点。当然,如果计算得到的满足概率值大于0.6的待测节点的数量小于8个,则可以直接选取概率值较大的前8个作为交易节点A潜在邻居节点。
如图5所示,所述方法包括:
首先进入步骤S501所述探针节点通过向其连接的目标节点请求目标节点所知道的节点信息表,作为所述目标节点对应的可视节点信息表;
而后进入步骤S502判断被列为所述目标节点的潜在邻居节点的待测节点的标识信息是否出现在所述目标节点对应的可视节点信息表,若是则进入步骤S503保留所述待测节点作为所述目标节点的潜在邻居节点,否则进入步骤S504将所述待测节点从所述目标节点的潜在邻居节点中剔除。
在虚拟货币公链网络中,每个交易节点都有自身对应的节点信息表,其中存储了在历史数据中与其存在信息交互的节点IP地址,这些节点IP地址根据交互时间由近及远的顺序进行排列,如果两个交易节点互为邻居节点,通过其中一个交易节点的节点信息表中存储有另一个交易节点的IP地址,即在以往的历史交易数据中,这两个交易节点理应互相转发过交易信息。
因此,本申请通过获取目标节点所知道的节点信息表,将其作为所述目标节点对应的可视节点信息表,而后判断被列为所述目标节点的潜在邻居节点的待测节点的标识信息是否出现在所述目标节点对应的可视节点信息表,若是则保留所述待测节点作为所述目标节点的潜在邻居节点,否则将所述待测节点从所述目标节点的潜在邻居节点中剔除。通过这一方法可以进一步提升待测节点是否为目标节点的邻居节点的判断的准确性。
如图6所示,在某些实施例中,所述方法包括:
首先进入步骤S601选取出所述目标节点的潜在邻居节点的概率值最高的若干待测节点作为所述目标节点的邻居节点;
而后进入步骤S602将所述目标节点的邻居节点作为新的目标节点,根据步骤S11的方法计算新的目标节点的潜在邻居节点的概率并输出;
而后进入步骤S603重复以上步骤,直至确认所述虚拟货币公链网络中所有交易节点的邻居节点。
例如目标节点为交易节点A,针对目标节点A采用如步骤S11的方法筛选出概率值为前8的交易节点作为目标节点A的潜在邻居节点,这8个交易节点分别为交易节点B-交易节点I,则可以再分别以交易节点B-交易节点I中的任一项作为新的目标节点,计算得到新的目标节点的所有邻居节点。以此类推,直到虚拟货币公链网络中的所有交易节点都作为目标节点被计算一次,就可以得到虚拟货币公链网络中的所有交易节点对应的邻居节点。
在某些实施例中,“根据所述确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率值转化为任意相邻的两个交易节点的网络路由开销”:对于各个交易节点对应的潜在邻居节点的概率值进行标准化换算,将两个交易节点互为邻居节点的概率值换算为两个交易节点对应的网络路由开销。路由开销即网络延时,通常两个交易节点互为邻居节点的概率越高,则两者之间交互信息所需的通信时间越短,即路由开销越小。因而所述标准化计算可以包括:对计算得到的各概率值取倒数,使其转化为相邻交易节点的路由开销。在计算得到各个相邻交易节点之间的路由开销后,就可以推知得到虚拟货币公链网络中任意交易节点作为交易始发节点发起的交易信息经过任意传播路径到达探针节点的时间,根据探针节点接收的各笔交易时间的具体数值就可以对于虚拟货币公链网络中各笔交易信息的始发节点以及传播路径进行预测,从而完成交易信息的溯源。
如图7所示,在某些实施例中,所述方法包括:
首先进入步骤S701获取多个单位时间内的所有交易信息,分别计算各单位时间内所述待测节点为所述目标节点的潜在邻居节点的概率,得到一组概率值序列,对所述概率值序列进行拟合,得到所述待测节点对应的概率值拟合函数;
而后进入步骤S702获取下一单位时间内的所有交易信息,计算当前单位时间内所述待测节点为所述目标节点的潜在邻居节点的概率;
而后进入步骤S703判断当前单位时间内所述待测节点为所述目标节点的潜在邻居节点的概率是否与所述拟合函数预测的结果相匹配,若是则进入步骤S704保留所述待测节点作为所述目标节点的潜在邻居节点,否则进入步骤S705将所述待测节点从所述目标节点的潜在邻居节点中剔除。
例如在预设时间段(包括多个单位时间段)内获取所有交易信息,将获取的交易信息按照单位时间(如1天)进行切片,而后根据各个单位时间内的交易信息计算所述目标节点的潜在邻居节点的概率,多个单位时间则可以对应计算得到多个某一待测节点作为目标节点的潜在邻居节点的概率。将这些概率作为离散点进行拟合得到拟合函数,而后根据拟合函数就可以预测出基于下一单位时间的交易信息该待测节点作为目标节点的潜在邻居节点的概率。通过计算拟合函数对于下一周期内的概率值进行预测,将预测值与实际值进行比较可以实现对所述目标节点的潜在邻居节点的进一步筛选,从而提升使得初设虚拟货币公链网络的交易拓扑更符合实际,提升交易溯源的准确性。
优选的,判断当前单位时间内所述待测节点为所述目标节点的潜在邻居节点的概率是否与所述拟合函数预测的结果相匹配包括:判断当前单位时间内所述待测节点为所述目标节点的潜在邻居节点的概率偏离所述拟合函数的预测值的次数是否超过预设次数,若超过则视为两者不匹配,否则视为两者匹配。
在某些实施例中,所述探针节点与所述虚拟货币公链网络中所有节点之间传输的信息包括第一类型报文信息和第二类型报文信息;所述第一类型报文信息为包括所述交易信息在内的能够影响邻居节点判断结果的报文信息,所述第二类型报文信息为除所述第一类型报文信息以外的其他报文信息;
所述方法包括:
所述探针节点被配置为对所述第一类型报文信息不进行转发,对所述第二类型报文信息正常处理,以使得所述探针节点在所述虚拟货币公链网络中始终保持活跃状态。
以比特币交易网络为例,两个网络中相邻的交易节点之间交互协议包括节点发现、连接、消息转发、初始区块下载、SPV客户端以及心跳报文等协议。其中,getaddr、addr消息广播、getblocks、getdata等信息为第一类型报文信息,探针节点不对这些信息进行转发。心跳报文信息、连接信息(如version的同步信息)、节点发现等交互信息为第二类型报文信息,探针节点对这类报文正常处理,以使得所述探针节点在所述虚拟货币公链网络中始终保持活跃状态,提升探针节点在整个交易网络中的隐蔽性。
如图8所示,所述种子节点的数量为多个,各个种子节点分别存储有虚拟货币公链网络中部分交易节点对应的节点信息;探针节点被配置为能够与所述虚拟货币公链网络中所有节点的建立连接包括:
首先进入步骤S801探针节点与所述虚拟货币公链网络中的各个种子节点建立连接后,向所有所述种子节点发起节点信息获取请求;
而后进入步骤S802探针节点获取各个种子节点将各自存储的节点信息;所述节点信息包括所述虚拟货币公链网络中相应节点的IP地址信息;
而后进入步骤S803探针节点对所有种子节点发送的节点信息进行整理,并向所述各节点的IP地址发起连接请求,建立连接。
而后进入步骤S804所述探针节点对所有种子节点发送的节点信息进行整理包括:当收到的各种子节点发送的节点信息中包含有多个相同的IP地址时,只向其中一个IP地址发起连接请求。
通过对所有种子节点发送的节点信息进行整理,只向其中一个IP地址发起连接请求,可以有效节省带宽。
在第二方面,本发明还提供了一种基于虚拟货币公链网络交易始发节点的IP判别系统,所述系统包括存储介质,所述存储介质可置于探针节点内,所述存储介质中存储有计算机程序,所述计算机程序被执行时实现如本发明第一方面所述的方法。
如图9所示,所述系统可以是一台电子设备10,该电子设备包括处理器101和存储介质102,该存储介质102为如第二方面的存储介质;处理器101与所述存储介质102电连接,用于执行存储介质102中存储的计算机程序以实现如第一方面的方法步骤。
优选的,电子设备为计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等。存储介质包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。处理器包括但不限于CPU(中央处理器)、GPU(图像处理器)、MCU(微处理器)等。
以下结合实例,对本申请的方法做详细说明,邻居节点判别如下:
将探针节点d连接到区块链网络(如虚拟货币公链网络)中,并与网络中的所有节点建立连接,探针节点可以将全节点信息保存为一个列表Node={node_1,node_2,node_3,…,node_m};其中,m是探针节点d连接的全节点总个数。
而后探针节点d向节点列表Node中的所有节点node_i请求节点信息,node_i将其所知道的节点信息{node_i}返回给探针节点d。探针节点d建立一个节点关系表NeighborNodes={{node_1},{node_2},{node_3},…,{node_m}},记录所有节点所知道的节点信息情况。通常,两个相邻的交易节点存在着历史信息的交互,因而如果某一交易节点是另一交易节点的邻居节点,则该交易节点的节点信息表中一般存储有另一交易节点的IP地址。
探针节点d侦听链上的交易数据,对同一笔交易数据(哈希值相同的交易信息),探针节点d将各节点发送给它的交易数据,按照接收到的时间顺序排序:
List(txid_1)={node1,node2,node3,…,nodek},
探针节点d持续在链上侦听交易报文,对每个新的交易数据,都将产生一条接收到各节点发送给它的交易报文的先后达到顺序的记录,List(txid_i)={…}。
如图10所示,而后可以构建网络中任意两个交易节点是否为一阶邻居节点关系的判别模型,具体如下:
1)构建子集list(txid):由于某笔交易信息的始发节点(交易信息的发起者)和其一阶邻居节点的报文最有可能先到达探针节点,因此List(txid_i)中排序靠前的几个节点是一阶邻居节点的可能性最大。设l=8,即取排序靠前的前8个节点作为潜在的一阶邻居节点对象,构建List(txid_i)子集list(txid)中节点的个数不超过l个。
2)取一个目标节点node_i,计算节点node_j是node_i的一阶邻居节点的概率,其中node_j属于子集list(txid),并且node_j包含在node_i的节点信息表{node_i}中。计算步骤如下:
(1)设定时间粒度(即单位时间)为1天,list(txid)按照日期进行切片,对同一天内观察得到的list(txid),计算list(txid)中包含node_i节点的个数Count(node_i);
(2)计算list(txid)中同时包含node_i,node_j节点的个数Count(node_i,node_j);
(3)则node_j是node_i的概率可以表示为:
Pdate(node_j|node_i)=Count(node_i,node_j)/Count(node_i)
其中,Pdate中,date是对日期的下标标注。
对一段时间内探针节点获得的交易信息进行观察记录,按照天为单位进行如上计算,将得到一组关于node_i,node_j两个交易节点的是一阶邻居节点的概率值序列,对概率值序列采用曲线拟合函数P=at2+bt+c,其中t是时间变量,可以计算得到一组拟合参数a,b,c。
根据拟合函数预测下一个时间周期node_j是node_i一阶邻居节点的概率,取概率最大的前k(k≤l)个节点作为node_i的一阶邻居节点。
根据最新时间周期探针节点d接收到交易报文达到顺序List(txid_i),计算在最新周期内node_j是node_i的概率Pnew_date(node_j|node_i),如果Pnew_date连续偏离拟合值超过规定的次数,则在新的时间周期内,node_j不再是node_i的一阶邻居节点,并对node_i的一阶邻居节点表进行更新。
如图11所示,为构建得到的全链一阶链接节点连接拓扑图(即初设虚拟货币公链网络的交易拓扑)的示意图,在得到根据各交易节点的一阶邻居节点表后,可以建立全链交易节点矩阵:
而后可以建立全链交易节点对应的一阶邻居节点矩阵:
取连接概率最大的前8个节点作为目标节点的邻居节点,则可以构建全链一阶节点连接拓扑结构,如图11所示。需要说明的是,由于全链交易节点列表Node中的节点连接状态不是永恒的,中途有的消失,也会有新的节点加入,因而各目标节点对应的邻居节点处于变化状态,即全链一阶节点连接拓扑结构图是动态变化的。为保证全链一阶节点连接拓扑结构图与实际情况最大吻合,以24小时为时间单位,根据上述办法可构建动态全链一阶节点连接拓扑结构图。
始发节点判别如下:
对于虚拟货币公链网络中接收到的某一笔交易报文new_txid,探针节点d按照接收到该笔交易报文的时间顺序进行排列,取到达时间最短的若干交易节点的IP地址得到List(new_txid),我们可以认为真正的始发节点包含在List(new_txid)中;
对于虚拟货币公链网络中的任意一笔交易信息满足node_s∈List(new_txid),根据区块链节点网络传播拓扑模型,计算交易报文假定从始发节点node_s经不同节点的传播路径到达探针节点d的最短时间,并按到达先后顺序排序,得出排序顺序List(from_node_s)。
计算List(from_node_s)与List(new_txid)之间的相似度S(node_s)
对List(new_txid)中节点顺序进行编号,假设List(new_txid)包含有10个节点,这10个节点是按照报文达到先后顺序进行排序的,可以一次给这些节点按顺序号进行编号为{1,2,3,4,5,6,7,8,9,10}。
对潜在始发节点node_s计算出的排序顺序List(from_node_s)的节点同样进行编号,如果节点nd∈List(from_node_s)且nd∈List(new_txid),则采用nd在List(new_txid)中的序号给它编码,如果nd∈List(from_node_s)但则给nd统一编码为11。例如,假设List(from_node_s)的节点编码为{4,3,5,1,6,2,11,9,10,8},代表除了编码“11”的节点外,其余节点都是包含在List(new_txid),只是报文达到探针节点的先后顺序不一样。
计算编码{1,2,3,4,5,6,7,8,9,10}与{4,3,5,1,6,2,11,9,10,8}的相似度:
将上述两个编码作为两个一维向量进行相减,得出一个距离向量:
|a-b|=(3,1,2,3,1,4,4,1,1,2)
对每个顺序位置设置一个重要度权重,例如对排序编码为1-10设置权重如下:
w=(0.3,0.25,0.21,0.18,0.16,0.15,0.13,0.1,0.07,0.05)
则a,b两个向量的相似度计算如下:
sim=1-|a-b|·w/len(a)=1-(3,1,2,3,1,4,4,1,1,2)·(0.3,0.25,0.21,0.18,0.16,0.15,0.13,0.1,0.07,0.05)/10=0.644
对所有的S(node),node∈List(new_txid),则可以将相似度最大的节点为始发节点。
例如探针节点接收的某笔交易信息对应的节点IP地址,按照到达先后顺序编号为:[1 2 3 4 5 6 7 8 9 10],作为实际观测到的顺序。
对潜在的始发节点,通过构件的网络拓扑进行模拟,同样按照探针节点接收到的报文达到先后顺序进行编号,得出以下10个潜在始发节点的顺序表:
[6 10 7 1 9 4 5 3 2 8]
[5 4 7 6 2 1 9 10 8 3]
[1 3 9 4 7 6 8 10 5 2]
[4 6 5 9 3 10 2 1 7 8]
[4 9 10 8 5 6 1 2 3 7]
[3 7 10 8 4 5 2 6 9 1]
[5 10 2 4 8 1 7 6 3 9]
[6 3 8 1 9 10 5 4 2 7]
[3 5 9 1 10 2 7 6 8 4]
[7 9 5 1 6 8 10 3 2 4]
计算得到每个顺序表与实际观测到的顺序的相似度:[0.283,0.499,0.716,0.427,0.321,0.435,0.469,0.412,0.488,0.335]
其中,相似度最大的为0.716,对应的顺序序列为:
[1 3 9 4 7 6 8 10 5 2]
则可以判定第3个节点最有可能是始发节点。
本发明提供了一种基于虚拟货币公链网络交易始发节点的IP判别方法和系统,该方法通过在虚拟货币公链网络中部署的探针节点来收集各个节点的交易信息,并根据探针节点接收到的每笔交易信息到达时间的顺序确定各个交易节点对应的潜在邻居节点的概率,而后基于概率值计算两个交易节点的路由开销,得到各个相邻的两个交易节点的路由开销。而后将某一笔交易信息到达探针节点的时间排序集合,与某一交易节点作为始发节点对应达到探针节点的传播路径路由开销排序集合的差异度,若差异度最小则确定该交易节点为该笔交易对应的始发节点。通过本申请的方案,可以对虚拟货币公链网络中各笔交易信息的始发节点进行预测,实现交易信息的溯源。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
Claims (10)
1.一种基于虚拟货币公链网络交易始发节点的IP判别方法,其特征在于,所述方法包括以下步骤:
S1:在虚拟货币公链网络中设置至少一个探针节点;所述探针节点被配置为能够与所述虚拟货币公链网络中所有节点的建立连接;
S2:通过所述探针节点监听所述虚拟货币公链网络中各交易节点在进行交易过程中的所有交易信息,并基于所述交易信息到达所述探针节点的时间的先后顺序确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率;
S3:根据所述确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率值计算任意相邻的两个交易节点的网络路由开销,并基于各个相邻的两个交易节点的路由开销得到各个交易节点的传播路径路由开销集合;所述传播路径路由开销集合是指某一交易节点若为始发节点时,以该交易节点发起的某一笔交易信息通过不同传播路径被所述探针节点所接收的每条传播路径的路由开销之和的集合;
S4:探针节点判断虚拟货币公链网络中实际发生的各笔交易信息到达所述探针节点的时间,统计各笔交易信息到达所述探针节点的时间,并按照达到先后顺序,对相应的节点IP进行排序,得到第一排序集合组;
S5:判断所述第一排序集合组中某一笔交易信息对应的到达所述探针节点的时间排序集合,与某一交易节点作为始发节点对应达到探针节点的传播路径路由开销排序集合的差异度,若差异度最小则确定该交易节点为该笔交易对应的始发节点。
2.如权利要求1所述的基于虚拟货币公链网络交易始发节点的IP判别方法,其特征在于,所述交易信息到达时间是指各交易信息被所述探针节点接收的时间戳信息,所述交易发送方的IP地址信息为将所述交易信息转发给探针节点的发送方的IP地址信息;
“基于所述交易信息到达所述探针节点的时间的先后顺序确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率”包括:
探针节点将搜集到的所有交易信息按照交易哈希值不同进行分类,并根据接收到的各笔交易信息的交易信息到达时间的先后顺序对具有相同交易哈希值的交易信息对应的交易发送方的IP地址进行排序,得到第一排序集合组。
3.如权利要求1或2所述的基于虚拟货币公链网络交易始发节点的IP判别方法,其特征在于,“基于各个相邻的两个交易节点的网络路由开销得到各个交易节点的传播路径路由开销集合”包括:
取传播路由开销最短的若干条传播路径,将这些传播路径的路由开销按照从小到大的顺序进行排列,得到所述传播路径路由开销集合。
4.如权利要求3所述的基于虚拟货币公链网络交易始发节点的IP判别方法,其特征在于,“判断所述第一排序集合组中某一笔交易信息对应的到达所述探针节点的时间排序集合与作为始发节点对应达到探针节点的传播路径路由开销排序集合的差异度”包括:
取某笔交易信息到达所述探针节点最短的若干时间作为该笔交易信息对应的时间集合的元素,将所述时间集合中的各元素按照从小到大的顺序进行排列;若干时间的数量与所述若干条传播路径的选取数量相同;
计算所述时间集合中排名第一至排名最后的元素数值与各所述传播路径路由开销集合中排名第一至排名最后的元素数值的在元素及其所在顺序上的差异度,选择差异度最小对应的交易节点为当前交易信息的始发节点。
5.如权利要求3所述的基于虚拟货币公链网络交易始发节点的IP判别方法,其特征在于,“判断所述第一排序集合组中某一笔交易信息对应的到达所述探针节点的时间排序集合与某一交易节点对应的传播路径网络开销集合的差异度”包括:
取某笔交易信息到达所述探针节点最短的若干时间作为该笔交易信息对应的时间集合的元素,将所述时间集合中的各元素按照从小到大的顺序进行排列并按顺序号给各元素做标记,得到真实排列顺序;若干时间的数量与所述若干条传播路径的选取数量相同;
逐个选取所述时间集合中的元素作为潜在始发节点,计算以该交易节点始发交易信息通过不同传播路径被所述探针节点所接收的每条传播路径的路由开销之和的集合,按照路由开销之和从小到大进行排序,得到模拟排列顺序,计算模拟排列顺序与真实排列顺序的差异度,最终将差异度最小的对应的元素判定为该笔交易信息的始发节点。
6.如权利要求1或2所述的基于虚拟货币公链网络交易始发节点的IP判别方法,其特征在于,“基于所述交易信息到达所述探针节点的时间的先后顺序确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率”包括:
统计第一排序集合组中目标节点与待测节点同时出现的排序集合数量,计算所述目标节点与待测节点同时出现的排序集合数量与所述第一排序集合组中包含目标节点的集合数量的占比,将计算结果作为待测节点为所述目标节点的潜在邻居节点的概率并输出。
7.如权利要求6所述的基于虚拟货币公链网络交易始发节点的IP判别方法,其特征在于,所述待测节点的数量为多个,“计算所述目标节点与待测节点同时出现的排序集合数量与所述第一排序集合组中包含目标节点的集合数量的占比,将计算结果作为待测节点作为所述目标节点的潜在邻居节点的概率并输出”包括:
计算所述目标节点与各个待测节点同时出现的排序集合数量与所述第一排序集合组中包含目标节点的集合数量的占比,得到各个待测节点作为所述目标节点的潜在邻居节点的概率并输出;
当所述待测节点的数量大于预设数量时,筛选出所述作为所述目标节点的潜在邻居节点的概率大于预设概率阈值的待测节点,并将其作为所述目标节点的潜在邻居节点。
8.如权利要求6或7所述的基于虚拟货币公链网络交易始发节点的IP判别方法,其特征在于,所述方法包括:
所述探针节点通过向其连接的目标节点请求目标节点所知道的节点信息表,作为所述目标节点对应的可视节点信息表,判断被列为所述目标节点的潜在邻居节点的待测节点的标识信息是否出现在所述目标节点对应的可视节点信息表,若是则保留所述待测节点作为所述目标节点的潜在邻居节点,否则将所述待测节点从所述目标节点的潜在邻居节点中剔除。
9.如权利要求6或7所述的基于虚拟货币公链网络交易始发节点的IP判别方法,其特征在于,“根据所述确定虚拟货币公链网络中各个交易节点对应的潜在邻居节点的概率值转化为任意相邻的两个交易节点的网络路由开销”:
对于各个交易节点对应的潜在邻居节点的概率值进行标准化换算,将两个交易节点互为邻居节点的概率值换算为两个交易节点对应的网络路由开销。
10.一种基于虚拟货币公链网络交易始发节点的IP判别系统,其特征在于,所述系统包括存储介质,所述存储介质中存储有计算机程序,所述计算机程序被执行时实现如权利要求1至9任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110981345.XA CN113706305A (zh) | 2021-08-25 | 2021-08-25 | 一种基于区块链的数字货币网络交易的初始节点判断方法和系统 |
CN202110981345X | 2021-08-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115018646A true CN115018646A (zh) | 2022-09-06 |
CN115018646B CN115018646B (zh) | 2024-07-05 |
Family
ID=78654636
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110981345.XA Withdrawn CN113706305A (zh) | 2021-08-25 | 2021-08-25 | 一种基于区块链的数字货币网络交易的初始节点判断方法和系统 |
CN202210743302.2A Active CN115018646B (zh) | 2021-08-25 | 2022-06-27 | 一种基于虚拟货币公链网络交易始发节点的ip判别方法和系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110981345.XA Withdrawn CN113706305A (zh) | 2021-08-25 | 2021-08-25 | 一种基于区块链的数字货币网络交易的初始节点判断方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113706305A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114841685B (zh) * | 2022-04-12 | 2024-01-05 | 兰州大学 | 一种比特币交易的溯源方法及装置 |
CN116389163B (zh) * | 2023-05-26 | 2023-08-01 | 中科链安(北京)科技有限公司 | 区块链交易始发节点ip追踪方法、风险监测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190342203A1 (en) * | 2018-05-02 | 2019-11-07 | Source Ltd | System and method for optimizing routing of transactions over a computer network |
CN110569408A (zh) * | 2019-09-04 | 2019-12-13 | 广州大学 | 一种数字货币溯源方法及系统 |
CN112381552A (zh) * | 2020-11-19 | 2021-02-19 | 华南理工大学 | 一种基于层级区块链的供应链溯源方法及应用 |
-
2021
- 2021-08-25 CN CN202110981345.XA patent/CN113706305A/zh not_active Withdrawn
-
2022
- 2022-06-27 CN CN202210743302.2A patent/CN115018646B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190342203A1 (en) * | 2018-05-02 | 2019-11-07 | Source Ltd | System and method for optimizing routing of transactions over a computer network |
CN110569408A (zh) * | 2019-09-04 | 2019-12-13 | 广州大学 | 一种数字货币溯源方法及系统 |
CN112381552A (zh) * | 2020-11-19 | 2021-02-19 | 华南理工大学 | 一种基于层级区块链的供应链溯源方法及应用 |
Non-Patent Citations (2)
Title |
---|
林增贤;刘肖凡;: "追踪比特币新币走向:一种基于交易网络结构特征识别矿工的方案", 南京信息工程大学学报(自然科学版), no. 04, 28 July 2018 (2018-07-28) * |
高峰;毛洪亮;吴震;沈蒙;祝烈煌;李艳东;: "轻量级比特币交易溯源机制", 计算机学报, no. 05, 5 December 2017 (2017-12-05), pages 989 - 1004 * |
Also Published As
Publication number | Publication date |
---|---|
CN113706305A (zh) | 2021-11-26 |
CN115018646B (zh) | 2024-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115018646B (zh) | 一种基于虚拟货币公链网络交易始发节点的ip判别方法和系统 | |
CN115018502B (zh) | 一种基于虚拟货币公链网络交易节点ip的溯源的方法和系统 | |
US20150319256A1 (en) | Implicit relationship discovery based on network activity profile similarities | |
CN109660401A (zh) | 一种分布式网络资产探测方法 | |
CN106302104B (zh) | 一种用户关系识别方法及装置 | |
Khan et al. | A fast distributed approximation algorithm for minimum spanning trees | |
CN115102963A (zh) | 一种基于虚拟货币公链网络交易节点的邻居节点的ip判别方法、存储介质和电子设备 | |
Tian et al. | Topology mapping and geolocating for China's Internet | |
CN112700332B (zh) | 一种基于图计算的比特币账户聚类方法 | |
Qureshi et al. | Collusion detection and prevention with fire+ trust and reputation model | |
US20130211873A1 (en) | Determining a churn risk | |
CN115277055A (zh) | 保障物联网数据交互安全的方法、装置和电子设备 | |
CN113689222A (zh) | 一种基于区块链的数字货币交易网络拓扑数据分析优化方法和系统 | |
CN114997877B (zh) | 一种虚拟货币公链网络交易节点的ip的网络拓扑数据分析方法、存储介质和电子设备 | |
Gholami et al. | On the importance of trust in next-generation networked cps systems: An ai perspective | |
EP2555009B1 (en) | Method and apparatus for measuring the distance between nodes | |
CN114679394B (zh) | 一种基于网络空间搜索引擎的比特币地址分类验证方法 | |
Beierle | Do you like what I like? Similarity estimation in proximity-based mobile social networks | |
Leyba et al. | Cutting through the noise to infer autonomous system topology | |
Kim et al. | A machine learning approach to peer connectivity estimation for reliable blockchain networking | |
KR et al. | An Energy Efficient Intelligent Method for Sensor Node Selection to Improve the Data Reliability in Internet of Things Networks. | |
KR20220032884A (ko) | 블록체인을 기반으로 한 IoT 데이터 저장을 위한 일괄 처리 방법 및 상기 방법을 이용한 IoT 데이터 저장 시스템 | |
Essaid et al. | Community structure in public blockchain network | |
Kang | Research on anonymous network topology analysis | |
Wehmuth et al. | Distributed assessment of network centralities in complex social networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |