一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的数字货币网络的交易节点的真实性验证方法和系统与流程

2021-11-24 20:19:00 来源:中国专利 TAG:


1.本发明涉及服务器节点监测技术领域,具体为一种基于区块链的数字货币网络的交易节点的真实性验证方法和系统。


背景技术:

2.近来,随着区块链技术发展迅速,数字货币交易规模逐步攀升,引起国内外广泛关注。以数字货币中的比特币交易为例,其具备区块链去中心化和匿名化特征,使得数字货币交易者的身份难以识别,为不法行为(如非法物品交易、数字货币勒索病毒、洗钱等)提供了隐匿空间。基于区块链数字货币交易具有去中心化特点,相对于传统金融系统,数字货币交易具有较强的反溯源能力。
3.基于区块链的数字货币交易系统一般具有以下特点:(1)交易者ip地址匿名性,数字货币进行交易时交易者ip是用户参与数字货币交易时使用的账号,该地址由用户自行创建,与用户身份信息无关,创建和使用过程不需要第三方参与。(2)交易节点分散性,数字货币系统支持用户通过不同的交易节点发起交易,因此用户的交易信息将分散在不同交易节点中,很难通过分析交易记录寻找用户的身份特征。(3)网络结构去中心化,数字货币系统采用p2p(对等网络)协议组网,不存在中心节点。
4.基于数字货币系统具有的以上特点,很难通过监测单一服务器追踪交易信息在数字货币交易网络中的传播路径,传统的交易溯源技术在数字货币系统中无法适用。这就导致现有的溯源技术对于数字货币交易网络中各个交易节点的连接关系拓扑的真实性无法进行验证,进而影响了交易信息溯源的准确性。


技术实现要素:

5.为此,需要提供一种基于区块链的数字货币网络的交易节点的真实性验证的技术方案,用以解决现有的数字货币溯源技术存在着对交易信息的溯源准确性低的问题。
6.为实现上述目的,在第一方面,本发明提供了一种基于区块链的数字货币网络的交易节点的真实性验证方法,所述方法包括以下步骤:
7.在所述数字货币交易网络中部署一可控节点,并使得所述可控节点只连接目标节点;所述目标节点为初设交易信息传播路径拓扑的初设初始节点;
8.通过所述可控节点创建一笔验证交易信息;
9.通过探针节点收集在所述数字货币交易网络各个节点转发的所述验证交易信息;所述探针节点被配置为能够与所述数字货币交易网络中所有节点的建立连接;
10.探针节点根据所述验证交易信息的交易哈希值筛选出所有交易节点转发的所述验证交易信息,并根据接收到的各个验证交易信息的到达时间顺序对所述各个验证交易信息对应的交易发送方的ip地址信息进行排序,得到第二排序结果;
11.根据所述第二排序结果确定所述验证交易信息的传播路径,并判断所述验证交易
信息的传播路径是否符合所述初设交易信息传播路径拓扑,若不符合则对初设交易信息传播路径拓扑进行调整。
12.作为一种可选的实施例,根据所述第二排序结果确定所述验证交易信息的传播路径,并判断所述验证交易信息的传播路径是否符合所述初设交易信息传播路径拓扑,若不符合则对初设交易信息传播路径拓扑进行调整包括:
13.根据第二排序结果确定所述目标节点对应的邻居节点,判断所述目标节点对应的邻居节点与初设交易信息传播路径拓扑中初设初始节点对应的初设邻居节点是否一致,若一致则不对初设交易信息传播路径拓扑中初设初始节点对应的初设邻居节点进行调整,否则将初设交易信息传播路径拓扑中初设初始节点对应的初设邻居节点调整为所述目标节点对应的邻居节点。
14.作为一种可选的实施例,所述目标节点对应的邻居节点包括1阶邻居节点和多阶邻居节点;所述1阶邻居节点是指与目标节点直接相邻的节点;所述多阶邻居节点是指通过其他邻居节点与目标节点间接相邻的节点;
15.判断所述目标节点对应的邻居节点与初设交易信息传播路径拓扑中初设初始节点对应的初设邻居节点是否一致包括:
16.判断所述目标节点对应的1阶邻居节点与初设交易信息传播路径拓扑中初设初始节点对应的初设1阶邻居节点是否一致,和/或判断所述目标节点对应的多阶邻居节点与初设交易信息传播路径拓扑中初设初始节点对应的初设多阶邻居节点是否一致。
17.作为一种可选的实施例,根据第二排序结果确定所述目标节点对应的邻居节点包括:
18.将第二排序结果中排名在预设排名范围内的交易发送方确定为目标节点对应的潜在邻居节点,为所有目标节点对应的潜在邻居节点分别计算一个匹配值,根据计算得到的匹配值确定目标节点对应的邻居节点。
19.作为一种可选的实施例,为所有目标节点对应的潜在邻居节点分别计算一个匹配值包括:
20.根据以下公式来计算各个潜在邻居节点对应的匹配值:
[0021][0022]
其中,s为大于1的常数,rt表示当前潜在邻居节点发送的交易信息到达所述探针节点的时间排序名次;ri表示预设排名范围内除了当前潜在邻居节点以外其他潜在邻居节点发送的交易信息到达所述探针节点的时间排序名次;t为匹配值能够达到的最大值。
[0023]
作为一种可选的实施例,初设初始节点根据以下步骤得到:
[0024]
s1:在数字货币交易网络中设置至少一个探针节点;
[0025]
s2:通过所述探针节点接收所述数字货币交易网络中各节点在进行交易过程中的所有交易信息;所述交易信息包括交易的哈希值,每笔交易对应一个唯一的交易哈希值;
[0026]
s3:探针节点将搜集到的所有交易信息按照交易哈希值不同进行分类,并根据接收到的各笔交易信息的交易信息到达时间的先后顺序对具有相同交易哈希值的交易信息
对应的交易发送方的ip地址进行排序,得到第一排序结果;所述交易信息到达时间是指各交易信息被所述探针节点接收的时间戳信息,所述交易发送方的ip地址信息为将所述交易信息转发给探针节点的发送方的ip地址信息;
[0027]
s4:将第一排序结果中排名靠前的若干个交易发送方确定为潜在初始节点,为所有潜在初始节点分别计算一个匹配值,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点。
[0028]
作为一种可选的实施例,初设交易信息传播路径拓扑中初设初始节点对应的初设邻居节点根据以下步骤得到:
[0029]
将第一排序结果中排名在预设排名范围内的交易发送方确定为潜在邻居节点,为所有潜在邻居节点分别计算一个匹配值,根据各笔交易中潜在邻居节点计算得到的匹配值确定该笔交易信息对应的初设邻居节点;潜在初始节点的排名范围与潜在邻居节点的预设排名范围不重叠。
[0030]
作为一种可选的实施例,初设交易信息传播路径拓扑根据以下方式得到:
[0031]
确定多个不同交易哈希值的交易信息对应的初设初始节点以及初设邻居节点,根据初设初始节点以及初设邻居节点确定各笔交易信息的传播路径,根据所述多个不同交易哈希值的交易信息的传播路径确定所述数字货币交易网络中各个交易节点的连接位置关系,从而构建完善初设交易信息传播路径拓扑。
[0032]
作为一种可选的实施例,探针节点被配置为能够与所述数字货币交易网络中所有节点的建立连接包括:
[0033]
将探针节点与所述数字货币交易网络中的种子节点建立连接,并让探针节点向所述种子节点发起节点信息获取请求;
[0034]
种子节点将各节点信息发送给探针节点;所述各节点信息包括所述数字货币交易网络中所有节点的ip地址信息;
[0035]
探针节点接收所述各节点信息,并向所述各节点的ip地址发起连接请求,并与所述各节点建立连接。
[0036]
在第二方面,本发明还提供了一种基于区块链的数字货币网络的交易节点的真实性验证系统,所述系统用于执行如本发明第一方面所述的方法。
[0037]
区别于现有技术,本发明提供了一种基于区块链的数字货币网络的交易节点的真实性验证方法和系统,所述方法先通过在所述数字货币交易网络中部署一可控节点,并使得所述可控节点只连接目标节点;而后根据探针节点接收到的所有可控节点创建交易信息的时间先后顺序,对于各个交易发送方进行排序,而后根据所述第二排序结果确定所述验证交易信息的传播路径,并判断所述验证交易信息的传播路径是否符合所述初设交易信息传播路径拓扑,若不符合则对初设交易信息传播路径拓扑进行调整。通过上述方案,可以对初设交易信息传播路径拓扑的初设初始节点对应的初设邻居节点的真实性进行验证。
附图说明
[0038]
图1为本发明一实施方式所述的初设交易信息传播路径拓扑验证方法;
[0039]
图2为本发明一实施方式所述的初设交易信息传播路径拓扑中初设初始节点的计算方法;
[0040]
图3为本发明一实施方式所述的初设交易信息传播路径拓扑中初设邻居节点的计算方法;
[0041]
图4为本发明一实施方式所述的构建完善初设交易信息传播路径拓扑的方法;
[0042]
图5为本发明一实施方式所述的探针节点连接全网交易节点方法;
[0043]
图6为本发明一实施方式所述的验证交易信息传播路径拓扑图。
具体实施方式
[0044]
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0045]
为了便于说明本技术涉及的技术方案,以下先对本技术涉及的技术名词进行解释和定义:
[0046]
(1)数字货币交易网络:
[0047]
数字货币交易网络是指基于区块链技术构建的电子货币交易网络,数字货币可以包括比特币、莱特币、以太币等等。通常,数字货币交易网络中包括多个交易节点,每一交易节点可以通过一台服务器或多台服务器集群来实现。
[0048]
数字货币交易网络中各个交易节点之间通过特定的通讯协议进行通讯,以比特币交易为例,各个交易节点可以通过发起“connect ip

