用于在节点的网络中传播数据分组的系统和方法技术方案

技术编号:26977572 阅读:59 留言:0更新日期:2021-01-06 00:16
公开了一种在节点的网络中传播数据分组的方法。该方法包括:在第一时间段期间收集第一数据分组的集合,该集合包括从网络中的一个或多个第一节点接收的至少一个第一数据分组;确定网络节点到连接至该网络节点的多个邻居节点的链路中的可用带宽;确定映射,该映射将用于中继的第一数据分组中的每一个分配给一个或多个邻居节点;该映射指示第一数据分组中的每一个的中继的预期时间,其中,确定映射包括:将可用带宽用作为第一数据分组中的每一个设置以下各项中的至少一个的基础:对等节点的第一数量,通过映射将第一数据分组分配至所述第一数量的对等节点以用于中继;将第一数据分组中继到一个或多个对等节点时的时间延迟的第一时长;以及第一数据分组自网络节点起行进的跳数;以及根据确定的映射将集合的第一数据分组传输到多个邻居节点。

【技术实现步骤摘要】
【国外来华专利技术】用于在节点的网络中传播数据分组的系统和方法
本专利技术大体上涉及计算机网络,并且更具体地涉及在节点、电子通信和联网技术的网络中传播数据的方法和装置。它特别适合与区块链技术相关地使用。特别地,它涉及数据的安全传输,并且用于减少第三方进行的潜在的恶意事件(即攻击)。
技术介绍
在本文档中,我们使用术语“区块链”来包括电子的基于计算机的分布式分类账(ledger)的所有形式。这些包括基于共识的区块链和交易链技术、许可的和未被许可的分类账、共享分类账及其变型。尽管已经提出并开发了其他区块链实现方式,但是区块链技术最广为人知的应用是比特币分类帐。尽管为了方便和说明的目的在本文中可能提及比特币,但是应当注意,本专利技术不限于与比特币区块链一起使用,并且替代的区块链实现和协议落入本专利技术的范围内。术语“用户”在本文中可以指人或者基于处理器的资源。术语“比特币”旨在包括源自(原始)比特币协议/实现/平台的协议/实现/平台的所有版本和变型。区块链是一种点对点的电子分类帐,被实现为基于计算机的去中心化的分布式系统,该系统由区块组成,而区块又由交易组成。每个交易是一种数据结构,该数据结构对区块链系统中参与者之间的数字资产控制权的转移进行编码,并包括至少一个输入和至少一个输出。每个区块都包含前一个区块的哈希值,以使得区块被链接在一起来创建所有交易的永久、不可更改的记录,这些交易自其开始就已经被写入区块链。交易包含嵌入到其输入和输出中的称为脚本的小程序,这些小程序指定如何以及由谁可以访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。为了将交易写入区块链,必须对其进行“验证”。网络节点(矿工)执行工作以确保每笔交易有效,而无效交易则被网络拒绝。安装在节点上的软件客户端通过执行其锁定和解锁脚本来对未花费的交易输出(unspenttransaction,UTXO)执行该验证工作。如果锁定和解锁脚本的执行评估为真,则该交易有效,并将该交易写入区块链。因此,为了将交易写入区块链,必须:i)由接收交易的第一节点验证该交易–如果交易经过验证,则该节点将其中继(relay)到网络中的其他节点;ii)将该交易添加到由矿工建造的新区块中;以及iii)该交易被挖掘,即,被添加到过去交易的公共分类帐中。尽管区块链技术因使用加密货币实现方式而被广泛了解,但数字企业家已经开始探索使用比特币所基于的加密安全系统以及可以存储在区块链上的数据这两者以实现新系统。如果区块链可以被用于不限于加密货币领域的自动化任务和过程,那这将是非常有利的。这样的方案将能够利用区块链的好处(例如,事件的永久性、防篡改记录、分布式处理等),同时在其应用中具有更多用途。区块链技术(例如,比特币)的公认优势之一是交易的匿名性。比特币用户的个人详细信息并未正式和明确地附加到比特币地址,并且区块链的比特币分类账仅包含公共地址信息。但是,由于区块链被构造为运行在互联网之上的分布式对等网络,因此交易的匿名性可能因攻击而受到损害,该攻击使用互联网协议(IP)地址信息将用户链接到网络活动。举例来说,在基于区块链的网络上进行的去匿名化攻击(例如,IP流量分析)可能使感兴趣的第三方能够监测由用户在网络上提交的交易,并能够使用可公开获取的信息将交易链接到其来源(source),例如,通过将用户的公钥与其IP地址链接起来。对于基于区块链的网络而言,流量分析尤其成问题,该基于区块链的网络依赖于网络节点进行的交易的传播以及网络节点之间的交易的传播。网络中接收交易的每个节点都会验证交易,然后将其传输到对等节点。在比特币协议中,节点将向对等节点发送包含交易列表的“INV”消息,并接收“GETDATA”响应消息,该消息选择在“INV”消息中通告的交易的某个子集。然后,该节点将请求的交易发送到对等节点。针对该节点连接到的每个对等节点执行该过程。攻击者可能拦截和分析当在网络中传播交易时传输的数据,并最终获得信息,这些信息可用于链接交易的来源和目的地(destination)。
技术实现思路
期望提供用于在基于区块链的网络中传播交易的技术,该技术可以通过流量分析或其他类型的去匿名攻击来减少损害网络匿名性的可能性。更一般地,期望提供用于在对等网络的节点之间中继数据的技术以降低去匿名攻击的脆弱性。现在已经设计出这样的方案。因此,根据本专利技术,提供了如所附权利要求书中限定的方法和装置。本专利技术可以提供一种在节点的网络中传播数据分组的计算机实现的方法。该方法可以包括:在第一时间段期间在第一网络节点处收集第一数据分组的集合,该集合包括从网络中的一个或多个第一节点接收的至少一个第一数据分组;确定网络节点到与该网络节点连接的多个邻居节点的链路中的可用带宽;确定映射,该映射将用于中继的第一数据分组中的每一个分配给一个或多个邻居节点(neighbouringnodes);该映射指示第一数据分组中的每一个的中继的预期时间。映射的确定可以包括:将可用带宽用作为第一数据分组中的每一个设置以下中的至少一个的基础:对等节点的第一数量,通过映射将第一数据分组分配所述第一数量的对等节点以用于中继;将第一数据分组中继到一个或多个对等节点时的时间延迟的第一时长;以及第一数据分组自网络节点起行进的跳数。该方法还可以包括:根据确定的映射将所述集合的第一数据分组发送到多个邻居节点。在一些实现方式中,确定可用带宽可以包括:获得在到多个邻居节点的网络节点的链路中的至少一个的每一个中的可用带宽的指示符。在一些实现方式中,确定映射可以包括:基于可用带宽,确定通过映射将第一数据分组分配给其以进行中继的对等节点的数量的可能值的范围;以及在所确定的范围内选择数字来设置为对等节点的第一数量。在一些实现方式中,该方法还可以包括:对于从第一数据分组的集合中选择的至少一个第一数据分组,识别:至少一个第一数据分组被分配给其以进行中继的对等节点的第一集合;以及第一集合的第二子集,该第二子集仅包括被指定为在从网络节点接收到至少一个第一数据分组时将至少一个第一数据分组中继到它们自己的邻居节点的那些对等节点。在一些实现方式中,根据所确定的映射,将集合的第一数据分组发送到多个邻居节点可以包括:对于至少一个第一数据分组:将至少一个第一数据分组发送到第二子集中包括的对等节点;以及将经修改的数据分组发送给没有包括在第二子集中的第一集合的对等节点,该经修改的数据分组包括被修改以指示禁止至少一个第一数据分组到对等节点的另外的中继的至少一个第一数据分组。在一些实现方式中,该方法还可以包括:在至少一个第一数据分组中设置附加位,以指示禁止至少一个第一数据分组到对等节点的另外的中继。在一些实现方式中,至少一个第一数据分组可以是从第一数据分组的集合中任意选择的。在一些实现方式中,至少一个第一数据分组可以基于确定至少一个第一数据分组先前已经被网络节点发送到一个或多个对等节点来选择。在一些实现方式中,根据所确定的映射,将集合的第一数据分组发送到多个邻居节点可以包括:对于集合的一个或多个第一数据分组中的每一个:确定第一数据本文档来自技高网
...

