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

一种基于区块链的数字货币交易网络拓扑数据分析优化方法和系统与流程

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


1.本发明涉及服务器节点监测技术领域,具体为一种基于区块链的数字货币交易网络拓扑数据分析优化方法和系统。


背景技术:

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


技术实现要素:

5.为此,需要提供一种基于区块链的数字货币交易网络拓扑数据分析优化的技术方案,用以解决现有的数字货币溯源技术存在着交易信息溯源不准确的问题。
6.为实现上述目的,在第一方面,本发明提供了一种基于区块链的数字货币交易网络拓扑数据分析优化方法,所述方法包括以下步骤:
7.s1:在数字货币交易网络中设置至少一个探针节点;所述探针节点被配置为能够与所述数字货币交易网络中所有节点的建立连接;
8.s2:通过所述探针节点接收所述数字货币交易网络中各节点在进行交易过程中的所有交易信息;所述交易信息包括交易的哈希值,每笔交易对应一个唯一的交易哈希值;
9.s3:探针节点将搜集到的所有交易信息按照交易哈希值不同进行分类,并根据接收到的各笔交易信息的交易信息到达时间的先后顺序对具有相同交易哈希值的交易信息对应的交易发送方的ip地址进行排序,得到第一排序结果;所述交易信息到达时间是指各交易信息被所述探针节点接收的时间戳信息,所述交易发送方的ip地址信息为将所述交易信息转发给探针节点的发送方的ip地址信息;
10.s4:根据第一排序结果对具有相同交易哈希值的交易信息对应的每个交易发送方
分别计算一匹配值g;
11.s5:对计算得到的匹配值g进行优化,得到优化匹配值g
opt

12.s6:选定阈值g
y