xxxx

port”命令以连入比特币货币交易网络。同时,为了保证交易信息的接收和转发不受其他信息的干扰,各个交易节点的使用者还可以通过设置端口权限的方式来屏蔽其他类数字货币的交易信息,即保证各个交易节点一旦连入某一数字货币交易网络中,则只会接收相应的数字货币交易网络中的交易信息。
[0049]
(2)探针节点
[0050]
本技术中的探针节点是指设置了溯源程序、且部署于数字货币交易网络中的交易节点,该溯源程序被执行时用于实现对探针节点的收集和记录的各类数据进行分析处理,以筛选出同一交易哈希值的各笔交易信息对应的初始节点以及该初始节点对应的邻居节点。本技术中的探针节点被配置为能够与数字货币交易网络中的其他所有交易节点的建立连接,从而可以获取数字货币交易网络中的所有交易节点转发的交易信息。
[0051]
探针节点通过发送特定的协议命令加入某一数字货币交易网络,同时只接收该数字货币交易网络中的交易信息,对于其他信息可以通过设置端口参数的方式自动予以屏蔽,保证交易节点只接收相应的数字货币交易信息,而不会受到其他信息的干扰。
[0052]
(3)交易信息
[0053]
一般情况下,在数字货币交易网络中,交易信息包括交易哈希值、交易金额和其他备注信息。交易哈希值为一组随机的字符串,由交易发起节点在发起交易时随机生成,并随着本次交易的交易内容(如交易金额、其他备注事项)一并转发给下一交易节点。在交易信息转发过程中,尽管同一笔交易信息会被各个交易节点相互不断转发,但同一笔交易信息的交易哈希值始终不变。这里的同一笔交易是指由某个交易节点在某个时间点发起的某笔交易。
[0054]
(4)交易信息到达时间
[0055]
在本技术中,交易信息到达时间表征的是各笔交易信息被探针节点接收的时间信
息。优选的,交易信息到达时间可以用差值时间来表示,差值时间是指某笔交易被探针节点接收的时间戳与这笔交易在数字货币交易网络中发起的时间戳之差,即网络延时。当某个交易节点发起某笔交易时,基于数字货币的交易机制,数字货币交易网络中的所有交易节点都会获知这笔交易的发起时间,但无法获知本次交易是由哪个交易节点发起的。本技术通过设置探针节点与所有交易节点建立连接,进而通过分析每笔交易信息到达探针节点的网络延时来推测出本次交易的发起节点。
[0056]
(5)交易发送方的ip地址信息
[0057]
在本技术中,交易发送方的ip地址信息为将交易信息转发给探针节点的发送方的ip地址信息。简单的说,由于数字货币交易网络中的所有交易节点都与探针节点建立连接,即探针节点是所有交易节点的邻居节点,因而探针节点就可以不断收到各个交易节点转发的交易信息,探针节点除了根据交易哈希值对这些交易信息进行分类之外,还会记录各笔交易信息对应的到达时间和发送方的ip地址(即是哪个节点交易ip将该笔交易信息发送给探针节点的)。
[0058]
(6)初始节点
[0059]
初始节点是指某笔交易信息的发起节点。潜在初始节点是指经过初步筛选很有可能是初始节点但未确定的交易节点,例如网络延时越短,说明某个交易发送方转发的某笔交易信息越早被探针节点接收到,那么就可以将网络延时小于第一延时的交易节点认定为潜在初始节点,而后再进行进一步判断和筛选。
[0060]
(7)初始节点对应的邻居节点
[0061]
邻居节点,顾名思义,是指初始节点转发的交易信息的接收方。在数字货币交易网络中,初始节点发起的交易信息会由近及远向外广播,即交易信息先传达到与初始节点直接建立连接的邻居节点,而后再由邻居节点广播至该邻居节点对应的邻居节点。
[0062]
由于数字货币交易在网络层采用泛洪的方式传输,即在交易网络中的交易信息首先从始发节点(即初始节点)转发给与始发节点相邻的邻居节点,然后邻居节点继续将交易信息转发给自身的邻居节点,以此类推,直到将该笔交易信息传到数字货币交易区块链中的所有节点。以比特币交易网络为例,通常每个服务器节点具有不超过125个邻居节点。在数字货币交易网络中,各个服务器节点(即交易节点)通过和自身对应的邻居节点交互信息(一般为交易信息)来维持与整个数字货币交易网络。
[0063]
在本技术中,邻居节点包括1阶邻居节点和多阶邻居节点,1阶邻居节点为与初始节点直接相邻的节点,多阶邻居节点为与初始节点间接相邻的节点;多阶邻居节点又包括2阶邻居节点,2阶邻居节点...n阶邻居节点(n≥3)等。1阶邻居节点是指与初始节点直接相邻的邻居节点;2阶邻居节点是指与1阶邻居节点相邻的邻居节点,即通过1阶邻居节点与初始节点建立连接的节点;3阶邻居节点是指与2阶邻居节点相邻的邻居节点,即先通过2阶邻居节点、再通过1阶邻居节点与初始节点建立连接的节点;以此类推。
[0064]
潜在初始节点是指经过初步筛选很有可能是初始节点对应的邻居节点,例如网络延时越短,说明某个交易发送方转发的某笔交易信息越早被探针节点接收到,那么久就可以将网络延时大于第一延时但小于第二延时(第二延时的数值大于第一延时)的交易节点认定为潜在邻居节点,而后再进行进一步判断和筛选。
[0065]
(8)初设交易信息传播路径拓扑
[0066]
初设交易信息传播路径拓扑中包含了各个交易节点初步设定的连接关系,这一连接关系是通过以下方式构建的:首先就单笔交易而言,当计算出了这笔交易的初始节点和该初始节点对应的邻居节点,就可以根据这笔交易的多个传播链路推算出这笔交易对应的网络拓扑,即这笔交易的各次转发中涉及到的所有交易节点的连接关系,即初设交易信息传播路径拓扑。而后通过大量交易的测算,可以得到多笔不同交易对应的网络拓扑,再对这些网络拓扑进行叠加与调整,就可以完善构建数字货币交易网络的节点位置连接关系分布图,即初设交易信息传播路径拓扑图,从而完成对交易信息的溯源。
[0067]
(9)目标节点
[0068]
目标节点是指待验证的节点,即当需要对初设交易信息传播路径拓扑中某个交易节点的位置(即该节点与其邻居节点的连接关系)的真实性进行验证时,可以指定该节点为目标节点。在本技术中,目标节点为初设交易信息传播路径拓扑中的初设初始节点。
[0069]
(10)可控节点
[0070]
可控节点是指只连接至目标节点的交易节点,即可控节点只有目标节点这1个邻居节点,这样可控节点发起的交易信息必然都先通过目标节点进行转发。在数字货币交易网络中,可控节点的数量可以根据目标节点的数量进行设定,例如可以设定多个可控节点连接至多个不同的目标节点,以对多个目标节点位置的真实性进行验证。
[0071]
(11)验证交易信息
[0072]
验证交易信息是指由可控节点发起的交易信息,其目的是根据这一交易信息的传播路径来验证在初设交易信息传播路径拓扑中初始节点与其对应的邻居节点的位置是否准确。
[0073]
(12)种子节点
[0074]
在数字货币交易区块链中,存在一些节点存储有大量其他交易节点的节点信息,这类节点称为种子节点。种子节点在数字货币交易区块链中的ip地址是已知的,探针节点可以通过向多个种子节点获取全网节点信息(包括全网交易中各个交易节点的ip地址),从而通过向全网的交易节点的ip地址进行广播,以建立与当前数字货币交易网络中的所有交易节点的连接。
[0075]
如图1所示,方法包括以下步骤:
[0076]
首先进入步骤s101在数字货币交易网络中部署一可控节点,并使得可控节点只连接目标节点;目标节点为初设交易信息传播路径拓扑的初设初始节点;
[0077]
而后进入步骤s102通过可控节点创建一笔验证交易信息;
[0078]
而后进入步骤s103通过探针节点收集在数字货币交易网络各个节点转发的验证交易信息;探针节点被配置为能够与数字货币交易网络中所有节点的建立连接;
[0079]
而后进入步骤s104探针节点根据验证交易信息的交易哈希值筛选出所有交易节点转发的验证交易信息,并根据接收到的各个验证交易信息的到达时间顺序对各个验证交易信息对应的交易发送方的ip地址信息进行排序,得到第二排序结果;
[0080]
而后进入步骤s105根据第二排序结果确定验证交易信息的传播路径,并判断验证交易信息的传播路径是否符合初设交易信息传播路径拓扑,若不符合则对初设交易信息传播路径拓扑进行调整。
[0081]
由于可控节点只有目标节点这1个邻居节点,可控节点创建的验证交易信息必然
将由目标节点首先转发到数字货币交易网络中的,即探针节点所探测到的最先达到的交易发送方的ip地址应该是目标节点的ip地址,即最短的交易传播路径为可控节点