【技术保护点】
1.一种在节点的网络中传播数据分组的计算机实现的方法,所述方法包括:/n在第一时间段期间在网络节点处收集第一数据分组的集合,所述集合包括从网络中的一个或多个第一节点接收的至少一个第一数据分组;/n确定所述网络节点到与所述网络节点连接的多个邻居节点的链路中的可用带宽;/n确定映射,所述映射将用于中继的第一数据分组中的每一个分配给一个或多个邻居节点;所述映射指示第一数据分组中的每一个的中继的预期时间,其中,确定所述映射包括:将可用带宽用作为第一数据分组中的每一个设置以下各项中的至少一个的基础:/n对等节点的第一数量,通过映射将第一数据分组分配至所述第一数量的对等节点以用于中继;/n将第一数据分组中继到一个或多个对等节点时的时间延迟的第一时长;以及/n第一数据分组自网络节点起行进的跳数,以及/n根据确定的映射将所述集合的第一数据分组传输到多个邻居节点。/n

【技术特征摘要】
【国外来华专利技术】20180523 GB 1808493.91.一种在节点的网络中传播数据分组的计算机实现的方法,所述方法包括:
在第一时间段期间在网络节点处收集第一数据分组的集合,所述集合包括从网络中的一个或多个第一节点接收的至少一个第一数据分组;
确定所述网络节点到与所述网络节点连接的多个邻居节点的链路中的可用带宽;
确定映射,所述映射将用于中继的第一数据分组中的每一个分配给一个或多个邻居节点;所述映射指示第一数据分组中的每一个的中继的预期时间,其中,确定所述映射包括:将可用带宽用作为第一数据分组中的每一个设置以下各项中的至少一个的基础:
对等节点的第一数量,通过映射将第一数据分组分配至所述第一数量的对等节点以用于中继;
将第一数据分组中继到一个或多个对等节点时的时间延迟的第一时长;以及
第一数据分组自网络节点起行进的跳数,以及
根据确定的映射将所述集合的第一数据分组传输到多个邻居节点。