13.s7:选取g
opt
>g
y
的数据并按从大到小顺序输出g
opt
及其对应的交易发送方的ip地址。
14.作为一种可选的实施例,步骤s7之后还包括步骤s8:
15.s8:确定最大的优化匹配值g
optmax
的交易发送方对应的交易信息传播路径拓扑并输出。
16.作为一种可选的实施例,步骤s8之后还包括步骤s9:
17.s9:确定多个不同交易哈希值的交易信息对应的g
optmax
及其对应的交易信息传播路径拓扑,再对这些交易信息传播路径拓扑进行叠加与调整,从而构建出完善的数字货币交易网络的节点位置连接关系分布图。
18.作为一种可选的实施例,根据第一排序结果对具有相同交易哈希值的交易信息对应的每个交易发送方分别计算一匹配值包括:
19.根据以下公式计算匹配值:
[0020][0021]
其中,s为待计算的交易节点对应的系数,rt表示待计算交易节点在所述第一排序结果中排序名次;ri表示第一排序结果中除待计算的交易节点以外的第i个交易节点在所述第一排序结果中排序名次;t为匹配值能够达到的最大值。
[0022]
作为一种可选的实施例,对计算得到的匹配值进行优化,得到优化匹配值包括:
[0023]
多次计算各个交易发送方对应的匹配值,对同一交易发送方经过多次计算得到的多个匹配值取平均,得到优化匹配值;
[0024]
优化匹配值计算公式如下:
[0025][0026]
其中,n为匹配值计算次数,g
i
表示第i次计算得到的匹配值。
[0027]
作为一种可选的实施例,所述探针节点的数量为多个,所述方法包括:
[0028]
多个探针节点同时进行监测,针对每笔交易信息对每个交易发送方均计算得到多个匹配值,将计算得到的多个匹配值g
i
代入公式进行计算,以得到优化匹配值。
[0029]
作为一种可选的实施例,所述交易信息包括账户地址;所述方法包括:
[0030]
从所有交易信息中筛选出包含有相同账户地址的交易信息,并将筛选出的这些交易信息对应的交易发送方的匹配值g
i
代入公式进行计算,以得到优化匹配
值。
[0031]
作为一种可选的实施例,探针节点被配置为能够与所述数字货币交易网络中所有节点的建立连接包括:
[0032]
将探针节点与所述数字货币交易网络中的种子节点建立连接,并让探针节点向所述种子节点发起节点信息获取请求;
[0033]
种子节点将各节点信息发送给探针节点;所述各节点信息包括所述数字货币交易网络中所有节点的ip地址信息;
[0034]
探针节点接收所述各节点信息,并向所述各节点的ip地址发起连接请求,并与所述各节点建立连接。
[0035]
作为一种可选的实施例,所述探针节点被配置为只接收所述数字货币交易网络中各节点在进行交易过程中的交易信息且不对所述交易信息进行转发。
[0036]
在第二方面,本发明还提供了一种基于区块链的数字货币交易网络拓扑数据分析优化系统,所述系统用于执行如本发明第一方面所述的方法。
[0037]
区别于现有技术,本发明提供了一种基于区块链的数字货币交易网络拓扑数据分析优化方法和系统,通过在数字货币交易网络中部署探针节点,并让数字货币交易网络中所有的交易节点都与探针节点建立连接,使得探针节点可以实时接收所有交易节点转发的交易信息,基于区块链数字货币交易的特征,同一笔交易信息具有唯一的交易哈希值,因而可以通过探针节点接收相同交易哈希值的交易信息的到达时间顺序,来为每个交易发送方计算一个哈希值并对计算得到的哈希值进行优化,而后输出所有优化匹配值大于阈值的交易发送方的ip地址及其对应的优化匹配值。
[0038]
优化匹配值是表征某个交易发送方为某笔交易信息的初始节点的概率,技术人员通过各个交易发送方对应的优化匹配值就可以分析出某笔交易信息最有可能的初始节点,从而完成交易信息的溯源。
附图说明
[0039]
图1为本发明一实施方式涉及的基于区块链的数字货币交易网络拓扑数据分析优化的方法;
[0040]
图2为本发明一实施方式所述的探针节点连接全网交易节点方法;
[0041]
图3为本发明一实施方式所述的构建目标节点对应的交易信息传播路径拓扑的方法;
[0042]
图4为本发明一实施方式所述的交易信息传播路径拓扑图。
具体实施方式
[0043]
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0044]
为了便于说明本技术涉及的技术方案,以下先对本技术涉及的技术名词进行解释和定义:
[0045]
(1)数字货币交易网络
[0046]
数字货币交易网络是指基于区块链技术构建的电子货币交易网络,数字货币可以
包括比特币、莱特币、以太币等等。通常,数字货币交易网络中包括多个交易节点,每一交易节点可以通过一台服务器或多台服务器集群来实现。
[0047]
数字货币交易网络中各个交易节点之间通过特定的通讯协议进行通讯,以比特币交易为例,各个交易节点可以通过发起“connect ip

xxxx

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

[0076]
s6:选定阈值g
y

[0077]
s7:选取g
opt
>g
y
的数据并按从大到小顺序输出g
opt
及其对应的交易发送方的ip地址。
[0078]
在某些实施例中,步骤s7之后还包括步骤s8:
[0079]
s8:确定最大的优化匹配值g
optmax
的交易发送方对应的交易信息传播路径拓扑并输出。
[0080]
在某些实施例中,步骤s8之后还包括步骤s9:确定多个不同交易哈希值的交易信息对应的g
optmax
及其对应的交易信息传播路径拓扑,再对这些交易信息传播路径拓扑进行叠加与调整,从而构建出完善的数字货币交易网络的节点位置连接关系分布图。
[0081]
在本实施方式中,优化匹配值是表征某个交易发送方为某笔交易信息的初始节点的概率,技术人员通过各个交易发送方对应的优化匹配值就可以分析出某笔交易信息最有可能的初始节点,从而完成交易信息的溯源。
[0082]
在某些实惠了中,根据第一排序结果对具有相同交易哈希值的交易信息对应的每个交易发送方分别计算一匹配值包括:
[0083]
根据以下公式计算匹配值:
[0084][0085]
其中,s为待计算的交易节点对应的系数,rt表示待计算交易节点在所述第一排序结果中排序名次;ri表示第一排序结果中除待计算的交易节点以外的第i个交易节点在所
述第一排序结果中排序名次;t为匹配值能够达到的最大值。优选的,s的取值为1.5,t的取值为8389/2520。
[0086]
为了简化计算,在本实施方式中,第一排序结果只针对所述交易信息到达时间排名靠前的若干个交易发送方进行排序。假设第一排序结果只针对所述交易信息到达时间排名前九的交易发送方进行排序。
[0087]
在计算这九个交易节点对应的匹配值时,可以构建一个10元组,10元组具体包括内容如下:[txid,rt,r1,r2,r3,r4,r5,r6,r7,r8],其中txid代表交易哈希值,rt表示待计算交易节点在所述第一排序结果中排序名次;ri表示第一排序结果中除待计算的交易节点以外的第i个交易节点在所述第一排序结果中排序名次。例如当待计算的交易节点转发的交易信息是最早到达探针节点的,则rt取值为1;当待计算的交易节点转发的交易信息是第二个到达探针节点的,则rt取值为2;当待计算的交易节点转发的交易信息是第三个到达探针节点的,则rt取值为3,;以此类推。
[0088]
如果待计算的交易节点是本次交易信息的初始节点,那么待计算的交易节点转发的交易信息只需要1次转发即可到达探针节点,交易信息的传播路径为:待计算的交易节点

