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

一种区块链可靠对等点的筛选方法和装置与流程

2022-03-16 00:41:34 来源:中国专利 TAG:


1.本技术涉及区块链技术领域,尤其涉及一种区块链可靠对等点的筛选方 法和装置。


背景技术:

2.区块链和基于区块链的分散应用程序近年来受到越来越多的关注。在公 共区块链系统中,用户通常连接到第三方对等点或运行对等点加入p2p区块 链网络。然而,连接到不可靠的区块链对等点会导致资源浪费,影响区块链 同步速度,甚至造成巨大的经济损失。
3.因此,提供一种区块链可靠对等点的筛选方法是本领域技术人员亟需解 决的技术问题。


技术实现要素:

4.本技术提供了一种区块链可靠对等点的筛选方法和装置,用于解决不可 靠的区块链对等点导致的资源浪费,影响区块链同步速度,甚至造成巨大的 经济损失的技术问题。
5.有鉴于此,本技术第一方面提供了一种区块链可靠对等点的筛选方法, 包括:
6.通过区块链请求端对区块链中的对等点进行区块请求测试,生成测试用 例数据;
7.通过数据采集器从所述区块链请求端中获取所述测试用例数据;
8.基于所述测试用例数据获取对等点对应的成功率矩阵;
9.根据所述成功率矩阵,通过可靠性函数计算对等点的可靠性;
10.根据所述可靠性对对等点进行筛选,得到可靠对等点。
11.可选的,当所述成功率矩阵存在若干个缺失项时,所述通过数据采集器 获取区块链请求测试的测试用例数据,之后还包括:
12.基于所述测试用例数据获取对等点对应的因素矩阵,所述因素矩阵包括 正确区块矩阵、最近区块高度矩阵和往返时间矩阵;
13.将所述成功率矩阵和所述因素矩阵进行拟合,得到混合协同预测模型, 所述混合协同预测模型为所述因素矩阵和所述成功率矩阵的映射关系模型;
14.通过对等点之间的相似性计算所述缺失项对应的因素矩阵;
15.将所述缺失项对应的因素矩阵输入到所述混合协同预测模型进行成功率 预测,得到所述缺失项对应的成功率矩阵,生成完整的所述成功率矩阵。
16.可选的,所述通过区块链请求端对区块链中的对等点进行区块请求测试, 获取所述测试用例数据,包括:
17.通过区块链请求端向区块链中的若干个对等点发送区块请求并记录对等 点返回的区块信息,得到测试用例数据,所述测试用例数据至少包括:开始 时间、结束时间、区块高度和区块哈希值。
18.可选的,基于所述测试用例数据获取对等点对应的成功率矩阵,包括:
19.通过所述测试用例数据确定对等点成功返回所述区块信息的数量;
20.计算所述第一数量与所述区块请求的总数量的比值,得到成功率,并基 于所述成功率生成成功率矩阵。
21.可选的,基于所述测试用例数据获取对等点对应的正确区块矩阵,包括:
22.根据所述区块哈希值确定对等点返回的正确区块的请求数量;
23.计算所述对等点返回的正确区块的请求数量与所述区块请求的总数量的 比值,得到所述正确区块的成功率,并基于所述正确区块的成功率生成正确 区块矩阵。
24.可选的,基于所述测试用例数据获取对等点对应的最近区块高度矩阵, 包括:
25.根据所述区块高度确定对等点返回的最近区块高度的请求数量;
26.计算所述对等点返回的最近区块高度的请求数量与所述区块请求的总数 量的比值,得到所述最近区块高度的成功率,并基于所述最近区块高度的成 功率生成最近区块高度矩阵。
27.可选的,基于所述测试用例数据获取对等点对应的往返时间矩阵,包括:
28.根据所述开始时间和所述结束时间确定对等点到所述区块链请求端的所 述区块请求的往返时间;
29.计算所述往返时间与所述区块请求的总数量的比值,得到所述区块请求 的平均时间,并基于所述区块请求的平均时间生成往返时间矩阵。
30.可选的,所述通过对等点之间的相似性计算所述缺失项对应的因素矩阵, 包括:
31.根据所述因素矩阵计算对等点之间的相似度值;
32.根据所述相似度值确定所述缺失项对应的目标对等点的相似对等点;
33.基于所述相似对等点的所述因素矩阵和所述目标对等点与所述相似对等 点之间的所述相似度值计算所述目标对等点的因素矩阵,得到所述缺失项对 应的因素矩阵。
34.可选的,所述基于所述相似对等点的所述因素矩阵和所述目标对等点与 所述相似对等点之间的所述相似度值计算所述目标对等点的因素矩阵,包括:
35.根据所述目标对等点与所述相似对等点之间的所述相似度值计算相似对 等点权重;
36.基于所述相似对等点的所述因素矩阵和所述相似对等点权重计算所述目 标对等点的因素矩阵。
37.本技术第二方面提供了一种区块链可靠对等点的筛选装置,包括:
38.测试单元,用于通过区块链请求端对区块链中的对等点进行区块请求测 试,生成测试用例数据;
39.第一获取单元,用于通过数据采集器从所述区块链请求端中获取所述测 试用例数据;
40.第二获取单元,用于基于所述测试用例数据获取对等点对应的成功率矩 阵;
41.计算单元,用于根据所述成功率矩阵,通过可靠性函数计算对等点的可 靠性;
42.筛选单元,用于根据所述可靠性对对等点进行筛选,得到可靠对等点。
43.从以上技术方案可以看出,本技术具有以下优点:
44.本技术提供了一种区块链可靠对等点的筛选方法,包括:通过区块链请 求端对区
块链中的对等点进行区块请求测试,生成测试用例数据;通过数据 采集器从区块链请求端中获取测试用例数据;基于测试用例数据获取对等点 对应的成功率矩阵;根据成功率矩阵,通过可靠性函数计算对等点的可靠性; 根据可靠性对对等点进行筛选,得到可靠对等点。
45.本技术中,在获取到区块请求测试的测试用例数据后,获取区块链对等 点的成功率矩阵,通过该成功率矩阵来计算对等点的可靠性,进而筛选得到 可靠对等点,从而避免用户连接到不可靠对等点,从而解决了不可靠的区块 链对等点导致的资源浪费,影响区块链同步速度,甚至造成巨大的经济损失 的技术问题。
附图说明
46.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
47.图1为本技术实施例提供的一种区块链可靠对等点的筛选方法的一个流 程示意图;
48.图2为本技术实施例提供的一种测试用例数据的一个示意图;
49.图3为本技术实施例提供的基于测试用例数据预测缺失项的成功率矩阵 的一个示意图;
50.图4为本技术实施例提供的一种区块链可靠对等点的筛选装置的一个结 构示意图。
具体实施方式
51.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实 施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本申 请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其他实施例,都属于本技术保护的范围。
52.术语解释:
53.区块链:根据区块头哈希值前后连接组成的链表形式的数据结构。每个 区块由一段时间内产生的交易组成,由获得记账权的计算机对等点打包,并 被各个计算机对等点独立验证。
54.交易:即区块链上状态转换的最小单位,由发送方签名发起,将特定的 数字资产进行转移、或进行智能合约调用等影响区块链状态的操作。
55.去中心化应用(decentralized application):使用区块链作为底层技术。 大多数dapp用户连接到第三方对等点以获取区块链数据。如果用户连接到 一个不可靠的对等点,dapp将无法工作。
56.本技术实施例发现,对于基于区块链的应用程序用户:对等点的可靠性 决定了交易的正确性和延迟性。选择可靠的对等点将有助于减少延迟并避免 加密货币因重复交易而丢失。例如,最著名的一个名为imtoken的加密货币 钱包被报告给无法与以太坊网络同
步,在那一刻用户错误地认为他们的交易 没有得到确认,发送其他重复的交易,导致经济损失。
[0057][0058][0059]
为了解决上述问题,本技术实施例提供了一种区块链可靠对等点的筛选 方法,以解决不可靠的区块链对等点导致的资源浪费,影响区块链同步速度, 甚至造成巨大的经济损失的技术问题。
[0060]
为了便于理解,请参阅图1,本技术提供的一种区块链可靠对等点的筛选 方法的一个实施例,包括:
[0061]
步骤101、通过区块链请求端对区块链中的对等点进行区块请求测试,生 成测试用例数据。
[0062]
区块链对等点是在p2p网络中维护区块链,区块链请求端是安装有混合 协同预测模型的数据收集程序的对等点,在一段时间内,随机从一些对等点 请求区块链数据。区块链请求端可以被视为区块链系统中的用户端。
[0063]
通过区块链请求端向区块链中的若干个对等点发送区块请求并记录对等 点返回的区块信息,得到测试用例数据,测试用例数据至少包括:开始时间、 结束时间、区块高度和区块哈希值。
[0064]
进一步,本技术实施例中,对区块链中的对等对等点进行随机批量块请 求测试。具体的,设置批大小为n和时间周期为t秒;对于每个周期,各区块 链请求端从区块链中随机选择n个对等点;各区块链请求端向这n个对等点 发送区块请求,以请求最新区块信息,解析并记录对等点返回的区块信息, 生成测试用例数据。区块链请求端可以将测试用例数据上传至数据采集器, 即中心服务器。
[0065]
步骤102、通过数据采集器从区块链请求端中获取测试用例数据。
[0066]
通过数据采集器获取测试用例数据,测试用例数据的数据格式可以为 《clientip,batchtime,peerip,starttime,endtime,height,blockhash》(客户端 ip地址,批处理时间,对等点ip地址,开始时间,结束时间,区块高度,区 块哈希值),如图2所示。
[0067]
步骤103、基于测试用例数据获取对等点对应的成功率矩阵。
[0068]
在获取到测试用例数据后,将其转换为矩阵,通过测试用例数据确定对 等点成功返回区块信息的数量;计算第一数量与区块请求的总数量的比值, 得到成功率,并基于成功率生成成功率矩阵。
[0069]
具体的,首先,将blockstolerance值设置为maxblockback,以表示区块 链中对等点的区块落后的最大容差。然后,将时间容差值设置为maxrtt, 表示对等点的最大往返时间。
[0070]
对于每个区块链请求端ri和对等点pj的,为可靠的区块链请求端设置成 功计数器successrequest
i,j
,以及失败计数器failurerequest
i,j
。根据测试用例数据 向对等点回溯每批块请求,其中,对等点成功响应的条件为:
[0071]
(1)返回正确区块:区块哈希值正好对应于主区块链上的区块高度;
[0072]
(2)返回最近区块高度:从该批次中的最高块高度减去当前区块高度(即 当前测试用例的区块高度,即该对等点测试时候返回的区块高度)不超过 maxblockback。如果
maxblockback设置为0,只有返回批处理中的最高块时, 它才能认为对等点是可靠的;
[0073]
(3)及时返回:请求对等点的往返时间不超过maxrtt。在一个批次中, 如果对等点pj成功回复,即对等点成功返回区块信息,则将其记为 successrequest
i,j
,否则记为failurerequest
i,j

