在网络中传播数据的基于区块链的系统和方法技术方案

技术编号:25999491 阅读:52 留言:0更新日期:2020-10-20 19:10
公开了一种在节点网络中传播数据包的方法。所述方法在所述节点中的一个节点处实现,且包括:生成至少一个第一种类型的数据包;在第一时间段内收集第一种类型的数据包的集合,所述集合包括所述至少一个生成的数据包和从网络中的一个或多个第一节点接收到的至少一个第一种类型的数据包;以及确定集合中的数据包到与节点连接的多个相邻节点的映射,所述映射指示集合中的每个数据包到相邻节点的中继转发预期时间,其中确定所述映射包括确定以下至少一项:第一子映射,其将具有相同中继转发来源的任意两个数据包分配给相邻节点的不同子集;以及第二子映射,其将不同的中继转发预期时间分派给在同一时间间隔内在节点处生成或由节点从一个或多个第一节点接收的任意两个数据包。

【技术实现步骤摘要】
【国外来华专利技术】在网络中传播数据的基于区块链的系统和方法
本专利技术总体上涉及计算机网络,更具体地涉及在节点、电子通信以及联网技术的网络中传播数据的方法和设备。本专利技术特别适合用于与区块链技术相关的环境。具体而言,本专利技术涉及数据的安全传输,并且涉及减少潜在的恶意事件和第三方的攻击,即攻击。
技术介绍
在本文档中,我们使用“区块链”一词来包括所有形式的基于计算机的电子分布式分类账(ledger)。这些分类账包括但不限于区块链和交易链技术、许可和非许可的分类账、共享分类账,及其变型。尽管已经提出并开发出了其他区块链实现方式,但是区块链技术最广为人知的应用还是比特币分类帐。虽然为了方便和说明的目的在本文中可能会提及比特币,但是应当注意,本专利技术不限于与比特币区块链一起使用,且替代的区块链实现方式和协议也落入本专利技术的范围内。本文使用“比特币”一词来包括比特币协议、区块链以及由比特币协议或区块链派生出的实现方式的所有变型。区块链是一种基于共识的电子分类帐,其实现为基于计算机的分散的分布式系统,所述系统由区块组成,而区块又由交易组成。每笔交易是一种数据结构,所述数据结构对区块链系统参与者之间的数字资产的控制权的转移进行编码,并且包括至少一个输入和至少一个输出。每个区块都包含前一个区块的散列,因此区块被链接在一起,以创建自区块链创建以来写入区块链的所有交易的永久性的不可更改的记录。交易包含嵌入到其输入和输出中的小程序,称为脚本,这些程序指定如何以及由谁访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。r>接收到新交易的网络节点将迅速尝试将交易推送到网络中的其他节点。在将新交易发送到其他节点之前,对其进行“确认”,这意味着将根据一组标准对其进行检查,以确保此交易符合根据适用的区块链协议进行适当交易的基本要求。为了将交易写入区块链,由节点(“矿工(miner)”或“开采节点(miningnode)”)将其并入区块,节点被设计为收集交易并使它们在区块中形成。然后,矿工力图完成此节点相关“工作证明(proofofwork)”。整个区块链网络中的矿工争抢成为第一个组装交易区块并完成此区块相关工作证明的矿工。成功的矿工将其已确认的区块添加到区块链中,并且此区块通过网络传播,使得维护区块链副本的其他节点可以更新它们的记录。那些接收到区块的节点也对此区块及其中的所有交易进行“确认”,以确保其符合协议的形式要求。区块链技术(例如,比特币)的公认优势之一是交易的匿名性。比特币用户的个人详细信息并未正式和明确地附加到比特币地址,并且区块链的比特币分类账仅包含公共地址信息。但是,由于区块链被构造为在互联网上运行的分布式点对点(peer-to-peer,也称为“对等”)网络,因此,使用互联网协议(IP)地址信息将用户链接到网络活动的攻击可能会损害交易的匿名性。举例来说,在基于区块链的网络上进行的诸如IP流量分析之类的去匿名化攻击可以使感兴趣的第三方监视网络上用户提交的交易,并且使用可公开获得的信息将交易链接到它们的来源,例如,通过将用户的公钥与他们的IP地址链接在一起。对于依赖于通过网络节点传播交易以及在网络节点之间传播交易的基于区块链的网络而言,流量分析尤其成问题。网络中接收交易的每个节点都会对交易进行确认,然后将其发送到对等节点。例如,在比特币协议中,节点将向对等节点发送包含交易列表的“INV”消息,并且接收“GETDATA(获得数据)”响应消息,选择在“INV”消息中通告的交易的某个子集。然后,此节点将请求的交易发送到对等节点。针对此节点连接到的每个对等节点执行此流程。攻击者可以拦截并分析在网络中传播交易时所发送的数据,并最终获得可用于链接交易源和交易目的地的信息。
技术实现思路
期望提供用于在基于区块链的网络中传播交易的技术,这些技术可以降低通过流量分析或其他类型的去匿名化攻击损害网络匿名性的可能性。更一般而言,期望提供用于在点对点网络的节点之间中继转发数据以降低易受去匿名化攻击的可能性的技术。现在已经设计出这样的解决方案。因此,根据本专利技术,提供了如所附权利要求书中限定的方法和设备。本申请描述了一种在节点网络中传播数据包的节点,其中网络中的每个节点具有到其他节点的一个或多个连接。所述节点可以被布置为:生成至少一个第一种类型的数据包;在第一时间段内收集所述第一种类型的数据包的集合,所述集合包括所述至少一个生成的数据包和从所述网络中的一个或多个第一节点接收到的至少一个所述第一种类型的数据包;以及确定所述集合中的数据包到与所述节点连接的多个相邻节点的映射,所述映射指示所述集合中的每个数据包到相邻节点的中继转发预期时间。确定所述集合中的数据包到所述多个相邻节点的映射可以包括确定以下至少一项:第一子映射,其将具有相同中继转发来源的任意两个数据包分配给所述相邻节点的不同子集;以及第二子映射,其将不同的中继转发预期时间分派给在同一时间间隔内在所述节点处生成或由所述节点从所述一个或多个第一节点接收的任意两个数据包。所述节点还可以被布置为根据所确定的映射将所述集合中的数据包发送到所述多个相邻节点。所述节点可以包括处理器、提供网络连接性的网络接口,以及内存。所述内存可以包括处理器可执行指令,当所述处理器可执行指令由所述处理器执行时,促使所述处理器执行上述操作。本申请描述了一种计算机实现方法。可以将其描述为一种在节点网络中传播数据包的方法,其中所述网络中的每个节点都具有到其他节点的一个或多个连接。所述方法可以在所述节点中的一个节点处实现,且可以包括以下步骤:生成至少一个第一种类型的数据包;在第一时间段内收集所述第一种类型的数据包的集合,所述集合包括所述至少一个生成的数据包和从所述网络中的一个或多个第一节点接收到的至少一个所述第一种类型的数据包;以及确定所述集合中的数据包到与所述节点连接的多个相邻节点的映射,所述映射指示所述集合中的每个数据包到相邻节点的中继转发预期时间。确定所述集合中的数据包到所述多个相邻节点的映射可以包括确定以下至少一项:第一子映射,其将具有相同中继转发来源的任意两个数据包分配给所述相邻节点的不同子集;以及第二子映射,其将不同的中继转发预期时间分派给在同一时间间隔内在所述节点处生成或由所述节点从所述一个或多个第一节点接收的任意两个数据包。所述方法还可以包括根据所确定的映射将所述集合中的数据包发送到所述多个相邻节点。在一些实施方式中,确定所述第一子映射可以包括以下步骤:对于所述至少一个生成的数据包中的每一者:识别所述节点先前生成的预定数量的第一种类型的第一数据包;获得与所述第一数据包相关联的中继节点集合的列表,所述中继节点集合包括所述第一数据包被分别中继转发至的相邻节点;以及基于识别与所获得的列表中的中继节点集合不同的相邻节点集合,选择第一中继节点集合。在一些实施方式中,选择所述第一中继节点集合可以包括任意地选择未包括在所获得的列表中的两个或更多个相邻节点的集合。在一些实施方式中,所选择的第一中继节点集合可以与所述所获得的列表中的中继节点集合至少有两个节点不同。本文档来自技高网...