目标节点

探针节点,利用这种特点,可以针对交易网络中的任意服务器节点多次测试始发交易的传播路径,从而更加准确地推测各个目标节点对应的邻居节点,进而对初设交易信息传播路径拓扑中的各个交易节点的连接关系进行调整。
[0082]
为了进一步减小误差,可以在数字货币交易网络中部署多个可控节点,每个可控节点分别连接不同的目标节点,然后让各个可控节点发起一笔或多笔交易信息,进而通过探针节点验证初设交易信息传播路径拓扑是否符合实际。
[0083]
在某些实施例中,根据第二排序结果确定验证交易信息的传播路径,并判断验证交易信息的传播路径是否符合初设交易信息传播路径拓扑,若不符合则对初设交易信息传播路径拓扑进行调整包括:根据第二排序结果确定目标节点对应的邻居节点,判断目标节点对应的邻居节点与初设交易信息传播路径拓扑中初设初始节点对应的初设邻居节点是否一致,若一致则不对初设交易信息传播路径拓扑中初设初始节点对应的初设邻居节点进行调整,否则将初设交易信息传播路径拓扑中初设初始节点对应的初设邻居节点调整为目标节点对应的邻居节点。
[0084]
由可控节点创建的验证交易信息在进行传播过程中,探针节点也会先根据验证交易信息到达探针节点的时间顺序筛选出验证交易信息对应的潜在初始节点和潜在邻居节点,而后根据潜在初始节点和该初始节点对应的潜在邻居节点分别计算一个匹配值,并通过将计算得到的匹配值与预设匹配值进行比较,从而确定验证交易信息对应的初始节点和邻居节点,基于该初设节点和邻居节点就可以预测出验证交易信息的传播路径。如果初设交易信息传播路径拓扑符合实际,那么初设邻居节点(即初设交易信息传播路径拓扑中初设初始节点对应的邻居节点)与验证交易信息的邻居节点将保持一致;反之,如果初设交易信息传播路径拓扑不符合实际,初设交易信息传播路径拓扑中初设初始节点对应的邻居节点将与验证交易信息的邻居节点不一致,就需要对初设交易信息传播路径拓扑中初设初始节点对应的初设邻居节点进行调整,具体调整方式为:将初设交易信息传播路径拓扑中初设初始节点对应的初设邻居节点调整为目标节点对应的邻居节点。
[0085]
在某些实施例中,目标节点对应的邻居节点包括1阶邻居节点和多阶邻居节点;1阶邻居节点是指与目标节点直接相邻的节点;多阶邻居节点是指通过其他邻居节点与目标节点间接相邻的节点;判断目标节点对应的邻居节点与初设交易信息传播路径拓扑中初设初始节点对应的初设邻居节点是否一致包括:判断目标节点对应的1阶邻居节点与初设交易信息传播路径拓扑中初设初始节点对应的初设1阶邻居节点是否一致,和/或判断目标节点对应的多阶邻居节点与初设交易信息传播路径拓扑中初设初始节点对应的初设多阶邻居节点是否一致。
[0086]
在某些实施例中,根据第二排序结果确定目标节点对应的邻居节点包括:将第二排序结果中排名在预设排名范围内的交易发送方确定为目标节点对应的潜在邻居节点,为所有目标节点对应的潜在邻居节点分别计算一个匹配值,根据计算得到的匹配值确定目标节点对应的邻居节点。
[0087]
为了简化计算,第二排序结果只对验证交易信息的潜在1阶邻居节点、潜在2阶邻居节点进行计算,即对于验证交易信息的网络延时大于某一个数值(该数值表示某个交易
节点是否为潜在2阶邻居节点的临界值)的交易节点的交易信息到达时间不再进行计算。例如可以将探针节点的网络延时小于1ms的所有交易发送方列为潜在1阶邻居节点,将网络延时大于1ms但小于2ms的所有交易发送方列为潜在2阶邻居节点。
[0088]
而对于经过筛选后的各个交易节点对应的网络延时,探针节点的溯源程序会基于第二排序结果对各个潜在邻居节点(包括潜在1阶邻居节点、潜在2阶邻居节)计算一个匹配值,进而判断验证交易信息对应的邻居节点,从而推测出验证交易信息的传播路径,通常传播路径如下:目标节点