[0074]
在确定对等点成功返回区块信息的数量后,可以计算区块链请求端ri到 对等点pj的成功率,其计算公式为:
[0075][0076]
其中,totalrequest
i,j
=successrequest
i,j
failurerequest
i,j
为区块请求的总数 量,successrate
i,j
为区块链请求端ri到对等点pj的成功率,successrequest
i,j
为对 等点pj成功返回区块信息到区块链请求端ri的数量,failurerequest
i,j
为对等点 pj未成功返回区块信息到区块链请求端ri的数量。
[0077]
通过第一预置公式可以计算得到成功率,得到成功率矩阵,当成功率矩 阵中没有缺失项时,可以直接进入步骤104计算可靠性,当成功率矩阵存在 缺失项时,可以参考图3,灰色区域表示成功率,问号区域表示未知成功率, 需要预测该缺失项的成功率矩阵。基于测试用例数据预测缺失项的成功率矩 阵的过程具体为:
[0078]
s1、基于测试用例数据获取对等点对应的因素矩阵,因素矩阵包括正确 区块矩阵、最近区块高度矩阵和往返时间矩阵。
[0079]
具体的,根据区块哈希值确定对等点返回的正确区块的请求数量;计算 对等点返回的正确区块的请求数量与区块请求的总数量的比值,得到正确区 块的成功率,并基于正确区块的成功率生成正确区块矩阵。正确区块的成功 率的计算公式为:
[0080][0081]
其中,rightblock
i,j
为对等点pj返回到区块链请求端ri的正确区块的成功 率,rightblockrequest
i,j
为对等点pj返回到区块链请求端ri的正确区块的请求 数量。
[0082]
根据区块高度确定对等点返回的最近区块高度的请求数量;计算对等点 返回的最近区块高度的请求数量与区块请求的总数量的比值,得到最近区块 高度的成功率,并基于最近区块高度的成功率生成最近区块高度矩阵。最近 区块高度的成功率的计算公式为:
[0083][0084]
其中,recentheight
i,j
为对等点pj返回到区块链请求端ri的最近区块高度 的成功率,recentheightrequest
i,j
为对等点pj返回到区块链请求端ri的最近区 块高度的请求数量。
[0085]
根据开始时间和结束时间确定对等点到区块链请求端的区块请求的往返 时间;计算往返时间与区块请求的总数量的比值,得到区块请求的平均时间, 并基于区块请求的平均时间生成往返时间矩阵。区块请求的平均时间的计算 公式为:
[0086][0087]
其中,roundtriptime
i,j
为对等点pj到区块链请求端ri的区块请求的平均 时间,rtt
i,j,k
为第k个批次中从对等点pj到区块链请求端ri的区块请求的往 返时间。
[0088]
s2、将成功率矩阵和因素矩阵进行拟合,得到混合协同预测模型,混合 协同预测模型为因素矩阵和成功率矩阵的映射关系模型。
[0089]
假设成功率跟三因素(正确区块、最近高度和往返时间)之间存在映射 关系:
[0090]
successrate
i,j
=f(rightblock
i,j
,recentheight
i,j
,roundtriptime
i,j
);
[0091]
这个映射关系可以通过上述的因素矩阵和成功率矩阵转换为矩阵映射关 系。本技术实施例通过建立一个回归模型来拟合这个映射关系,根据图3中 灰色区域和箭头所示,已知的成功率(灰色区域)和已知的三因素矩阵(灰 色区域)用来训练这个回归模型,在训练过程中,通过混合数据来训练回归 模型,得到混合协同预测模型。混合协同预测模型为因素矩阵和成功率矩阵 的映射关系模型。
[0092]
s3、通过对等点之间的相似性计算缺失项对应的因素矩阵。
[0093]
首先,根据因素矩阵计算对等点之间的相似度值。前述生成的因素矩阵 (正确区块矩阵,最近高度矩阵,往返时间矩阵)将被用于三个协同过滤模 型进行未知项的因素矩阵预测,为预测对应的矩阵空白的缺失值,如图3所 示,这一步的目的就是预测因素。假设与三个事件(正确区块,最近高度, 及时性)相关的矩阵是独立的,因此每个矩阵可以通过下面方法独立预测。
[0094]
对等点pi和对等点pj之间的相似度值sim(i,j)计算公式为:
[0095][0096]
其中,m为因素矩阵,m
i,j
为区块链请求端i与对等点j之间的正确区块 的成功率、最近区块高度的成功率或区块请求的平均时间,ri∩rj为一组连接 到两个区块链对等点i,j的区块链请求端,为因素矩阵中向量i的平均值, 即对等点pi返回的某一类值(正确区块的成功率、最近区块高度的成功率或 区块请求的平均时间)的平均值。
[0097]
其次,根据相似度值确定缺失项对应的目标对等点的相似对等点。在计 算出对等点间的相似度值后,通过设置参数k来选择前k个对等点作为与某个 特定对等点的相似对等点,可以识别出一组相似的对等点。
[0098]
为了预测因素矩阵中的缺失项m
r,i
,一套相似对等点simpeer(i)和区块链 对等点pi可以定义为:
[0099]
simpeer(i)={k|sim(i,k)≥simk,sim(i,k)>0,k≠i};
[0100]
其中,simk为对等点pi的第k大的相似度值。
[0101]
就上述方法可以筛选得到缺失项对应的目标对等点的k个相似对等点。
[0102]
最后,基于相似对等点的因素矩阵和目标对等点与相似对等点之间的相 似度值计算目标对等点的因素矩阵,得到缺失项对应的因素矩阵,从而得到 完整的因素矩阵。具
体的,根据目标对等点与相似对等点之间的相似度值计 算相似对等点权重;基于相似对等点的因素矩阵和相似对等点权重计算目标 对等点的因素矩阵。目标对等点的因素矩阵的计算公式为:
[0103][0104]
其中,分别为目标对等点pi和相似对等点pk的平均值,其由不 同的区块链请求端所观测的,wk为相似对等点pk的相似对等点权重,其计算 公式为:
[0105][0106]
通过上述方法对因素矩阵进行协同滤波预测,得到缺失项对应的因素矩 阵。
[0107]
s4、将缺失项对应的因素矩阵输入到混合协同预测模型进行成功率预测, 得到缺失项对应的成功率矩阵,生成完整的成功率矩阵。
[0108]
将缺失项对应的因素矩阵输入到混合协同预测模型进行成功率预测,请 参考图3,缺失项对应的因素矩阵(predicted factors)输入到混合协同预测模 型中,输出缺失项对应的成功率矩阵,进而生成完整的成功率矩阵。通过上 述步骤可以得到区块链请求端ri到对等点pj的成功率的预测值。
[0109]
步骤104、根据成功率矩阵,通过可靠性函数计算对等点的可靠性。
[0110]
在本技术实施例中,可靠性函数为:
[0111]
reliability
i,j
(t)=e-γ
·
t