探针节点;如果待计算的交易节点是本次交易信息的初始节点的邻居节点,那么待计算的交易节点转发的交易信息需要经过2次转发才可到达探针节点;初始节点

待计算的交易节点

探针节点。当待计算的交易节点是本次交易信息的初始节点时,由于只经过1次转发,因而受网络延迟干扰更大,因此在公式(1)中将s的取值为1.5,而ri对应的系数取值为1(即对1/ri来算累加)。
[0089]
t值取8389/2520是理想情况下匹配值的最大值,即待计算的交易节点转发的交易信息是第一个到达探针节点的,其他8个交易节点作为待计算的交易节点的邻居节点,匹配值的最大取值计算公式如下:
[0090]
1.5 1/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9=8389/2520。
[0091]
通过除以最大值t,可以保证各个待计算的交易节点计算的匹配值范围均在0

1之间,此时各个待计算的交易节点的匹配值为其可能是本次交易信息的初始节点的概率,探针节点可以通过输出各个交易发送方对应的ip地址及其匹配值以便技术人员进一步分析。
[0092]
在某些实施例中,对计算得到的匹配值进行优化,得到优化匹配值包括:多次计算各个交易发送方对应的匹配值,对同一交易发送方经过多次计算得到的多个匹配值取平均,得到优化匹配值;优化匹配值计算公式如下:
[0093][0094]
其中,n为匹配值计算次数,g
i
表示第i次计算得到的匹配值。
[0095]
通过多次计算各个交易发送方对应的匹配值并取平均,可以有效避免单次计算的匹配值出现异常值导致分析结果不准确的情况发送,避免单次计算时异常数据对初始节点概率产生误判。
[0096]
在某些实施例中,所述探针节点的数量为多个,所述方法包括:
[0097]
多个探针节点同时进行监测,针对每笔交易信息对每个交易发送方均计算得到多个匹配值,将计算得到的多个匹配值g
i
代入公式进行计算,以得到优化匹配
值。
[0098]
在另一些实施例中,所述交易信息包括账户地址;所述方法包括:
[0099]
从所有交易信息中筛选出包含有相同账户地址的交易信息,并将筛选出的这些交易信息对应的交易发送方的匹配值g
i
代入公式进行计算,以得到优化匹配值。
[0100]
简言之,在对各个交易发送方计算得到的匹配值进行优化时,优化方案可以是基于多探针的优化方案,也可以是基于多次交易的优化方案,还可以是两个方案的相结合。
[0101]
如果采用多探针的优化方案,可以在数字货币交易网络中部署x个探针节点,每个探针节点为第一排序结果中的每个交易发送方都可以计算得到1个匹配值,因而针对每个交易发送方就可以计算得到x个匹配值,将这x个匹配值代入公式(2)中进行计算取平均,就可以得到各个个交易发送方对应的优化匹配值。
[0102]
交易信息包括交易内容,交易内容一般包括交易金额和账户地址,包含有将某个交易金额转发个某个账户地址的交易信息在数字货币交易网络中传播,通常包含有相同账户地址的交易信息很可能是由同一个交易节点发起的。因此,如果采用基于多次交易的优化方案,可以从所有交易信息中筛选出具有相同账户地址的交易信息,并为这些交易信息对应的交易发起方分别计算一个匹配值,假设某个交易发送方转发的包含有相同账户地址的交易信息的数量为y笔,则针对这y笔交易信息就可以计算得到y个匹配值。而后将这y个匹配值代入公式(2)中进行计算取平均,就可以得到该交易发送方对应的优化匹配值。
[0103]
如果采用两者结合的优化方案,则可以将上述两种情况得到的(x y)个匹配值代入公式(2)中进行计算取平均,输出的结果就是优化匹配值。优化匹配值能够更精确地反映交易信息和待计算的交易节点的关系,即待计算的交易节点是某笔交易信息的初始节点还是邻居节点,减少因网络延迟等干扰因素带来的误差。
[0104]
如图2所示,在某些实施例中,探针节点被配置为能够与数字货币交易网络中所有节点的建立连接包括:
[0105]
首先进入步骤s201将探针节点与数字货币交易网络中的种子节点建立连接,并让探针节点向种子节点发起节点信息获取请求;
[0106]
而后进入步骤s202种子节点将各节点信息发送给探针节点;各节点信息包括数字货币交易网络中所有节点的ip地址信息;
[0107]
而后进入步骤s203探针节点接收各节点信息,并向各节点的ip地址发起连接请求,并与各节点建立连接。
[0108]
在这一实施例中,探针节点通过发送特定的协议命令加入数字货币交易网络,同时只接收该数字货币交易网络中的交易信息,对于其他信息可以通过设置端口参数的方式自动予以屏蔽,保证交易节点只接收交易信息,而不会受到其他信息的干扰。
[0109]
在这一实施例中,本技术的溯源机制首先选定待监测的目标节点,并获得目标节点的ip地址,目标节点优选为初设交易信息传播路径拓扑中确定的各笔交易对应的初始节点。而后探针节点可以利用数字货币技术中的节点发现机制搜集数字货币交易网络中各个服务器节点的信息。优选的,节点信息还包括节点组织名称、节点所在经纬度坐标、节点所在地区名称中的任一项或多项。
[0110]
在这一实施例中,探针节点首先连接数字货币的种子节点(硬编码在数字货币客户端程序中的节点ip地址),然后向种子节点索取所有节点的节点信息。而后通过递归索取的方式,使得探针节点最终能够获得数字货币交易网络中大部分在线服务器节点的信息,分析人员可以从中选择感兴趣的目标节点进行交易溯源分析,即可以通过部署探针节点对于交易网络中任意一个交易信息的发起节点(即交易初始节点)进行分析。优选的,种子节点的数量为多个,每个种子节点都存储有当前数字货币交易网络中部分交易节点的节点信息,探针节点通过向所有种子节点发送节点信息获取请求,从而从各个种子节点处获得数字货币交易网络中所有交易节点的节点信息。
[0111]
在本实施方式中,种子节点的数量为多个,各个种子节点分别存储有数字货币交易网络中部分交易节点对应的节点信息;方法包括:探针节点向所有种子节点发起节点信息获取请求,各个种子节点将其各自存储的节点信息发送给探针节点;探针节点对所有种子节点发送的节点信息进行整理,以得到数字货币交易网络中所有交易节点的节点信息。探针节点对所有种子节点发送的节点信息进行整理是指将当收到ip地址相同的多个节点信息时,只向其中一个ip地址发起连接请求,以节省带宽。
[0112]
在某些实施例中,探针节点被配置为只接收数字货币交易网络中各节点在进行交易过程中的交易信息且不对交易信息进行转发。以数字货币交易网络为比特币交易网络为例,网络中的各服务器节点通过保存邻居节点的ip地址和端口信息来实现连接,相邻节点之间节点相互转发交易信息和区块信息,还会通过ping等方式监测对方节点的在线状态。而比特币协议中为了降低节点的消耗,规定邻居节点的数量上限是125个,但由于本技术的探针节点在设计时,被配置为只接收数字货币交易网络中各节点在进行交易过程中的交易信息且不对交易信息进行转发,从而有效降低了节点的通信代价,可以使得能够与探针节点建立连接的邻居节点数量显著上升,通过能够覆盖整个数字货币交易网络中的所有服务器节点。
[0113]
如图3所示,本技术涉及的数据分析优化方法的核心思路是利用探针节点搜集数字货币交易网络中传输的交易信息,然后通过分析收集到的信息传播规律推测交易信息的始发节点,进而完成交易信息的溯源,该方法包括如下步骤:
[0114]
1)使用探针节点搜集数字货币网络中服务器节点的信息,确定溯源目标;
[0115]
2)根据目标节点的ip地址建立监测网络;
[0116]
3)使用探针搜集数字货币网络中的交易信息,同时采用主动嗅探算法推测目标节点的邻居节点;
[0117]
4)根据搜集的交易信息和推测的邻居节点信息为每一条交易计算匹配值;
[0118]
5)对匹配值进行优化,确定优化匹配值;
[0119]
6)选定阈值;
[0120]
7)输出优化匹配值超过阈值的交易信息;
[0121]
8)根据最大匹配值g
optmax
确定优化的目标节点的交易信息网络拓扑。
[0122]
下面具体介绍每一步的操作过程:
[0123]
(1)确定溯源目标
[0124]
图3的溯源方法首先需要选定待监测的目标节点,并获得待监测节点的ip地址。探针节点可以利用数字货币技术中的节点发现机制搜集数字货币网络中服务器节点的信息,
具体如下:首先,探针节点将连接数字货币种子节点(硬编码在数字货币客户端程序中的节点ip地址),然后向种子节点索取其对应的邻居节点信息,而后通过递归索取,探针节点最终将获得数字货币网络中大部分在线服务器节点的信息。探针节点搜集的服务器节点信息中包含ip地址、地理位置、组织名称和经纬度等信息,分析人员可以从中选择感兴趣的目标节点进行交易信息的溯源。
[0125]
(2)针对目标节点建立监测网络
[0126]
为了分析数字货币网络中交易的传播路径,本技术基于数字货币开源代码开发了探针程序,能够对服务器节点进行监测,搜集服务器节点转发的交易信息。探针节点对服务器节点的监测是通过模拟数字货币节点之间的连接实现的。在数字货币交易网络中,各个交易节点通过保存邻居节点的ip地址和端口来实现连接,节点之间相互转发交易信息和区块信息,还会通过ping等方式监测节点在线状态。以比特币交易为例,监测网络的组建步骤如下:
[0127]