邻居节点a
‑‑
..邻居节点n

探针节点。
[0089]
在某些实施例中,为所有目标节点对应的潜在邻居节点分别计算一个匹配值包括:
[0090]
根据以下公式来计算各个潜在邻居节点对应的匹配值:
[0091][0092]
其中,s为大于1的常数,rt表示当前潜在邻居节点发送的交易信息到达探针节点的时间排序名次;ri表示预设排名范围内除了当前潜在邻居节点以外其他潜在邻居节点发送的交易信息到达探针节点的时间排序名次;t为匹配值能够达到的最大值。
[0093]
假设计算匹配值过程中,选取的是第一排序结果中排名预设排名范围为6

14(在另一些实施例中,可以为其他数值)的交易发送方,可以为每个潜在邻居节点构建一个10元组,包括[txid,rt,r1,r2,r3,r4,r5,r6,r7,r8],其中txid代表交易哈希值,r1

r8代表除了当前潜在邻居节点以外其他8个潜在邻居节点发送的交易信息到达探针节点的时间排序名次。如果当前潜在邻居节点转发的交易信息第6个到达探针节点,则rt赋值为6;如果当前潜在邻居节点转发的交易信息第7个到达探针节点,则rt赋值为7;如果当前潜在邻居节点转发的交易信息第8个到达探针节点,则rt赋值为8;以此类推。计算得到的潜在邻居节点对应的匹配值越大,则该潜在邻居节点为目标节点的邻居节点的概率就越大。
[0094]
在本实施方式中,上述公式中分母t被设为理想情况下的得分最大值,这样可以保证计算得到的所有匹配值的计算结果都在0