[0112]
其中,reliability
i,j
(t)为区块链请求端ri观测到对等点pj的可靠性, γ=1-successrate
i,j
为在时间段t内的请求失败率。
[0113]
本技术实施例,通过混合协同预测模型预测未知项的成功率矩阵,通过 使用相似区块链请求端与对等点之间的关系来做混合线性回归的协同预测; 并且,由于网络环境不同等因素,传统方法只保证对等点的拥有者知道可靠 性,从而不能服务于其他用户,但对于不同用户而言,同一对等点观察的可 靠性可能不同,而在本技术实施例中,对于不同用户而言,得到个性化的可 靠性结果与其他方法相比,具有更高的准确性和普及性。
[0114]
步骤105、根据可靠性对对等点进行筛选,得到可靠对等点。
[0115]
根据可靠性对对等点进行筛选,得到可靠对等点,可以设置一个可靠性 阈值,将大于可靠性阈值的对等点筛选为可靠点,小于或等于可靠性阈值的 对等点筛选为不可靠对等点。
[0116]
本技术实施例中,在获取到区块请求测试的测试用例数据后,获取区块 链对等点的成功率矩阵,通过该成功率矩阵来计算对等点的可靠性,进而筛 选得到可靠对等点,从而避免用户连接到不可靠对等点,从而解决了不可靠 的区块链对等点导致的资源浪费,影响区块链同步速度,甚至造成巨大的经 济损失的技术问题。
[0117]
进一步,由于网络环境不同等因素,传统方法只保证对等点的拥有者知 道可靠性,从而不能服务于其他用户,但对于不同用户而言,同一对等点观 察的可靠性可能不同,而在本技术实施例中,对于不同用户而言,得到个性 化的可靠性结果与其他方法相比,具有更高的准确性和普及性。
[0118]
以上为本技术提供的一种区块链可靠对等点的筛选方法的一个实施例, 以下为本技术提供的一种区块链可靠对等点的筛选装置的一个实施例。
[0119]
请参考图4,本技术实施例提供的一种区块链可靠对等点的筛选装置,包 括:
[0120]
测试单元201,用于通过区块链请求端对区块链中的对等点进行区块请求 测试,生成测试用例数据;
[0121]
第一获取单元202,用于通过数据采集器从区块链请求端中获取测试用例 数据;
[0122]
第二获取单元203,用于基于测试用例数据获取对等点对应的成功率矩 阵;
[0123]
计算单元204,用于根据成功率矩阵,通过可靠性函数计算对等点的可靠 性;
[0124]
筛选单元205,用于根据可靠性对对等点进行筛选,得到可靠对等点。
[0125]
作为进一步地改进,当成功率矩阵存在若干个缺失项时,装置还包括: 成功率预测单元,用于基于测试用例数据预测缺失项的成功率矩阵;
[0126]
成功率预测单元具体包括:
[0127]
获取子单元,用于基于测试用例数据获取对等点对应的因素矩阵,因素 矩阵包括正确区块矩阵、最近区块高度矩阵和往返时间矩阵;
[0128]
拟合子单元,用于将成功率矩阵和因素矩阵进行拟合,得到混合协同预 测模型,混合协同预测模型为因素矩阵和成功率矩阵的映射关系模型;
[0129]
计算子单元,用于通过对等点之间的相似性计算缺失项对应的因素矩阵;
[0130]
预测子单元,用于将缺失项对应的因素矩阵输入到混合协同预测模型进 行成功率预测,得到缺失项对应的成功率矩阵,生成完整的成功率矩阵。
[0131]
本技术实施例中,在获取到区块请求测试的测试用例数据后,获取区块 链对等点的成功率矩阵,通过该成功率矩阵来计算对等点的可靠性,进而筛 选得到可靠对等点,从而避免用户连接到不可靠对等点,从而解决了不可靠 的区块链对等点导致的资源浪费,影响区块链同步速度,甚至造成巨大的经 济损失的技术问题。
[0132]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程, 在此不再赘述。
[0133]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法, 可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的, 例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外 的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或 一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或 直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连 接,可以是电性,机械或其它的形式。
[0134]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
[0135]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单 元的形式实现。
[0136]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用
时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本 申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个 存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步 骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:random accessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0137]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制; 尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应 当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其 中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案 的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献