探针节点向目标节点发送连接请求;
[0128]

连接成功后,向种子节点发送“getaddr”指令,索取种子节点存储的节点地址列表。
[0129]

探针节点对获得的地址列表中的所有目标节点发送连接请求,从而围绕目标节点建立监测网络,能够搜集所有连接节点转发的交易信息。
[0130]
(3)推测邻居节点
[0131]
探针节点启动后将记录到达探针节点的每一条交易信息的交易哈希值、交易发送方ip地址和交易信息到达时间。探针节点将搜集到的交易信息按照交易哈希分类,并对每一类交易按照交易到达探针的时间进行排序,然后从排序中挑选出目标节点和邻居节点的排序信息组成交易传播路径。
[0132]
假设交易传播路径是一个10元组,包括[txid,rt,r1,r2,r3,r4,r5,r6,r7,r8]。其中txid代表交易哈希值,rt代表目标节点转发的交易被探针检测到的时间排序。r1

r8代表8个邻居节点的排序。例如,当目标节点转发的交易信息第一个到达探针节点时,则rt=1。当搜集到的交易中没有找到邻居节点转发的交易时,设定排序值为max,代表无穷大。
[0133]
(4)计算匹配值
[0134]
计算的匹配值越高,说明交易信息越有可能是由目标节点始发。理想情况交易的始发节点首先转发交易,始发节点的邻居节点将第二批转发交易,其他n阶邻居节点依次推后。因此,可以依据特定交易的传播路径是否满足上述规则来判断特定交易是否由目标节点始发。实际环境中,由于数字货币程序采用随机延迟的干扰技术,以及存在网络延迟等干扰因素,排序可能与理想情况不同。为了减少干扰,本技术设计匹配值(g)代表交易和目标节点的关联关系。匹配值计算方法如公式(1)所示。
[0135][0136]
g代表匹配值,rt是指目标节点转发的交易信息到达探针节点的时间排序。r1