1之间。t的具体取值可以根据实际需要进行设定,只需保证其大于通常情况下交易网络中两台服务器节点通讯的最大网络延时即可。通过将匹配值计算公式的分母设为某个较大的定值后,可以将每个匹配值的取值范围都限定在0

1之间,而匹配值表征的是某个潜在邻居节点为目标节点的邻居节点的概率。
[0095]
优选的,将匹配值排名靠前的若干个潜在邻居节点作为目标节点的邻居节点,通过确定目标节点的邻居节点,就可以构建出验证交易信息的传播路径,进而与初设交易信息传播路径拓扑进行比对,完成对初设交易信息传播路径拓扑的验证。
[0096]
在实际运行应用过程时,由于网络干扰条件的影响,单次计算的某个潜在邻居节点的匹配值可能出现异常值,为了提高目标节点的邻居节点推测的准确率,可以通过多次监测来剔除异常数据的干扰。因而在某些实施例中,根据计算得到的匹配值确定目标节点对应的邻居节点包括:对所有筛选出的潜在邻居节点对应的匹配值进行优化,分别计算得到一优化匹配值,将优化匹配值中数值最大的若干个潜在邻居节点确定为目标节点的邻居节点;优化匹配值g
opt
的计算公式如下:
[0097][0098]
n为匹配值计算次数,g
i
表示第i次计算得到的匹配值。
[0099]
多次计算的匹配值g
i
通常包括以下两种情况:
[0100]
1)采用多探针优化方式。即使用x个探针节点同时监测,每个探针都被配置为与所有交易连接,因而根据每个探针节点的第一排序结果各个潜在邻居节点都能计算得到一个匹配值,即每个潜在邻居节点都能对应计算得到x个匹配值;
[0101]
2)多次交易优化方式。通常,具有相同交易账户地址的交易很可能是由同一个交易节点始发的,因此可以假设具有相同交易账户地址的y笔交易是由相同服务器节点创建的交易,这样每个潜在邻居节点也可以对应得到y个匹配值。
[0102]
在实际运算时,可以将上述两种情况得到的(x y)个匹配值g
i
都代入中,得到优化后的匹配值,减少因网络延迟等干扰因素带来的误差。
[0103]
如图2所示,在本实施方式中,初设初始节点根据以下步骤得到:
[0104]
s1:在数字货币交易网络中设置至少一个探针节点;
[0105]
s2:通过探针节点接收数字货币交易网络中各节点在进行交易过程中的所有交易信息;交易信息包括交易的哈希值,每笔交易对应一个唯一的交易哈希值;
[0106]
s3:探针节点将搜集到的所有交易信息按照交易哈希值不同进行分类,并根据接收到的各笔交易信息的交易信息到达时间的先后顺序对具有相同交易哈希值的交易信息对应的交易发送方的ip地址进行排序,得到第一排序结果;交易信息到达时间是指各交易信息被探针节点接收的时间戳信息,交易发送方的ip地址信息为将交易信息转发给探针节点的发送方的ip地址信息;
[0107]
s4:将第一排序结果中排名靠前的若干个交易发送方确定为潜在初始节点,为所有潜在初始节点分别计算一个匹配值,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点。
[0108]
如图3所示,在本实施方式中,初设初始节点根据以下步骤得到:
[0109]
s1:在数字货币交易网络中设置至少一个探针节点;
[0110]
s2:通过探针节点接收数字货币交易网络中各节点在进行交易过程中的所有交易信息;交易信息包括交易的哈希值,每笔交易对应一个唯一的交易哈希值;
[0111]
s3:探针节点将搜集到的所有交易信息按照交易哈希值不同进行分类,并根据接收到的各笔交易信息的交易信息到达时间的先后顺序对具有相同交易哈希值的交易信息对应的交易发送方的ip地址进行排序,得到第一排序结果;交易信息到达时间是指各交易信息被探针节点接收的时间戳信息,交易发送方的ip地址信息为将交易信息转发给探针节点的发送方的ip地址信息;
[0112]
s5:将第一排序结果中排名在预设排名范围内的交易发送方确定为潜在邻居节点,为所有潜在邻居节点分别计算一个匹配值,根据各笔交易中潜在邻居节点计算得到的匹配值确定该笔交易信息对应的初设邻居节点;潜在初始节点的排名范围与潜在邻居节点的预设排名范围不重叠。
[0113]
在构建初设交易信息传播路径拓扑过程中,潜在初始节点的匹配值的计算方式、
潜在邻居节点的匹配值的计算方式与验证交易信息中目标节点的潜在邻居节点的匹配值计算方式相似,此处不再展开。当获得初设邻居节点及其对应的邻居节点之后,就可以构建初设交易信息传播路径拓扑。具体的,如图4所示,初设交易信息传播路径拓扑根据以下方式得到:
[0114]
首先进入步骤s401确定多个不同交易哈希值的交易信息对应的初设初始节点以及初设邻居节点,根据初设初始节点以及初设邻居节点确定各笔交易信息的传播路径;
[0115]
而后进入步骤s402根据多个不同交易哈希值的交易信息的传播路径确定数字货币交易网络中各个交易节点的连接位置关系,从而构建完善初设交易信息传播路径拓扑。
[0116]
就单笔交易信息而言,当计算出了这笔交易的初始节点和该初始节点对应的邻居节点,就可以根据这笔交易的多个传播链路推算出这笔交易对应的网络拓扑,即这笔交易的各次转发中涉及到的所有交易节点的连接关系。而后通过大量交易信息的测算,可以得到多笔不同交易哈希值的交易信息的网络拓扑,再对这些网络拓扑进行叠加与调整,就可以完善构建数字货币交易网络的节点位置连接关系分布图,即初设交易信息传播路径拓扑图。
[0117]
如图5所示,在某些实施例中,探针节点被配置为能够与数字货币交易网络中所有节点的建立连接包括:
[0118]
首先进入步骤s501将探针节点与数字货币交易网络中的种子节点建立连接,并让探针节点向种子节点发起节点信息获取请求;
[0119]
而后进入步骤s502种子节点将各节点信息发送给探针节点;各节点信息包括数字货币交易网络中所有节点的ip地址信息;
[0120]
而后进入步骤s503探针节点接收各节点信息,并向各节点的ip地址发起连接请求,并与各节点建立连接。
[0121]
在这一实施例中,探针节点通过发送特定的协议命令加入数字货币交易网络,同时只接收该数字货币交易网络中的交易信息,对于其他信息可以通过设置端口参数的方式自动予以屏蔽,保证交易节点只接收交易信息,而不会受到其他信息的干扰。
[0122]
在这一实施例中,本技术的溯源机制首先选定待监测的目标节点,并获得目标节点的i p地址,目标节点为初设交易信息传播路径拓扑中确定的各笔交易对应的初设初始节点。而后探针节点可以利用数字货币技术中的节点发现机制搜集数字货币交易网络中各个服务器节点的信息。优选的,节点信息还包括节点组织名称、节点所在经纬度坐标、节点所在地区名称中的任一项或多项。
[0123]
在这一实施例中,探针节点首先连接数字货币的种子节点(硬编码在数字货币客户端程序中的节点i p地址),然后向种子节点索取所有节点的节点信息。而后通过递归索取的方式,使得探针节点最终能够获得数字货币交易网络中大部分在线服务器节点的信息,分析人员可以从中选择感兴趣的目标节点进行交易溯源分析,即可以通过部署探针节点对于交易网络中任意一个交易信息的发起节点(即交易初始节点)进行分析。优选的,种子节点的数量为多个,每个种子节点都存储有当前数字货币交易网络中部分交易节点的节点信息,探针节点通过向所有种子节点发送节点信息获取请求,从而从各个种子节点处获得数字货币交易网络中所有交易节点的节点信息。
[0124]
在本实施方式中,种子节点的数量为多个,各个种子节点分别存储有数字货币交
易网络中部分交易节点对应的节点信息;方法包括:探针节点向所有种子节点发起节点信息获取请求,各个种子节点将其各自存储的节点信息发送给探针节点;探针节点对所有种子节点发送的节点信息进行整理,以得到数字货币交易网络中所有交易节点的节点信息。探针节点对所有种子节点发送的节点信息进行整理是指将当收到ip地址相同的多个节点信息时,只向其中一个ip地址发起连接请求,以节省带宽。
[0125]
在某些实施例中,探针节点被配置为只接收数字货币交易网络中各节点在进行交易过程中的交易信息且不对交易信息进行转发。以数字货币交易网络为比特币交易网络为例,网络中的各服务器节点通过保存邻居节点的ip地址和端口信息来实现连接,相邻节点之间节点相互转发交易信息和区块信息,还会通过ping等方式监测对方节点的在线状态。而比特币协议中为了降低节点的消耗,规定邻居节点的数量上限是125个,但由于本技术的探针节点在设计时,被配置为只接收数字货币交易网络中各节点在进行交易过程中的交易信息且不对交易信息进行转发,从而有效降低了节点的通信代价,可以使得能够与探针节点建立连接的邻居节点数量显著上升,通过能够覆盖整个数字货币交易网络中的所有服务器节点。
[0126]
在第二方面,本发明还提供了一种基于区块链的数字货币网络的交易节点的真实性验证系统,系统用于执行如第一方面的方法。
[0127]
如图6所示,为本发明一实施方式所述的验证交易信息传播路径拓扑图。交易节点包括探针节点x、可控节点a、交易节点b、交易节点c、交易节点d、交易节点e、交易节点f、交易节点g。探针节点x分别与交易节点b

