CN113706305A - 一种基于区块链的数字货币网络交易的初始节点判断方法和系统 - Google Patents
一种基于区块链的数字货币网络交易的初始节点判断方法和系统 Download PDFInfo
- Publication number
- CN113706305A CN113706305A CN202110981345.XA CN202110981345A CN113706305A CN 113706305 A CN113706305 A CN 113706305A CN 202110981345 A CN202110981345 A CN 202110981345A CN 113706305 A CN113706305 A CN 113706305A
- Authority
- CN
- China
- Prior art keywords
- transaction
- node
- initial
- information
- nodes
- 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.)
- Withdrawn
Links
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)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种通过在数字货币交易网络中部署探针节点,并采用探针节点来记录交易网络中各个节点传输的交易信息,并根据探针节点接收到的每笔交易的交易信息到达时间的顺序对不同具有相同交易哈希值的交易信息对应的交易发送方的IP地址进行排序,得到第一排序结果,而后第一排序结果中排名靠前的若干个交易发送方确定为潜在初始节点,为所有潜在初始节点分别计算一个匹配值,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点。通过本申请的方案,可以对数字货币交易网络中各笔交易信息的初始节点进行预测,实现交易信息的溯源。
Description
技术领域
本发明涉及服务器节点监测技术领域,具体为一种基于区块链的数字货币网络交易的初始节点判断方法和系统。
背景技术
近来,随着区块链技术发展迅速,数字货币交易规模逐步攀升,引起国内外广泛关注。以数字货币中的比特币交易为例,其具备区块链去中心化和匿名化特征,使得数字货币交易者的身份难以识别,为不法行为(如非法物品交易、数字货币勒索病毒、洗钱等)提供了隐匿空间。基于区块链数字货币交易具有去中心化特点,相对于传统金融系统,数字货币交易具有较强的反溯源能力。
基于区块链的数字货币交易系统一般具有以下特点:(1)交易者IP地址匿名性,数字货币进行交易时交易者IP是用户参与数字货币交易时使用的账号,该地址由用户自行创建,与用户身份信息无关,创建和使用过程不需要第三方参与。(2)交易节点分散性,数字货币系统支持用户通过不同的交易节点发起交易,因此用户的交易信息将分散在不同交易节点中,很难通过分析交易记录寻找用户的身份特征。(3)网络结构去中心化,数字货币系统采用P2P(对等网络)协议组网,不存在中心节点。
基于数字货币系统具有的以上特点,很难通过监测单一服务器追踪交易信息在数字货币交易网络中的传播路径,传统的交易溯源技术在数字货币系统中无法适用。这就导致现有的溯源技术对于数字货币交易网络中的交易信息的初始节点无法预测,影响了交易信息溯源的准确性。
发明内容
为此,需要提供一种基于区块链的数字货币网络交易的初始节点判断的技术方案,用以解决现有的数字货币溯源技术无法对交易信息的初始节点进行预测问题。
为实现上述目的,在第一方面,本发明提供了一种基于区块链的数字货币网络交易的初始节点判断方法,所述方法包括以下步骤:
S1:在数字货币交易网络中设置至少一个探针节点;所述探针节点被配置为能够与所述数字货币交易网络中所有节点的建立连接;
S2:通过所述探针节点接收所述数字货币交易网络中各节点在进行交易过程中的所有交易信息;所述交易信息包括交易的哈希值,每笔交易对应一个唯一的交易哈希值;
S3:探针节点将搜集到的所有交易信息按照交易哈希值不同进行分类,并根据接收到的各笔交易信息的交易信息到达时间的先后顺序对具有相同交易哈希值的交易信息对应的交易发送方的IP地址进行排序,得到第一排序结果;所述交易信息到达时间是指各交易信息被所述探针节点接收的时间戳信息,所述交易发送方的IP地址信息为将所述交易信息转发给探针节点的发送方的IP地址信息;
S4:将第一排序结果中排名靠前的若干个交易发送方确定为潜在初始节点,为所有潜在初始节点分别计算一个匹配值,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点。
作为一种可选的实施例,为所有潜在初始节点分别计算一个匹配值包括:
根据以下公式来计算各个潜在初始节点对应的匹配值:
其中,s为大于1的常数,Rt表示当前潜在初始节点发送的交易信息到达所述探针节点的时间排序名次;Ri表示除了当前潜在初始节点以外其他潜在初始节点发送的交易信息到达所述探针节点的时间排序名次;t为匹配值能够达到的最大值。
作为一种可选的实施例,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点包括:
筛选出各笔交易信息中计算得到的匹配值大于预设匹配值的潜在初始节点,并将这些匹配值分别作为对应的潜在初始节点为该笔交易的初设初始节点的概率并输出。
作为一种可选的实施例,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点还包括:
对所有筛选出的潜在初始节点对应的匹配值进行优化,分别计算得到一优化匹配值,将所述优化匹配值数值最大的潜在初始节点确定为该笔交易的初设初始节点;
所述优化匹配值根据潜在初始节点对应的匹配值以及潜在初始节点在历史交易数据中作为交易初始节点的次数进行确定。
作为一种可选的实施例,所述优化匹配值根据潜在初始节点对应的匹配值以及潜在初始节点在历史交易数据中作为交易初始节点的次数进行确定包括:
设定第一权重值和第二权重值;
根据潜在初始节点对应的匹配值确定第一参数值,根据潜在初始节点在历史交易数据中作为交易初始节点的次数确定第二参数值;所述第一参数值的大小与所述潜在初始节点对应的匹配值大小成正比,所述第二参数值大小与所述潜在初始节点在历史交易数据中作为交易初始节点的次数大小成正比;
优化匹配值的计算公式如下:
优化匹配值=第一权重值x第一参数值+第二权重值x第二参数值。
作为一种可选的实施例,探针节点被配置为能够与所述数字货币交易网络中所有节点的建立连接包括:
将探针节点与所述数字货币交易网络中的种子节点建立连接,并让探针节点向所述种子节点发起节点信息获取请求;
种子节点将各节点信息发送给探针节点;所述各节点信息包括所述数字货币交易网络中所有节点的IP地址信息;
探针节点接收所述各节点信息,并向所述各节点的IP地址发起连接请求,并与所述各节点建立连接。
作为一种可选的实施例,所述种子节点的数量为多个,各个种子节点分别存储有数字货币交易网络中部分交易节点对应的节点信息;所述方法包括:
探针节点向所有种子节点发起节点信息获取请求,各个种子节点将其各自存储的节点信息发送给探针节点;
探针节点对所有种子节点发送的节点信息进行整理,以得到所述数字货币交易网络中所有交易节点的节点信息。
作为一种可选的实施例,所述探针节点被配置为只接收所述数字货币交易网络中各节点在进行交易过程中的交易信息且不对所述交易信息进行转发。
作为一种可选的实施例,所述方法包括以下步骤:
在所述数字货币交易网络中部署一可控节点,并使得所述可控节点只连接初设初始节点;
通过所述可控节点创建一笔验证交易信息;
通过探针节点收集在所述数字货币交易网络各个节点转发的所述验证交易信息;
探针节点根据所述验证交易信息的交易哈希值筛选出所有交易节点转发的所述验证交易信息,并根据接收到的各个验证交易信息的到达时间顺序对所述各个验证交易信息对应的交易发送方的IP地址信息进行排序,得到第二排序结果;
将第二排序结果中排名靠前的若干个交易发送方确定为验证交易信息的潜在初始节点,为所有验证交易信息对应的潜在初始节点分别计算一个匹配值,根据所有验证交易信息对应的潜在初始节点计算得到的匹配值确定所述验证交易信息对应的初始节点;
若当前计算得到的初始节点与步骤S4中计算得到的初设初始节点一致,则不对初设初始节点进行调整;否则将步骤S4中计算得到的初设初始节点调整为所述验证交易信息对应的初始节点。
在第二方面,本发明还提供了一种基于区块链的数字货币网络交易的初始节点判断系统,所述系统用于执行如本发明第一方面所述的方法。
区别于现有技术,本发明具有以下特点:通过在数字货币交易网络中部署探针节点,并采用探针节点来记录交易网络中各个节点传输的交易信息,并根据探针节点接收到的每笔交易的交易信息到达时间的顺序对不同具有相同交易哈希值的交易信息对应的交易发送方的IP地址进行排序,得到第一排序结果,而后第一排序结果中排名靠前的若干个交易发送方确定为潜在初始节点,为所有潜在初始节点分别计算一个匹配值,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点。通过本申请的方案,可以对数字货币交易网络中各笔交易信息的初始节点进行预测,实现交易信息的溯源。
附图说明
图1为本发明一实施方式所述的初设初始节点判断方法;
图2为本发明一实施方式所述的初设初始节点的验证方法;
图3为本发明一实施方式所述的探针节点连接全网交易节点方法。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
为了便于说明本申请涉及的技术方案,以下先对本申请涉及的技术名词进行解释和定义:
(1)数字货币交易网络:
数字货币交易网络是指基于区块链技术构建的电子货币交易网络,数字货币可以包括比特币、莱特币、以太币等等。通常,数字货币交易网络中包括多个交易节点,每一交易节点可以通过一台服务器或多台服务器集群来实现。
数字货币交易网络中各个交易节点之间通过特定的通讯协议进行通讯,以比特币交易为例,各个交易节点可以通过发起“connect ip-xxxx-port”命令以连入比特币货币交易网络。同时,为了保证交易信息的接收和转发不受其他信息的干扰,各个交易节点的使用者还可以通过设置端口权限的方式来屏蔽其他类数字货币的交易信息,即保证各个交易节点一旦连入某一数字货币交易网络中,则只会接收相应的数字货币交易网络中的交易信息。
(2)探针节点
本申请中的探针节点是指设置了溯源程序、且部署于数字货币交易网络中的交易节点,该溯源程序被执行时用于实现对探针节点的收集和记录的各类数据进行分析处理,以筛选出同一交易哈希值的各笔交易信息对应的初始节点。本申请中的探针节点被配置为能够与数字货币交易网络中的其他所有交易节点的建立连接,从而可以获取数字货币交易网络中的所有交易节点转发的交易信息。
探针节点通过发送特定的协议命令加入某一数字货币交易网络,同时只接收该数字货币交易网络中的交易信息,对于其他信息可以通过设置端口参数的方式自动予以屏蔽,保证交易节点只接收相应的数字货币交易信息,而不会受到其他信息的干扰。
(3)交易信息
一般情况下,在数字货币交易网络中,交易信息包括交易哈希值、交易金额和其他备注信息。交易哈希值为一组随机的字符串,由交易发起节点(即初始节点)在发起交易时随机生成,并随着本次交易的交易内容(如交易金额、其他备注事项)一并转发给邻近的下一交易节点。在交易信息转发过程中,尽管同一笔交易信息会被各个交易节点相互不断转发,但同一笔交易信息的交易哈希值始终不变。这里的同一笔交易是指由某个交易节点在某个时间点发起的某笔交易。
(4)交易信息到达时间
在本申请中,交易信息到达时间表征的是各笔交易信息被探针节点接收的时间信息。优选的,交易信息到达时间可以用差值时间来表示,差值时间是指某笔交易被探针节点接收的时间戳与这笔交易在数字货币交易网络中发起的时间戳之差,即网络延时。当某个交易节点发起某笔交易时,基于数字货币的交易机制,数字货币交易网络中的所有交易节点都会获知这笔交易的发起时间,但无法获知本次交易是由哪个交易节点发起的。本申请通过设置探针节点与所有交易节点建立连接,进而通过分析每笔交易信息到达探针节点的网络延时来推测出本次交易信息的发起节点,即初设初始节点。
(5)交易发送方的IP地址信息
在本申请中,交易发送方的IP地址信息为将交易信息转发给探针节点的发送方的IP地址信息。简单的说,由于数字货币交易网络中的所有交易节点都与探针节点建立连接,即探针节点是所有交易节点的邻居节点,因而探针节点就可以不断收到各个交易节点转发的交易信息,探针节点除了根据交易哈希值对这些交易信息进行分类之外,还会记录各笔交易信息对应的到达时间和发送方的IP地址(即是哪个节点交易IP将该笔交易信息发送给探针节点的)。
(6)初始节点
初始节点是指某笔交易信息的发起节点。潜在初始节点是指经过初步筛选很有可能是初始节点但未确定的交易节点,例如网络延时越短,说明某个交易发送方转发的某笔交易信息越早被探针节点接收到,那么就可以将网络延时小于第一延时的交易节点认定为潜在初始节点,而后再进行进一步判断和筛选,初设初始节点是指经过进一步判断和筛选后确定的所述数字货币交易网络中某笔交易信息的发起节点。
(7)初始节点对应的邻居节点
邻居节点,顾名思义,是指初始节点转发的交易信息的接收方。在数字货币交易网络中,初始节点发起的交易信息会由近及远向外广播,即交易信息先传达到与初始节点直接建立连接的邻居节点,而后再由邻居节点广播至该邻居节点对应的邻居节点。
由于数字货币交易在网络层采用泛洪的方式传输,即在交易网络中的交易信息首先从始发节点(即初始节点)转发给与始发节点相邻的邻居节点,然后邻居节点继续将交易信息转发给自身的邻居节点,以此类推,直到将该笔交易信息传到数字货币交易区块链中的所有节点。以比特币交易网络为例,通常每个服务器节点具有不超过125个邻居节点。在数字货币交易网络中,各个服务器节点(即交易节点)通过和自身对应的邻居节点交互信息(一般为交易信息)来维持与整个数字货币交易网络。
在本申请中,邻居节点包括1阶邻居节点和多阶邻居节点,1阶邻居节点为与初始节点直接相邻的节点,多阶邻居节点为与初始节点间接相邻的节点;多阶邻居节点又包括2阶邻居节点,2阶邻居节点...N阶邻居节点(N≥3)等。1阶邻居节点是指与初始节点直接相邻的邻居节点;2阶邻居节点是指与1阶邻居节点相邻的邻居节点,即通过1阶邻居节点与初始节点建立连接的节点;3阶邻居节点是指与2阶邻居节点相邻的邻居节点,即先通过2阶邻居节点、再通过1阶邻居节点与初始节点建立连接的节点;以此类推。
潜在初始节点是指经过初步筛选很有可能是初始节点对应的邻居节点,例如网络延时越短,说明某个交易发送方转发的某笔交易信息越早被探针节点接收到,那么久就可以将网络延时大于第一延时但小于第二延时(第二延时的数值大于第一延时)的交易节点认定为潜在邻居节点,而后再进行进一步判断和筛选。
(8)可控节点
可控节点是指只连接至初设初始节点的交易节点,即可控节点只有初设初始节点这1个邻居节点,这样可控节点发起的交易信息必然都先通过初设初始节点进行转发。在数字货币交易网络中,可控节点的数量可以根据初设初始节点的数量进行设定,例如可以设定多个可控节点连接至多个不同的初设初始节点,以对多个初设初始节点位置的真实性进行验证。
(9)验证交易信息
验证交易信息是指由可控节点发起的交易信息,其目的是根据这一交易信息的传播路径来验证在初设初始节点是否准确。
(10)种子节点
在数字货币交易区块链中,存在一些节点存储有大量其他交易节点的节点信息,这类节点称为种子节点。种子节点在数字货币交易区块链中的IP地址是已知的,探针节点可以通过向多个种子节点获取全网节点信息(包括全网交易中各个交易节点的IP地址),从而通过向全网的交易节点的IP地址进行广播,以建立与当前数字货币交易网络中的所有交易节点的连接。
请参阅图1,为本发明一实施方式所述的初设初始节点推测方法的流程图。该方法包括以下步骤:
S1:在数字货币交易网络中设置至少一个探针节点;探针节点被配置为能够与数字货币交易网络中所有节点的建立连接;
S2:通过探针节点接收数字货币交易网络中各节点在进行交易过程中的所有交易信息;交易信息包括交易的哈希值,每笔交易对应一个唯一的交易哈希值;
S3:探针节点将搜集到的所有交易信息按照交易哈希值不同进行分类,并根据接收到的各笔交易信息的交易信息到达时间的先后顺序对具有相同交易哈希值的交易信息对应的交易发送方的IP地址进行排序,得到第一排序结果;交易信息到达时间是指各交易信息被探针节点接收的时间戳信息,交易发送方的IP地址信息为将交易信息转发给探针节点的发送方的IP地址信息;
S4:将第一排序结果中排名靠前的若干个交易发送方确定为潜在初始节点,为所有潜在初始节点分别计算一个匹配值,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点。
在本实施例中,探针节点先将搜集到的交易信息按照交易哈希值进行分类。每一笔交易都有其对应的交易哈希值,不同的交易涉及的交易哈希值不同。通过探针节点将搜集到的交易信息按照交易哈希值进行分类,就可以知道同一哈希值的交易信息经过不同传播链路转发到达探针节点的交易信息到达时间,进而根据到达时间的先后顺序推测出本次交易最有可能的传播途径,传播路径可以是初始节点-探针节点,初始节点-邻居节点-探针节点等。
针对交易哈希值相同的同一笔数字货币交易,探针节点将从数字货币交易网络中通过不同路径的交易节点接收到多个版本的交易信息,尽管每个版本的交易信息交易哈希值是相同的,但是由于不同交易节点转发该笔交易信息的时间不同(通常越靠近始发节点的节点转发交易越早),因而同一笔交易中每个版本的交易信息到达探针节点的时间是不同的。因此,探针节点可以对根据接收的相同哈希值的交易信息的到达时间顺序对相应的交易发送方进行排序,从而筛选出各笔交易所有的潜在初始节点,进而为所有潜在初始节点分别计算一个匹配值,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点。
在某些实施例中,为所有潜在初始节点分别计算一个匹配值包括:
根据以下公式来计算各个潜在初始节点对应的匹配值:
其中,s为大于1的常数,Rt表示当前潜在初始节点发送的交易信息到达探针节点的时间排序名次;Ri表示除了当前潜在初始节点以外其他潜在初始节点发送的交易信息到达探针节点的时间排序名次;t为匹配值能够达到的最大值。S的数值优选为1.5。
假设计算匹配值过程中,选取的是第一排序结果中排名前9(在另一些实施例中,可以为其他数值)的交易发送方,可以为每个潜在初始节点构建一个10元组,包括[TXID,Rt,R1,R2,R3,R4,R5,R6,R7,R8],其中TXID代表交易哈希值,R1-R8代表除了当前潜在初始节点以外其他8个潜在初始节点发送的交易信息到达探针节点的时间排序名次。如果当前潜在初始节点转发的交易信息第一个到达探针节点,则Rt赋值为1;如果当前潜在初始节点转发的交易信息第二个到达探针节点,则Rt赋值为2;如果当前潜在初始节点转发的交易信息第三个到达探针节点,则Rt赋值为3;以此类推。计算得到的潜在初始节点对应的匹配值越大,则该潜在初始节点为某笔交易信息对应的初设初始节点的概率就越大。
在本实施方式中,上述公式中分母t被设为理想情况下的得分最大值,这样可以保证计算得到的所有匹配值的计算结果都在0-1之间。t的具体取值可以根据实际需要进行设定,只需保证其大于通常情况下交易网络中两台服务器节点通讯的最大网络延时即可。
在实际运行应用过程时,由于网络干扰条件的影响,单次计算的某个潜在初始节点的匹配值可能出现异常值,为了提高初设初始节点推测的准确率,可以通过多次监测来剔除异常数据的干扰。因而在某些实施例中,方法包括:多次计算某个潜在初始节点的匹配值,并将多次计算得到的匹配值取平均作为某个潜在初始节点最终计算得到的匹配值,计算公式如下:
其中,n为匹配值计算次数,Gi表示第i次计算得到的某个潜在初始节点的匹配值。
多次计算的匹配值Gi通常包括以下两种情况:
1)采用多探针优化方式。即使用x个探针节点同时监测,每个探针都被配置为与所有交易连接,因而根据每个探针节点的第一排序结果各个潜在初始节点都能计算得到一个匹配值,即每个潜在初始节点都能对应计算得到x个匹配值;
2)多次交易优化方式。通常,具有相同交易账户地址的交易很可能是由同一个交易节点始发的,因此可以假设具有相同交易账户地址的y笔交易是由相同服务器节点创建的交易,这样每个潜在初始节点也可以对应得到y个匹配值。
在某些实施例中,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点包括:筛选出各笔交易信息中计算得到的匹配值大于预设匹配值的潜在初始节点,并将这些匹配值分别作为对应的潜在初始节点为该笔交易的初设初始节点的概率并输出。预设匹配值的大小可以根据历史数据中用到的匹配临界值进行界定,优选的,预设匹配值的大小设为某个值后,以匹配值大于该值的交易节点数量小于10个为佳。
在某些实施例中,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点还包括:对所有筛选出的潜在初始节点对应的匹配值进行优化,分别计算得到一优化匹配值,将优化匹配值数值最大的潜在初始节点确定为该笔交易的初设初始节点;优化匹配值根据潜在初始节点对应的匹配值以及潜在初始节点在历史交易数据中作为交易初始节点的次数进行确定。简言之,通过将匹配值计算公式的分母设为某个较大的定值后,可以将每个匹配值的取值范围都限定在0-1之间,而匹配值表征的是某个潜在初始节点为初设初始节点的概率,通过输出各笔交易对应的潜在初始节点的匹配值,可以让技术人员快速获知每笔交易信息最有可能的交易节点(一般而言将匹配值最大的确定为初设交易节点),从而完成数字货币交易网络中交易信息的溯源。
在某些实施例中,优化匹配值根据潜在初始节点对应的匹配值以及潜在初始节点在历史交易数据中作为交易初始节点的次数进行确定包括:设定第一权重值和第二权重值;根据潜在初始节点对应的匹配值确定第一参数值,根据潜在初始节点在历史交易数据中作为交易初始节点的次数确定第二参数值;第一参数值的大小与潜在初始节点对应的匹配值大小成正比,第二参数值大小与潜在初始节点在历史交易数据中作为交易初始节点的次数大小成正比;优化匹配值的计算公式如下:优化匹配值=第一权重值x第一参数值+第二权重值x第二参数值。
优选的,第一权重值和第二权重值的数值之和为1,第一权重值和第二权重值的大小被分配为可调整。为了便于计算,第一权重值和第二权重值可以在部署探针节点前预先进行设定。
受各个节点的主机性能、网络延迟等因素的影响,如果只靠基于交易信息到达时间计算得到的匹配值来判断潜在初始节点是否为初设初始节点,荣誉产生误判,因而本实施例中,还引入潜在初始节点为历史交易过程中作为初始节点的次数进行综合判断,这是因为在数字货币交易网络中,大部分的交易信息都是由大型的节点的服务器发起的,即交易网络中的某个节点在历史交易数据中其作为初始节点的次数越多,那么某笔交易信息也是这个节点发起的概率也就越大。
例如在某笔交易信息对应的初设初始节点的判断过程中,交易节点A在历史交易数据中作为初始节点的次数为10次,交易节点A转发的某笔交易信息到达探针节点的排序为第2名(越快达到,名次越高);交易节点B在历史交易数据中作为初始节点的次数为0次,交易节点A转发的某笔交易信息(哈希值与交易节点A转发的交易信息相同)到达探针节点的排序为第1名(越快达到,名次越高),那么在判断该笔交易的初设初始节点时会将交易节点A、交易节点B都列为潜在初始节点。尽管按照交易信息到达时间进行排序时,交易节点B的排序更高,但交易节点A在历史交易数据中作为初始节点的次数远大于交易节点B,因而根据权重综合计算后得到的交易节点A优化匹配值大于交易节点B对应的优化匹配值,因而可以将交易节点A认定为该笔交易信息对应的初设初始节点。通过引入各个潜在初始节点在历史交易数据中作为交易初始节点的次数大小,对各个潜在初始节点对应的匹配值进行优化,再根据优化匹配值来确定最终的初设初始节点,可以有效提高初设初始节点判断的准确性。
如图2所示,在某些实施例中,探针节点被配置为能够与数字货币交易网络中所有节点的建立连接包括:
首先进入步骤S201将探针节点与数字货币交易网络中的种子节点建立连接,并让探针节点向种子节点发起节点信息获取请求;
而后进入步骤S202种子节点将节点信息发送给探针节点;节点信息包括数字货币交易网络中所有节点的IP地址信息;
而后进入步骤S203探针节点接收节点信息,并向节点信息中包含的IP地址信息对应的所有节点发起连接请求,以与节点信息中包含的IP地址信息对应的所有节点建立连接。
在这一实施例中,探针节点通过发送特定的协议命令加入数字货币交易网络,同时只接收该数字货币交易网络中的交易信息,对于其他信息可以通过设置端口参数的方式自动予以屏蔽,保证交易节点只接收交易信息,而不会受到其他信息的干扰。在另一些实施例中,节点信息还包括节点组织名称、节点所在经纬度坐标、节点所在地区名称中的任一项或多项。
在本实施例中,探针节点首先通过连接数字货币的种子节点(硬编码在数字货币客户端程序中的节点IP地址),然后向种子节点索取所有节点的节点信息。而后通过递归索取的方式,使得探针节点最终能够获得数字货币交易网络中大部分在线节点的信息。
优选的,在本实施方式中,种子节点的数量为多个,各个种子节点分别存储有数字货币交易网络中部分交易节点对应的节点信息;方法包括:探针节点向所有种子节点发起节点信息获取请求,各个种子节点将其各自存储的节点信息发送给探针节点;探针节点对所有种子节点发送的节点信息进行整理,以得到数字货币交易网络中所有交易节点的节点信息。探针节点对所有种子节点发送的节点信息进行整理是指将当收到IP地址相同的多个节点信息时,只向其中一个IP地址发起连接请求,以节省带宽。
在某些实施例中,探针节点被配置为只接收数字货币交易网络中各节点在进行交易过程中的交易信息且不对交易信息进行转发。以数字货币交易网络为比特币交易网络为例,网络中的各服务器节点通过保存邻居节点的IP地址和端口信息来实现连接,相邻节点之间节点相互转发交易信息和区块信息,还会通过Ping等方式监测对方节点的在线状态。而比特币协议中为了降低节点的消耗,规定邻居节点的数量上限是125个,但由于本申请的探针节点在设计时,被配置为只接收数字货币交易网络中各节点在进行交易过程中的交易信息且不对交易信息进行转发,从而有效降低了节点的通信代价,可以使得能够与探针节点建立连接的邻居节点数量显著上升,通过能够覆盖整个数字货币交易网络中的所有服务器节点(即交易节点)。
如图3所示,为了验证图1中步骤S4确定的初设初始节点的准确性,在某些实施例中,方法包括以下步骤:
首先进入步骤S301在数字货币交易网络中部署一可控节点,并使得可控节点只连接初设初始节点;初设初始节点为步骤S4中确定的初设初始节点;
而后进入步骤S302通过可控节点创建一笔验证交易信息;
而后进入步骤S303通过探针节点收集在数字货币交易网络各个节点转发的验证交易信息;
而后进入步骤S304探针节点根据验证交易信息的交易哈希值筛选出所有交易节点转发的验证交易信息,并根据接收到的各个验证交易信息的到达时间顺序对各个验证交易信息对应的交易发送方的IP地址信息进行排序,得到第二排序结果;
而后进入步骤S305将第二排序结果中排名靠前的若干个交易发送方确定为验证交易信息的潜在初始节点,为所有验证交易信息对应的潜在初始节点分别计算一个匹配值,根据所有验证交易信息对应的潜在初始节点计算得到的匹配值确定验证交易信息对应的初始节点;
步骤S305之后可以进入步骤S306若当前计算得到的初始节点与步骤S4中计算得到的初设初始节点一致,则不对初设初始节点进行调整;步骤S305之后也可以进入步骤S307若当前计算得到的初始节点与步骤S4中计算得到的初设初始节点不一致,则将步骤S4中计算得到的初设初始节点调整为验证交易信息对应的初始节点。
由于可控节点只有初设初始节点这1个邻居节点,可控节点创建的验证交易信息必然将由初设初始节点首先转发到数字货币交易网络中的,即探针节点所探测到的最先达到的交易发送方的IP地址应该是初设初始节点的IP地址,最短的交易传播路径为可控节点-初设初始节点-探针节点,利用这种特点,可以针对交易网络中的任意服务器节点多次测试始发交易的传播路径,从而更加准确地推测各笔交易对应的初设初始节点的准确性。
验证交易信息对应的潜在初始节点的匹配值计算方式与步骤S4中匹配值的计算方式相似,此处不再展开。为了便于说明,将某笔交易信息所确定的初设初始节点对应的匹配值称为第一匹配值,将验证交易信息对应的初始节点的匹配值称为第二匹配值,如果计算得到的第二匹配值与第一匹配值基本一致,说明初设初始节点符合实际,无需对初设初始节点进行调整,如果两者差值较大,那么会将初设初始节点替换为验证交易信息对应的初始节点。
在第二方面,本发明提供了一种基于区块链的数字货币网络交易的初始节点判断系统,该系统用于执行如本发明第一方面的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法的全部或部分步骤。计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
Claims (10)
1.一种基于区块链的数字货币网络交易的初始节点判断方法,其特征在于,所述方法包括以下步骤:
S1:在数字货币交易网络中设置至少一个探针节点;所述探针节点被配置为能够与所述数字货币交易网络中所有节点的建立连接;
S2:通过所述探针节点接收所述数字货币交易网络中各节点在进行交易过程中的所有交易信息;所述交易信息包括交易的哈希值,每笔交易对应一个唯一的交易哈希值;
S3:探针节点将搜集到的所有交易信息按照交易哈希值不同进行分类,并根据接收到的各笔交易信息的交易信息到达时间的先后顺序对具有相同交易哈希值的交易信息对应的交易发送方的IP地址进行排序,得到第一排序结果;所述交易信息到达时间是指各交易信息被所述探针节点接收的时间戳信息,所述交易发送方的IP地址信息为将所述交易信息转发给探针节点的发送方的IP地址信息;
S4:将第一排序结果中排名靠前的若干个交易发送方确定为潜在初始节点,为所有潜在初始节点分别计算一个匹配值,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点。
3.如权利要求1所述的基于区块链的数字货币网络交易的初始节点判断方法,其特征在于,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点包括:
筛选出各笔交易信息中计算得到的匹配值大于预设匹配值的潜在初始节点,并将这些匹配值分别作为对应的潜在初始节点为该笔交易的初设初始节点的概率并输出。
4.如权利要求3所述的基于区块链的数字货币网络交易的初始节点判断方法,其特征在于,根据各笔交易中潜在初始节点计算得到的匹配值确定该笔交易信息对应的初设初始节点还包括:
对所有筛选出的潜在初始节点对应的匹配值进行优化,分别计算得到一优化匹配值,将所述优化匹配值数值最大的潜在初始节点确定为该笔交易的初设初始节点;
所述优化匹配值根据潜在初始节点对应的匹配值以及潜在初始节点在历史交易数据中作为交易初始节点的次数进行确定。
5.如权利要求4所述的基于区块链的数字货币网络交易的初始节点判断方法,其特征在于,所述优化匹配值根据潜在初始节点对应的匹配值以及潜在初始节点在历史交易数据中作为交易初始节点的次数进行确定包括:
设定第一权重值和第二权重值;
根据潜在初始节点对应的匹配值确定第一参数值,根据潜在初始节点在历史交易数据中作为交易初始节点的次数确定第二参数值;所述第一参数值的大小与所述潜在初始节点对应的匹配值大小成正比,所述第二参数值大小与所述潜在初始节点在历史交易数据中作为交易初始节点的次数大小成正比;
优化匹配值的计算公式如下:
优化匹配值=第一权重值x第一参数值+第二权重值x第二参数值。
6.如权利要求1所述的基于区块链的数字货币网络交易的初始节点判断方法,其特征在于,探针节点被配置为能够与所述数字货币交易网络中所有节点的建立连接包括:
将探针节点与所述数字货币交易网络中的种子节点建立连接,并让探针节点向所述种子节点发起节点信息获取请求;
种子节点将各节点信息发送给探针节点;所述各节点信息包括所述数字货币交易网络中所有节点的IP地址信息;
探针节点接收所述各节点信息,并向所述各节点的IP地址发起连接请求,并与所述各节点建立连接。
7.如权利要求6所述的基于区块链的数字货币网络交易的初始节点判断方法,其特征在于,所述种子节点的数量为多个,各个种子节点分别存储有数字货币交易网络中部分交易节点对应的节点信息;所述方法包括:
探针节点向所有种子节点发起节点信息获取请求,各个种子节点将其各自存储的节点信息发送给探针节点;
探针节点对所有种子节点发送的节点信息进行整理,以得到所述数字货币交易网络中所有交易节点的节点信息。
8.如权利要求1至7任一项所述的基于区块链的数字货币网络交易的初始节点判断方法,其特征在于,所述探针节点被配置为只接收所述数字货币交易网络中各节点在进行交易过程中的交易信息且不对所述交易信息进行转发。
9.如权利要求1所述的基于区块链的数字货币网络交易的初始节点判断方法,其特征在于,所述方法包括以下步骤:
在所述数字货币交易网络中部署一可控节点,并使得所述可控节点只连接初设初始节点;
通过所述可控节点创建一笔验证交易信息;
通过探针节点收集在所述数字货币交易网络各个节点转发的所述验证交易信息;
探针节点根据所述验证交易信息的交易哈希值筛选出所有交易节点转发的所述验证交易信息,并根据接收到的各个验证交易信息的到达时间顺序对所述各个验证交易信息对应的交易发送方的IP地址信息进行排序,得到第二排序结果;
将第二排序结果中排名靠前的若干个交易发送方确定为验证交易信息的潜在初始节点,为所有验证交易信息对应的潜在初始节点分别计算一个匹配值,根据所有验证交易信息对应的潜在初始节点计算得到的匹配值确定所述验证交易信息对应的初始节点;
若当前计算得到的初始节点与步骤S4中计算得到的初设初始节点一致,则不对初设初始节点进行调整;否则将步骤S4中计算得到的初设初始节点调整为所述验证交易信息对应的初始节点。
10.一种基于区块链的数字货币网络交易的初始节点判断系统,其特征在于,所述系统用于执行如权利要求1至9任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110981345.XA CN113706305A (zh) | 2021-08-25 | 2021-08-25 | 一种基于区块链的数字货币网络交易的初始节点判断方法和系统 |
CN202210743302.2A CN115018646A (zh) | 2021-08-25 | 2022-06-27 | 一种基于虚拟货币公链网络交易始发节点的ip判别方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110981345.XA CN113706305A (zh) | 2021-08-25 | 2021-08-25 | 一种基于区块链的数字货币网络交易的初始节点判断方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113706305A true CN113706305A (zh) | 2021-11-26 |
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 Pending CN115018646A (zh) | 2021-08-25 | 2022-06-27 | 一种基于虚拟货币公链网络交易始发节点的ip判别方法和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210743302.2A Pending CN115018646A (zh) | 2021-08-25 | 2022-06-27 | 一种基于虚拟货币公链网络交易始发节点的ip判别方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113706305A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114841685A (zh) * | 2022-04-12 | 2022-08-02 | 兰州大学 | 一种比特币交易的溯源方法及装置 |
CN116389163A (zh) * | 2023-05-26 | 2023-07-04 | 中科链安(北京)科技有限公司 | 区块链交易始发节点ip追踪方法、风险监测方法及装置 |
-
2021
- 2021-08-25 CN CN202110981345.XA patent/CN113706305A/zh not_active Withdrawn
-
2022
- 2022-06-27 CN CN202210743302.2A patent/CN115018646A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114841685A (zh) * | 2022-04-12 | 2022-08-02 | 兰州大学 | 一种比特币交易的溯源方法及装置 |
CN114841685B (zh) * | 2022-04-12 | 2024-01-05 | 兰州大学 | 一种比特币交易的溯源方法及装置 |
CN116389163A (zh) * | 2023-05-26 | 2023-07-04 | 中科链安(北京)科技有限公司 | 区块链交易始发节点ip追踪方法、风险监测方法及装置 |
CN116389163B (zh) * | 2023-05-26 | 2023-08-01 | 中科链安(北京)科技有限公司 | 区块链交易始发节点ip追踪方法、风险监测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115018646A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rohrer et al. | Discharged payment channels: Quantifying the lightning network's resilience to topology-based attacks | |
CN109302346B (zh) | 一种传输数据流量的方法和装置 | |
CN113706305A (zh) | 一种基于区块链的数字货币网络交易的初始节点判断方法和系统 | |
CN113709236A (zh) | 一种基于区块链的数字货币交易网络中初始节点对应的邻居节点的判断方法和系统 | |
Geddes et al. | How low can you go: Balancing performance with anonymity in Tor | |
CN101505314A (zh) | 一种p2p数据流的识别方法、装置和系统 | |
CN104426881A (zh) | 一种检测恶意行为的方法及装置 | |
CN111064817B (zh) | 一种基于节点排序的城市级ip定位方法 | |
CN110460471B (zh) | 一种超级节点竞选方法、装置及存储介质 | |
CN113706304A (zh) | 一种基于区块链的数字货币交易节点ip的溯源方法和系统 | |
CN113689219A (zh) | 一种基于区块链的数字货币网络的交易节点的真实性验证方法和系统 | |
CN108737421B (zh) | 一种发现网络内潜在威胁的方法、系统、装置及存储介质 | |
CN113689222A (zh) | 一种基于区块链的数字货币交易网络拓扑数据分析优化方法和系统 | |
CN108847999A (zh) | 设备网络连通性检测方法、装置、终端设备及存储介质 | |
CN109218184B (zh) | 基于端口和结构信息的路由器归属as识别方法 | |
CN107852347A (zh) | 网络性能的分析 | |
CN111542052B (zh) | 一种物联网中基于群体信任度的数据转发方法及装置 | |
FR2980939A1 (fr) | Protocole de routage a saut multiples | |
CN113301003B (zh) | 信息、数据链路检测方法、设备及存储介质 | |
CN114666334A (zh) | 一种节点管理方法及系统 | |
CN113068122A (zh) | 定位信息的共享方法、共享装置、电子设备及介质 | |
US8825901B2 (en) | Distributed parallel discovery | |
CN110233684A (zh) | 信噪比评估方法、装置、设备及存储介质 | |
CN116980309A (zh) | 基于任播服务节点的访问质量探测方法和装置 | |
CN114430383B (zh) | 探测节点筛选方法、装置、电子设备和存储介质 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211126 |
|
WW01 | Invention patent application withdrawn after publication |