rn指n个邻居节点的排序,n的取值等于找到的邻居节点个数。排序越大对匹配值的作用越小。为了简化计算,当排序大于100时默认匹配值的分数为0。若目标节点是交易信息的始发节
点,那么其转发的交易信息只需要1次转发即可到达探针,而邻居节点需要经过2次转发(转发路径:目标节点

邻居节点

探针节点),受网络延迟的干扰较大,因此公式中目标节点的系数为1.5,邻居节点的系数为1。8389/2520是理想情况下得分的最大值,即目标节点第一个到达,8个邻居节点第一批到达的情况:
[0137]
1.5 1/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9=8389/2520。
[0138]
通过将公式的分母设为理想情况下得分的最大值,可以保证g值的取值为(0,1)。根据公式(1)计算的匹配值g反映了某一哈希值的交易信息和目标节点的关联关系。在实际运行时,由于干扰条件的影响,单次计算的匹配值可能出现异常值。为了提高推测的准确率,可以通过多次监测优化匹配值,剔除异常数据的干扰,计算优化后的匹配值,计算公式如下:
[0139][0140]
优化匹配值反映了交易传播路径和目标节点网络拓扑,其中g
opt
代表优化后的匹配值,n代表匹配次数,gi代表第i次的匹配值。g
opt
值越高,说明此交易的传播路径和目标节点的网络拓扑越吻合,越有可能是目标节点的始发交易。为了从大量交易中筛选出由目标节点始发的交易,本技术设计阈值g
y
作为评判标准,当g
opt
的值大于阈值g
y
时认为此交易是疑似交易,即由溯源系统推测该交易信息可能由目标节点始发的交易。阈值g
y
的取值通过实验获得,即挑选能够准确区分始发交易和非始发交易的值作为阈值。
[0141]
在第二方面,本发明提供了一种基于区块链的数字货币交易网络拓扑数据分析优化系统,该系统用于执行如本发明第一方面任一项的方法。
[0142]
如图4所示,为本发明一实施方式涉及的交易信息传播路径拓扑图。交易信息传播路径拓扑包括探针节点a、交易节点b、交易节点c、交易节点d、交易节点e、交易节点f、交易节点g。探针节点a分别与交易节点a