g建立连接,假设验证交易信息先后经过多个不同路径传播后依次被探针节点x所接收。探针节点依次记录的各个交易发送方的交易信息到达时间如表1所示:
[0128][0129]
[0130]
表1
[0131]
假设交易信息到达时间介于【0,1】范围内的交易发送方视为验证交易信息的潜在初始节点,交易信息到达时间介于【1,2】范围内的交易发送方视为验证交易信息的潜在1阶邻居节点,交易信息到达时间介于【2,3】范围内的交易发送方视为验证交易信息的潜在2阶邻居节点。从表1中可以看出,交易哈希值都为1的验证交易信息总共被探针节点捕捉到8次,交易信息到达时间介于【1,2】范围内的交易发送方为交易节点b,交易信息到达时间介于【1,2】范围内的交易发送方为交易节点c、交易节点d和交易节点f,交易信息到达时间介于【2,3】范围内的为交易节点e、交易节点f、交易节点g和交易节点d。
[0132]
为了便于说明,假设这些潜在交易节点计算得到的匹配值均满足要求,因而可以认定交易节点b即为验证交易信息的初始节点,交易节点c、交易节点d和交易节点f为1阶邻居节点,交易节点e、交易节点f、交易节点g和交易节点d为2阶邻居节点。因此,可以推测出交易节点c、交易节点d和交易节点f分别与交易节点b连接,又由于交易节点f、交易节点g作为2阶邻居节点时分别转发了两次交易信息到探针节点x,说明交易节点f、g都至少与两个1阶邻居节点连接;交易节点d、交易节点e作为2阶邻居节点时分别只转发了1次交易信息到探针节点x,说明交易节点d、e只与一个1阶邻居节点连接。基于此,可以构建出验证交易信息的传播路径拓扑,具体如图6所示。
[0133]
表1中对于的交易信息的传播路径如下:
[0134]
路径1:交易节点b