2.根据权利要求1所述的方法,其中,确定所述可用带宽包括:获得在到所述多个邻居节点的网络节点的链路中至少一个的每一个中的可用带宽的指示符。


3.根据权利要求1或2所述的方法,其中,确定所述映射包括:
基于所述可用带宽,确定通过所述映射将第一数据分组分配至的对等节点的数量的可能值的范围,将第一数据分组分配至所述数量的对等节点以用于中继;以及
选择所确定的范围内的数字来设置为对等节点的第一数量。


4.根据前述权利要求中的任一项所述的方法,还包括:对于从第一数据分组的集合中选择的至少一个第一数据分组,识别:
对等节点的第一集合,所述至少一个第一数据分组被分配至对等节点的所述第一集合以用于中继;以及
第一集合的第二子集,所述第二子集仅包括被指定为在从网络节点接收到所述至少一个第一数据分组时将所述至少一个第一数据分组中继到它们自己的邻居节点的那些对等节点。


5.根据权利要求4所述的方法,其中,根据所确定的映射,将所述集合的第一数据分组传输到所述多个邻居节点包括:
对于所述至少一个第一数据分组:
将所述至少一个第一数据分组传输到包括在所述第二子集中的对等节点;以及
将经修改的数据分组传输到没有包括在所述第二子集中的第一集合的对等节点,所述经修改的数据分组包括被修改以指示禁止所述至少一个第一数据分组到对等节点的另外的中继的至少一个第一数据分组。


6.根据权利要求5所述的方...

【专利技术属性】
技术研发人员:西尔维娅·巴托鲁奇S·马蒂奥
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:安提瓜和巴布达;AG

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1