g建立连接,假设哈希值相同的某一笔交易信息的交易先后经过传播后依次被探针节点a所接收。探针节点依次记录的各个交易发送方的交易信息到达时间如表1所示:
[0143]
交易哈希值交易发送方交易信息到达时间1交易节点b0.5ms1交易节点c1.9ms1交易节点d1.8ms1交易节点f1.7ms1交易节点e2.5ms1交易节点f2.7ms1交易节点f2.6ms1交易节点g2.8ms1交易节点g2.8ms1交易节点d2.9ms
[0144]
表1
[0145]
假设交易信息到达时间介于【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。
[0146]
为了便于说明,假设这些潜在交易节点计算得到的匹配值均满足要求,因而可以认定交易节点b即为初始节点,交易节点c、交易节点d和交易节点f为1阶邻居节点,交易节点e、交易节点f、交易节点g和交易节点d为2阶邻居节点。因此,可以推测出交易节点c、交易节点d和交易节点f分别与交易节点b连接,又由于交易节点f、交易节点g作为2阶邻居节点时分别转发了两次交易信息到探针节点a,说明交易节点f、g都至少与两个1阶邻居节点连接;交易节点d、交易节点e作为2阶邻居节点时分别只转发了1次交易信息到探针节点a,说明交易节点d、e只与一个1阶邻居节点连接。基于此,可以构建出这笔交易信息的传播路径拓扑,具体如图4所示。
[0147]
表1中对应的交易信息的传播路径如下:
[0148]
路径1:交易节点b

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

交易节点c

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

交易节点d

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

交易节点f

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

交易节点c

交易节点e

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

交易节点c

交易节点f

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

交易节点d

交易节点f

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

交易节点f

交易节点g

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

交易节点d

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

交易节点f

交易节点d

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

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

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

相关文献