探针节点x(交易信息到达时间为0.5ms);
[0135]
路径2:交易节点b

交易节点c

探针节点x(交易信息到达时间为1.9ms);
[0136]
路径3:交易节点b

交易节点d

探针节点x(交易信息到达时间为1.8ms);
[0137]
路径4:交易节点b

交易节点f

探针节点x(交易信息到达时间为1.7ms);
[0138]
路径5:交易节点b

交易节点c

交易节点e

探针节点x(交易信息到达时间为2.5ms);
[0139]
路径6:交易节点b

交易节点c

交易节点f

探针节点x(交易信息到达时间为2.7ms);
[0140]
路径7:交易节点b

交易节点d

交易节点f

探针节点x(交易信息到达时间为2.6ms);
[0141]
路径8:交易节点b

交易节点f

交易节点g

探针节点x(交易信息到达时间为2.8ms);
[0142]
路径9:交易节点b

交易节点d

交易节点g探针节点x(交易信息到达时间为2.8ms);
[0143]
路径10:交易节点b

交易节点f

交易节点d

探针节点x(交易信息到达时间为2.8ms)。
[0144]
验证交易信息的传播路径拓扑确定后,将其与初设交易信息传播路径拓扑进行比对后,就可以确定初设交易信息传播路径拓扑中初设初始节点对应的邻居节点是否准确,若不准确则需要对初设交易信息传播路径拓扑中初设初始节点对应的邻居节点进行调整,具体则是将初设交易信息传播路径拓扑中初设初始节点对应的邻居节点按照目标节点对应的邻居节点进行调整。
[0145]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实
体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
或“包含
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
[0146]
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法的全部或部分步骤。计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;的存储介质,包括但不限于:ram、rom、磁碟、磁带、光盘、闪存、u盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
[0147]
上述各实施例是参照根据实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0148]
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0149]
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0150]
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献