【技术保护点】
1.一种在节点网络中传播数据包的计算机实现方法,所述网络中的每个节点具有到其他节点的一个或多个连接,所述方法包括:/n生成至少一个第一种类型的数据包;/n在第一时间段内收集所述第一种类型的数据包的集合,所述集合包括所述至少一个生成的数据包和从所述网络中的一个或多个第一节点接收到的至少一个所述第一种类型的数据包;以及/n确定所述集合中的数据包到与节点连接的多个相邻节点的映射,所述映射指示所述集合中的每个数据包到相邻节点的中继转发预期时间,其中确定所述映射包括确定以下至少一项:/n第一子映射,其将具有相同中继转发来源的任意两个数据包分配给所述相邻节点的不同子集;以及/n第二子映射,其将不同的中继转发预期时间分派给在同一时间间隔内在所述节点处生成或由所述节点从所述一个或多个第一节点接收的任意两个数据包,以及/n根据所确定的映射将所述集合中的数据包发送到所述多个相邻节点。/n

【技术特征摘要】
【国外来华专利技术】20180213 GB 1802347.31.一种在节点网络中传播数据包的计算机实现方法,所述网络中的每个节点具有到其他节点的一个或多个连接,所述方法包括:
生成至少一个第一种类型的数据包;
在第一时间段内收集所述第一种类型的数据包的集合,所述集合包括所述至少一个生成的数据包和从所述网络中的一个或多个第一节点接收到的至少一个所述第一种类型的数据包;以及
确定所述集合中的数据包到与节点连接的多个相邻节点的映射,所述映射指示所述集合中的每个数据包到相邻节点的中继转发预期时间,其中确定所述映射包括确定以下至少一项:
第一子映射,其将具有相同中继转发来源的任意两个数据包分配给所述相邻节点的不同子集;以及
第二子映射,其将不同的中继转发预期时间分派给在同一时间间隔内在所述节点处生成或由所述节点从所述一个或多个第一节点接收的任意两个数据包,以及
根据所确定的映射将所述集合中的数据包发送到所述多个相邻节点。


2.根据权利要求1所述的方法,其中确定所述第一子映射包括:
对于所述至少一个生成的数据包中的每一者:
识别所述节点先前生成的预定数量的第一种类型的第一数据包;
获得与所述第一数据包相关联的中继节点集合的列表,所述中继节点集合包括所述第一数据包被分别中继转发至的相邻节点;以及
基于识别与所获得的列表中的中继节点集合不同的相邻节点集合,选择第一中继节点集合。


3.根据权利要求2所述的方法,其中选择所述第一中继节点集合包括任意地选择未包括在所述所获得的列表中的两个或更多个相邻节点的集合。


4.根据权利要求2或3所述的方法,其中所选择的第一集合与所述所获得的列表中的中继节点集合至少有两个节点不同。


5.根据权利要求2至4中任一项所述的方法,其中任意确定入选所述第一集合的相邻节点的数量。


6.根据权利要求2至5中任一项所述的方法,其中根据所述节点的带宽需求来限制入选所述第一集合的相邻节点的数量。


7.根据权利要求1至6中任一...

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

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

1