CN111406396A - 用于诸如区块链网络等网络中的数据传播和通信的计算机实现的***和方法 - Google Patents

用于诸如区块链网络等网络中的数据传播和通信的计算机实现的***和方法 Download PDF

Info

Publication number
CN111406396A
CN111406396A CN201880076559.9A CN201880076559A CN111406396A CN 111406396 A CN111406396 A CN 111406396A CN 201880076559 A CN201880076559 A CN 201880076559A CN 111406396 A CN111406396 A CN 111406396A
Authority
CN
China
Prior art keywords
node
nodes
network
data packet
data
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.)
Granted
Application number
CN201880076559.9A
Other languages
English (en)
Other versions
CN111406396B (zh
Inventor
西尔维娅·巴托鲁奇
丹尼尔·约瑟夫
西蒙·马蒂奥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of CN111406396A publication Critical patent/CN111406396A/zh
Application granted granted Critical
Publication of CN111406396B publication Critical patent/CN111406396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

公开了一种在节点网络中传播数据包的方法。该方法在其中一个节点处实现,包括:生成至少一个第一类型的数据包;在第一时间段内收集第一类型的数据包集合,该集合包括至少一个生成的数据包和从网络中的一个或多个第一节点处接收的至少一个第一类型的数据包;对于该集合中的每个数据包:任意选择与上述节点之一连接的两个以上的相邻节点;并将数据包传输给两个以上的所选择的相邻节点中的每一个,其中,该两个以上的所选择的相邻节点用于通过使用为相邻节点任意选择的数据传播模式,将数据包中继到网络中的一个或多个第二节点。本发明尤其适合在诸如比特币区块链的区块链网络中实现。

Description

用于诸如区块链网络等网络中的数据传播和通信的计算机实 现的***和方法
技术领域
本发明总的来说涉及计算机网络,尤其涉及在节点网络中传播数据的方法和设备。本发明适于,但不限于,与区块链网络结合使用。
背景技术
在本文中,使用“区块链”这一术语来包含所有形式的基于计算机的电子分布式账本。这些包括但不限于基于共识的区块链和交易链技术、经过许可和未经许可的账本、共享账本及其变形。尽管已经提出和开发了其它区块链实现方式,但是区块链技术最广为人知的应用是比特币账本。虽然为了方便和说明的目的,在本文中提到比特币,应当注意的是,本发明不限于与比特币区块链一起使用,替代的区块链实现方式和协议也落入本发明的范围内。
区块链是基于共识的电子账本,其实现为基于计算机的、去中心化的、分布式***,该***由区块组成,而区块又由交易组成。每笔交易都是对区块链***中参与者之间的数字资产的控制的转移进行编码的数据结构,并且包括至少一个输入和至少一个输出。每个区块包括前一个区块的散列,因此这些区块被链接在一起,以创建自区块链创建以来被写入区块链的所有交易的永久性不可变记录。交易包括嵌入到其输入和输出中的被称为脚本的小程序,这些小程序规定如何以及由谁可以访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
接收到新交易的网络节点将迅速尝试将该交易推送到网络中的其他节点。在将新交易传输到其他节点之前,会对其进行“验证(validated)”,也就是说,根据一组标准对其进行检查,以确保该交易符合根据适用的区块链协议进行适当交易的基本要求。
为了将交易写入区块链,节点(“矿工”或“挖矿节点”)将该交易合并到一个区块中,该节点用于收集交易并将这些交易形成区块。然后,矿工尝试针对该节点完成“工作量证明”。整个区块链网络中的矿工竞相成为第一个组装交易区块并完成该区块相关工作量证明的矿工。成功的矿工将其已确认的区块添加到区块链中,并且该区块通过网络传播,以便那些维护区块链副本的其他节点可以更新记录。那些接收区块的节点还“验证”该区块以及该区块中的所有交易,以确保该区块符合协议的形式要求。
区块链技术(例如比特币)的公认优势之一是交易的匿名性。比特币用户的个人详细信息并未正式和明确地附加到比特币地址上,并且区块链的比特币账本仅包含公共地址信息。但是,由于区块链被构造为在互联网上运行的分布式点对点(peer-to-peer)网络,因此使用IP(Internet Protocol)地址信息将用户与网络活动关联起来的攻击可能会损害交易的匿名性。举例来说,在基于区块链的网络上进行的去匿名化攻击(例如IP流量分析)可以使感兴趣的第三方监视网络上用户提交的交易,并使用可公开获取的信息将交易连接到交易来源,例如,通过将用户的公共密钥与其IP地址关联起来。
流量分析对于基于区块链的网络而言尤其的困难,这种网络依赖于网络节点之间的交易的传播。网络中接收交易的每个节点都会验证该交易,然后将该交易发送到对等节点。在比特币协议中,节点将向对等节点发送包含交易列表的“INV”消息,并接收“GETDATA”响应消息,该响应消息选择在“INV”消息中公布的交易的某个子集。然后,该节点将请求的交易发送到对等节点。针对该节点连接到的每个对等节点执行该过程。攻击者可以拦截和分析在网络中传播交易时传输的数据,并最终获得可用于链接交易源和交易终点的信息。
发明内容
期望提供用于在基于区块链的网络中传播交易的技术,该技术可以通过流量分析或其他类型的去匿名化攻击,来减少损害网络匿名性的可能性。更一般的来讲,期望提供用于在点对点网络的节点之间中继数据的技术,从而降低受到匿名化攻击的易损性。
现在已经发明了这样一种解决方案。
因此,根据本发明,提供了如所附权利要求书中所定义的方法和设备。
本申请描述了一种在节点网络中传播数据包的节点。网络中的每个节点都可以具有一个或多个到其他节点的连接。该节点包括处理器、提供网络连接性的网络接口、以及存储器。存储器可以包括处理器可执行指令,当该处理器可执行指令在由处理器执行时,使得处理器:生成至少一个第一类型的数据包;在第一时间段内收集第一类型的数据包集合,该集合优选包括至少一个生成的数据包和从网络中的一个或多个第一节点处接收的至少一个第一类型的数据包;对于该集合中的每个数据包:任意选择与该节点连接的两个以上的相邻节点;并将数据包传输给选择的两个以上的相邻节点中的每一个,其中,该选择的两个以上的相邻节点可用于通过使用为相邻节点随机选择的数据传播模式,将数据包中继到网络中的一个或多个第二节点。
在一些实现中,第一时间段具有预定长度。
在一些实现中,指令在被执行时,使得处理器在确定触发条件已满足时执行传输。
在一些实现中,该触发条件包括预定持续时间的期满,该预定持续时间自节点生成第一类型的至少一个数据包时起始。
在一些实现中,该触发条件包括预定持续时间的期满,该预定持续时间自从一个或多个第一节点处接收到至少一个第一类型的数据包中的第一个时起始。
在一些实现中,在第一模式和第二模式之间任意选择用于相邻节点的数据传播的模式,其中在第一模式下,数据包被中继到与该相邻节点连接的节点的任意选定子集。在第二模式下,数据包被中继到与相邻节点连接的所有节点。
在一些实现中,指令在被执行时,防止处理器在第一时间段内传输任何第一类型的数据包。
本申请可以描述为提供一种在节点网络中传播数据包的计算机实现的方法。网络中的每个节点都可以具有与其他节点的一个或多个连接。该方法可以在这些节点之一处执行,可以包括:生成至少一个第一类型的数据包;在第一时间段内收集第一类型的数据包集合,该集合优选包括至少一个生成的数据包和从网络中的一个或多个第一节点处接收的至少一个第一类型的数据包;对于该集合中的每个数据包:任意选择与上述节点之一连接的两个以上的相邻节点;并将数据包传输给选择的两个以上的相邻节点中的每一个,其中,该选择的两个以上的相邻节点用于通过使用为相邻节点随机选择的数据传播模式,将数据包中继到网络中的一个或多个第二节点。
本申请还可以进一步描述一种非暂时性处理器可读介质,其存储处理器可执行指令以参与在节点网络中传播数据包的过程,其中,该处理器可执行指令在被多个参与节点中一个执行时,使得该处理器执行本文描述的一种或多种方法的操作。
在本文所述的许多示例实现中,具体提及了区块链交易;然而,应当理解的是,本文描述的方法和设备可以结合非区块链交易传播来实现和应用。更一般的来讲,本发明中描述的方法和设备可以适用于在点对点网络的节点之间传播数据。
附图说明
与本发明的一个方面或实施例描述的有关任何特征,也可以在一个或多个其他方面/实施例中使用。本发明的这些方面和其他方面将从本文中描述的实施例中明显的体现,并参考本文中描述的实施例进行阐明。现在将仅通过举例的方式并参考附图来描述本发明的实施例,其中:
图1示出了与区块链相关联的示例网络。
图2示意性地示出了具有输入缓冲区和输出缓冲区的示例性区块链节点。
图3示出了示例节点网络中交易的传播。
图4示出了节点网络中交易中继的示例。
图5以流程图形式示出了用于在区块链网络中传播数据包的示例过程。
图5A示出了根据本发明的说明性实施例的由中继节点执行的示例过程。
图6以流程图形式示出了用于在区块链网络中传播数据包的另一示例过程。
图7以框图形式示出了示例区块链节点。
具体实施方式
在本申请中,术语“和/或”旨在涵盖所列元素的所有可能的组合和子组合,包括单独列出的任何一个元素、任何子组合或所有元素,且不必排除附加的元素。
在本申请中,短语“……或……中的至少一个”旨在涵盖所列的任何一个或多个元素,包括单独列出的任何一个元素、任何子组合或所有元素,不必排除任何附加的元素,并且不一定需要所有元素。
首先将参考图1,其以框图形式示出了与区块链相关联的示例网络,该网络在本文中可称为区块链网络100。区块链网络100是点对点的开放成员网络,任何人都可以在未经邀请或其他成员同意的情况下加入。运行区块链协议(区块链网络100在其下运行)实例的分布式电子设备可参与区块链网络100。这种分布式电子设备可称为节点102。区块链协议可以是比特币协议或其他例如加密货币。
运行区块链协议并形成区块链网络100的节点102的电子设备可以是各种类型的,包括计算机(例如台式电脑、笔记本电脑、平板电脑、服务器)、移动设备(例如智能手机)、可穿戴设备(例如智能手表)或其它电子设备。
区块链网络100的节点102通过使用合适的通信技术彼此联接,该通信技术可以包括有线和无线通信技术。在许多情况下,区块链网络100至少有一部分在互联网上实现,且一些节点102可以位于地理上分散的位置。
节点102维护区块链上所有交易的全局账本,该区块链被分组为多个区块,每个区块都包含链中前一个区块的散列。全局账本是分布式账本,并且每个节点102可存储全局账本完整副本或部分副本。影响全局账本的节点102的交易由其他节点102验证,从而保持全局账本的有效性。本领域的普通技术人员将理解实现和操作区块链网络(例如使用比特币协议的区块链网络)的细节。
每个交易通常具有一个或多个输入和一个或多个输出。嵌入到输入和输出中的脚本指定了如何以及由谁访问交易的输出。交易的输出可以是作为交易结果的值的转移地址。然后将该值与该输出地址相关联,作为未花费交易输出(UTXO)。然后,随后的交易可以将该地址引用为输入,以花费或分散该值。
节点102可以完成从网络路由到钱包服务的许多不同功能,以维护稳健和安全的分散公共账本。“全节点(Full node)”包含区块链的完整且最新的副本,因此可以验证公共账本上的任何交易(包括已花费交易或未花费交易)。“轻节点(Lightweight node)”(或SPV)维护区块链的子集,并可以使用“简化支付验证”技术来验证交易。轻节点仅下载区块头,而不下载每个区块内的交易。因此,这些节点依赖对等节点来验证其交易。“挖矿节点”可以是全节点或轻节点,负责验证交易并在区块链上创建新区块。“钱包节点”通常为轻节点,用于处理用户的钱包服务。节点102通过TCP/IP(传输控制协议)等面向连接的协议进行彼此通信。
当节点希望将交易发送给对等节点时,会向该对等节点发送“INVENTORY”消息,传输对传输节点已知的一个或多个库存对象。如果该对等节点以“GETDATA”消息(即完整的交易请求)作为答复,则通过使用“TRANSACTION”消息来发送交易。假定该交易是有效交易,则接收该交易的节点以相同的方式将该交易转发给其对等节点。
现参考图2,其示意性地示出了具有输入缓冲区202和输出缓冲区204的示例节点200。示例节点200有具有多个对等节点的网络接口,这些接口称为intA,intB,intC,intD等。输入缓冲区202示出了来自不同对等节点的传入交易,而输出缓冲器204示出与交易相对应的输出网络数据包,用于通过各个接口传输到对等节点。根据节点202的操作***提供的原语,在应用层上按顺序发送和接收网络数据包。假设交易x适合单个以太网/IP数据包,则其向m个对等节点的传输需要缓冲m个不同的输出网络数据包。输入和输出网络数据包以及其他信息将包含序列化的交易和逻辑接口ID,该逻辑接口ID代表与发送/接收对等节点的TCP/IP连接。
一旦生成比特币交易,源节点则通过网络广播交易消息。通常,当客户端生成交易时,会将交易放入输出缓冲区204中。该交易可以立即或可以不立即转发给对等节点。在比特币网络的当前实现中,通过被称为“扩散传播”的机制对交易进行传播,由此每个交易源以独立的指数延迟将交易传输给其邻居。传播中的延迟是随机的,可用于在恶意攻击者的时间估计中引入不确定性。一旦对等节点接收到某个交易,则该对等节点将不接受同一交易的未来中继。例如,交易散列可以存储在对等节点的内存池中,从而使对等节点拒绝相同的交易。通过网络进行的交易的“扩散”是对称的,这意味着转发节点不会使用有关相邻节点IP地址的信息来影响交易传播。例如,在“标准”扩散过程(在比特币协议中使用)中,传播节点的对等节点都接收相同的交易,并且在每个中继实例中,每个对等节点一次仅中继转发一个交易。恶意的第三方可以利用这种“扩散”的对称性质,在进行去匿名化攻击时了解网络的点对点图形结构。
本申请提供用于区块链网络上的交易中继的替代技术,以增强针对流量分析攻击的匿名保护。更具体地,提议的中继协议可以用于掩盖交易的源节点与其IP地址之间的连接。
根据本申请的一个方面,基于区块链的网络中的节点在一段时间内缓冲新交易,从而累积将要传播到其对等节点的交易。然后,该节点将这些不同的缓冲/累积交易集发送到这些对等节点的任意选定子集。交易以这种方式在整个网络中传播,每个接收方节点独立选择一种将接收到的交易中继到其对等节点的模式。
提议的中继协议,即扩散混合器协议(DMP),包括两个独立的扩散阶段。第一阶段(“随机差动中继(random differential relay)”)允许中继的交易混合和交易源的混淆。在随机差动中继阶段,每个节点在向网络广播交易之前会先等待一段预定的时间,以从其对等节点中收集更多交易。然后,该节点创建到其“入口节点(entry node)”的外出连接,并以近似相同的时间戳向这些入口节点的任意(例如,随机)选择的子集发送不同的交易。节点的入口节点是可以从该节点建立直接外出连接的那些相邻节点。入口节点选择的随机性和中继交易的多样性可以使攻击者更难以重构网络拓扑结构。
第二阶段(“标准扩散”)确保网络内交易能够及时可靠的传播。在标准扩散阶段,每个节点将相同的交易中继到其所有入口节点,并且在每个中继实例中,每个入口节点一次仅中继一个交易。
应当注意的是,在诸如区块链网络的节点网络中,一个或多个节点能够执行DMP。具体而言,网络的一个或多个节点能够通过参与DMP将其接收到的数据包中继到其入口节点。例如,参与节点可以在随机差动中继过程和标准扩散过程之间选择,以传播特定数据包。网络的节点可以选择参与DMP,通过分散的方式或通过包含在由中央机构组装的一组参与节点中来加入协议。参与节点将根据DMP中继其输出网络数据包。特别地,如果参与节点接收到数据包,则该节点可通过使用由DMP规定的规则,根据为该节点选择的传播模式,转发接收到的数据包。
在图3中提供了用于交易中继的DMP的示意可视化图,示出了节点的示例性区块链网络300。每个节点都代表网络终端(即,区块链节点),而边线表示节点之间的链接。根据该图示的目的,对于每个链接,每次发送或接收一个比特是可能的。
在该示例区块链网络300中,每个节点都维护未确认交易的内存池,因此,当节点接收新交易时,通过网络将其传播给所有其他节点。每个节点都将在其各自的本地内存池中验证并存储新交易,并将新交易转发给尚未拥有新交易的任何对等节点。由于区块链网络300的点对点性质,所有节点不会同时接收新交易,也就是说新交易要花一些时间才能到达网络300中的所有节点。例如,在当前比特币网络实现中,新的有效交易平均需要3.5秒才会到达比特币网络90%的节点。
图3示出了用于传播特定交易Tx1的DMP的两个阶段,即随机差动传播302和针对Tx1的标准扩散304。交易Tx1的源节点310可以在时间点t1处创建交易Tx1或从对等节点处接收交易Tx1。根据DMP,源节点310在开始广播接收到的/排队的交易之前,等待以从其相邻节点接收至少另一输入交易。如图3所示,一旦源节点310接收交易Tx2,交易Tx1和Tx2就被发送到源节点310的入口节点的任意选定子集。交易Tx1被转发到入口节点310c和310d,交易Tx2被转发到入口节点310a和310b。图3所示的例子仅起说明作用,特别地,源节点310可以在传播其任何接收到的交易之前等待以接收两个或更多个传入交易。
入口节点把接收到的交易中继到其对等节点。例如,节点310b和310d分别将交易Tx2和Tx1转发给其相邻节点中的一个或多个。在DMP中,交易的每个接收者都独立选择传播接收到的交易的模式。节点320是选择标准扩散作为其扩散模式的节点的示例。如图3所示,节点320将相同的交易Tx1转发给其所有入口节点,即320a、320b、320c、320d和320e。
现在参考图5,其以流程图形式示出了用于在网络中传播数据包的示例过程500。过程500由诸如网络100的区块链网络的节点执行。在这种情况下,节点可理解为是指区块链网络中的挖矿节点、全节点、验证节点或其他类型的离散区块链节点。该节点是一种具有网络连接、计算资源和实现区块链协议的执行软件的计算设备。
在操作502中,与节点相关联的客户端生成至少一个第一类型的数据包。在区块链网络环境中,第一类型的数据包可以包括区块链交易。也就是说,客户端可以生成区块链交易,该交易将被传播到网络的其他节点。
在操作504中,节点在第一时间段T内收集第一类型的数据包集合。也就是说,节点在一段时间内累积第一类型的数据包。该集合包括至少一个生成的数据包和从网络中的一个或多个对等节点处接收的至少一个第一类型的数据包。这样,将节点生成的数据包与从相邻节点接收到的相同类型的数据包混合在一起。在区块链网络中,在时间段T内,节点通过监视待中继的传入交易的网络累积交易集合。可以预先设定时间段T的长度Δt。在一些示例实现中,时间的长度可能会基于例如平均连接次数、每单位时间接收到的交易的平均数量、或网络内节点的中心性(即,到节点的传入连接的数量)等参数而变化。在时间段T内,可以仅允许该节点累积第一类型的数据包,因此可以防止该节点在该时间段T的持续时间内发送任何第一类型的数据包。
在操作506中,该节点任意选择其入口节点的子集,其中收集到的数据包的不同集合将被转发给该子集。更具体地,对于收集的数据包集合中的每个数据包,该节点任意选择其两个以上的入口节点(即,与该节点具有外出连接的相邻节点),并将该数据包分配给所选择的入口节点。例如,可以随机选择入口节点。在一些实施例中,节点可以查询网络,以获得其对等节点的新地址。在比特币网络中,节点可以查询嵌入在比特币核心(BitcoinCore)、BitcoinJ、或其他区块链协议中并由比特币(或其他区块链)社区成员维护的一个或多个数据库源名称(DSN)。作为响应,该节点将获得一个或多个DSN记录,这些记录显示可以接受传入连接的可用全节点的IP地址。通过让对等节点向加入网络的新节点发送包含其IP地址和端口号的“ADDR”消息,可以实现分散版本的对等节点发现。
在一些实施例中,作为操作506的一部分,网络中的一个或多个节点可以维护表格或其他数据结构,跟踪其将每个收集到的数据包分配到应当把该数据包中继的入口节点的情况。图4示出了在区块链网络中的DMP的随机差动传播阶段中用于源节点410的交易中继的示例。表1是将收集到的交易Tx1-Tx5分配给源节点410的入口节点的示例。入口节点表示为节点A、B、C、D、E、F、G和H。如图4和表1所示,源节点410将每个交易中继给至少两个入口节点,多个交易可以经由同一节点中继。例如,交易Tx3、Tx4和Tx5都通过入口节点E同时被中继。更一般而言,在随机差动传播过程中,转发节点可以将多个数据包同时中继至同一对等节点。在给定的DMP实例中,并非所有入口节点都从源节点410处接收交易。在表1的示例中,入口节点C和G没有从源节点410处接收任何交易。
交易/节点 中继1 中继2 中继3
Tx1 节点A 节点D 节点H
Tx2 节点E 节点B 节点F
Tx3 节点E 节点A 节点H
Tx4 节点B 节点E
Tx5 节点E 节点F
表格1
再次参考图5,对于每个收集到的数据包,在操作508中,节点将数据包发送给每个(任意或随机)选择的入口节点。每个选择的入口节点通过使用为该入口节点随机选择的数据传播模式,用于将数据包中继到网络中的一个或多个第二节点。也就是说,每个选择的入口节点使用为该入口节点独立选择的传播模式,将接收到的数据包转发给其自身对等节点中的一个或多个。在图4的示例交易中继中,Tx1-Tx5中的每个交易被转发到入口节点,其中将交易分配到该入口节点。在一些实现中,作为操作508的一部分,节点可以将明确命令与数据包一起传输到所选择的入口节点(即,接收方节点),从而使用随机选择的传播模式来转发数据包。
然后,从源节点410接收交易的每个节点随机选择传播/扩散的模式,以用于将接收到的交易转发给其一个或多个对等节点(如果有的话)。特别地,接收交易的入口节点在根据标准扩散过程中继交易还是根据随机差动传播过程中继交易间随机选择。这两个选项之间的选择是随机的。因此,在DMP中,这两个扩散过程以一定概率交替,即,在随机差动传播阶段和标准扩散阶段之间没有清楚的分离。由于扩散过程的这种“混合”,对于攻击者而言,基于识别通过随机数据传播或通过标准扩散进行中继的节点集合之间的分离,重构网络的拓扑结构变得更加困难。
在一些实现中,扩散模式的入口节点的随机选择可以包括从源节点接收除中继的数据包之外的消息。然后,入口节点可以生成随机值(例如,随机数),将该随机值附加到接收到的消息中,并且对结果进行散列处理(例如使用SHA-256)。然后,入口节点可以检查散列值,并随后基于关于散列值的预定规则来获得扩散模式(例如,如果散列的结束字符是数字,则选择随机差动传播作为扩散模式)。可替代地或附加地,可以通过使用任何随机过程(例如,随机数生成器)来完成扩散模式的选择,其中受一些因素的影响,例如传入连接和/或外出连接的数量,和每单位时间接收到的数据包的平均数量等,选择一种模式的概率可以大于选择另一种模式的概率。
在传播特定数据包时,平衡传播节点的匿名保护级别与整体传播速度是比较理想的。如果确保一定程度的匿名性的措施过于繁琐(例如,需要太多的网络资源,故意不充分利用网络的节点来中继数据包等),则可能会削弱网络在及时传播数据方面的有效性。因此,在一些实现中,可能会偏向由中继节点对传播模式进行随机选择。特别地,两种以上的传播模式(即,随机差动传播、标准扩散等)中的每一个可以被分配不同的概率,使得这些概率反映数据传播匿名性和数据传播速度的比例显著性。例如,对于特定网络的节点,较高的预定概率可能与随机差动传播模式相关联,从而反映出对所传播数据的匿名性的更大比例的强调。
图5的方法500由生成其自己的第一类型的数据包的节点执行。特别地,参与DMP并生成数据包以传播到网络的其余部分的节点执行方法500。图5A示出了由中继节点或转发由不同节点生成的数据包的节点执行的示例过程。也就是说,中继节点自身不生成在特定数据包的中继期间转移的数据,仅起到“中继”数据包的功能。在操作550中,中继节点独立地选择其自身数据传播的模式。例如,中继节点可以在随机差动传播模式和标准扩散模式之间进行选择。如果在操作552中选择了标准扩散模式,则中继节点在操作554中把数据包转发给其所有入口节点。在图5A的示例中,在两个可能的选项之间选择传播模式;该示例不具有限制性,在其他示例中可以存在三种以上可能的传播模式。如果在方法500中选择的模式是随机差动传播,则中继节点执行与图5的操作504、506和508相对应的步骤556、558和560。
现参考图6,其以流程图形式示出了用于在网络中传播数据包的示例过程600。该过程600可以在具有到区块链网络的其他节点的多个传入连接和外出连接的区块链节点处执行。
过程600的操作602、604、606和610分别对应于过程500的操作502、504、506和508。在操作608中,节点确定触发条件是否已满足,之后,在操作610中将收集的数据包传输到其被分配的入口节点之前。特别地,当检测到合适的触发条件已满足时,则会执行对数据包的发送。当触发条件未满足时,节点继续收集第一类型的数据包,而不将任何上述数据包中继到其入口节点/对等节点。
可以采用触发条件来指导节点收集足够数量的传入数据包和/或收集足够时间的传入数据包。例如,通过在同时将多个传入数据包传播到网络中的对等节点之前收集多个传入数据包,监视来源于该节点的中继流量的攻击者可能无法轻松地将该节点识别为中继的数据包的正确来源。
在一些实现中,该触发条件可以是预定持续时间的期满,该预定持续时间自操作602中的节点生成第一类型的至少一个数据包时起始)。也就是说,可以将节点设计为在预定时间段内监视和收集的传入数据包(例如交易),该预定时间段从该节点生成相同类型的数据包开始,直到节点传播任何上述数据包之前。此条件可能有助于尝试确保由节点生成的数据包在该节点收集到更多可以同时广播的相同类型的数据包之后被传播,从而使攻击者难以正确地将节点识别为生成的数据包的源。
在一些实现中,该触发条件可以是预定持续时间的期满,该预定持续时间自从节点的对等节点处接收到至少一个第一类型的传入数据包中的第一个时起始。也就是说,可以将节点设计为在预定时间段内监视和收集传入数据包,该预定时间段从接收到此类传入数据包中的第一个时开始。此条件可能有助于尝试确保向网络的其余部分广播之前,该节点收集了更多的数据包,无论是由节点本身生成的数据包还是从其他对等节点处接收到的数据包。
在一些实现中,触发条件可以是在第一时间段内收集数据包的数量达到阈值数量。特别地,该节点可以设计成监视和收集传入数据包,直到第一时间段期满的较早时间或达到该节点收集的数据包的预定阈值数目为止。
现将参考图7,其以框图的形式示出了参与节点700的简化示例。节点700包括处理器702,该处理器可以包括一个或多个微处理器、专用集成芯片(ASICs)、微控制器或类似的计算机处理设备。节点700还包括存储器704和网络接口706,存储器704可以包括永久性和非永久性存储器,用来存储值、变量以及在某些情况下处理器可执行的程序指令,网络接口706用来提供通过有线或无线网络的网络连接。
节点700包括处理器可执行的区块链应用708,该应用包含处理器可执行指令,该处理器可执行指令被执行时使得处理器702执行本文描述功能或操作中的一个或多个。
可以理解的是,通过使用标准计算机编程技术和语言,可以实现本文描述的设备和过程,以及执行用于配置区块链节点的方法/过程的任何模块、例程、过程、线程、应用或其他软件组件。本申请不限于特定处理器、计算机语言、计算机编程规范、数据结构或其他实现细节等。
应当注意的是,上文提及的实施例说明本发明而非限制本发明,且本领域的技术人员将能够在不脱离如由所附权利要求书所界定的本发明的范围的情况下设计许多替代实施例。在权利要求书中,放置在圆括号内的任何附图标记不应被解释为限制权利要求。词语“包括(comprising,comprises)”等不排除任何权利要求或整个说明书中列出的元件或步骤之外的元件或步骤的存在。在本说明书中,“包括(comprises)”意味着“包括(includes)或由...组成(consists of)”,并且“包括(comprising)”意味着“包括(including)或由...组成(consisting of)”。对元件的单数引用并不排除对此类元件的复数引用,反之亦然。本发明可以借助包括若干不同元件的硬件,以及借助适当编程的计算机来实施。在列举了若干装置的设备权利要求中,这些装置中的若干个可以由硬件的同一个部件来体现。不争的事实是,在相互不同的从属权利要求中列举了某些方法,并不代表这些方法的结合不能获得有益效果。

Claims (15)

1.一种在节点网络中传播数据包的节点,网络中的每个节点都具有与其他节点的一个或多个连接,所述节点包括:
处理器;
提供网络连接性的网络接口;和
包括处理器可执行指令的存储器,当所述处理器可执行指令被所述处理器执行时,使得所述处理器:
生成至少一个第一类型的数据包;
在第一时间段内收集所述第一类型的数据包集合,所述集合包括至少一个生成的数据包和从所述网络中的一个或多个第一节点处接收的所述至少一个第一类型的数据包;和
对于所述集合中的每个数据包:
任意选择与所述节点连接的两个以上的相邻节点:和
将所述数据包传输给选择的两个以上的相邻节点中的每一个,
其中,所述选择的两个以上的相邻节点用于通过使用为所述相邻节点随机选择的数据传播模式,将所述数据包中继到所述网络中的一个或多个第二节点。
2.根据权利要求1所述的节点,其中,所述第一时间段具有预定长度。
3.根据权利要求1所述的节点,其中,所述指令在被执行时,使得所述处理器在确定触发条件已满足时执行所述传输。
4.根据权利要求3所述的节点,其中,所述触发条件包括预定持续时间的期满,所述预定持续时间自所述节点生成所述至少一个第一类型的数据包时起始。
5.根据权利要求3所述的节点,其中,所述触发条件包括预定持续时间的期满,所述预定持续时间自从所述一个或多个第一节点处接收到所述至少一个第一类型的数据包中的第一个时起始。
6.根据权利要求3所述的节点,其中,所述触发条件包括在所述第一时间段内收集所述数据包的数量达到阈值数量。
7.根据任一前述权利要求所述的节点,其中,在第一模式和第二模式之间任意选择用于所述相邻节点的数据传播的模式,其中:
在所述第一模式下,所述数据包被中继到与所述相邻节点连接的节点的任意选定子集;和
在所述第二模式下,所述数据包被中继到与所述相邻节点连接的所有节点。
8.根据任一前述权利要求所述的节点,其中,所述指令在被执行时,防止所述处理器在所述第一时间段内传输任何所述第一类型的数据包。
9.一种在节点网络中传播数据包的计算机实现的方法,所述网络中的每个节点都具有与其他节点的一个或多个连接,所述方法在所述节点之一处执行,包括:
生成至少一个第一类型的数据包;
在第一时间段内收集所述第一类型的数据包集合,所述集合包括至少一个生成的数据包和从所述网络中的一个或多个第一节点处接收的所述至少一个第一类型的数据包;
对于所述集合中的每个数据包:
任意选择与所述节点之一连接的两个以上的相邻节点;和
将所述数据包传输给选择的两个以上的相邻节点中的每一个,
其中,所述选择的两个以上的相邻节点用于通过使用为所述相邻节点随机选择的数据传播模式,将所述数据包中继到所述网络中的一个或多个第二节点。
10.根据权利要求9所述的方法,其中,在确定触发条件已满足时执行所述传输。
11.根据权利要求10所述的方法,其中,所述触发条件包括预定持续时间的期满,所述预定持续时间自所述节点之一生成所述至少一个第一类型的数据包时起始。
12.根据权利要求10所述的节点,其中,所述触发条件包括预定持续时间的期满,所述预定持续时间自从所述一个或多个第一节点处接收到所述至少一个第一类型的数据包中的第一个时起始。
13.根据权利要求10所述的节点,其中,所述触发条件包括在所述第一时间段内收集所述数据包的数量达到阈值数量。
14.根据权利要求9所述的方法,所述方法进一步包括防止在所述第一时间段内传输任何所述第一类型的数据包。
15.一种非暂时性处理器可读介质,所述非暂时性处理器可读介质存储处理器可执行指令以参与在节点网络中传播数据包的过程,其中,当所述处理器可执行指令被参与节点之一中的处理器执行时,使得所述处理器执行权利要求9至14中任一项所述的方法。
CN201880076559.9A 2017-11-27 2018-11-19 用于诸如区块链网络等网络中的数据传播和通信的计算机实现的***和方法 Active CN111406396B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1719654.4 2017-11-27
GBGB1719654.4A GB201719654D0 (en) 2017-11-27 2017-11-27 Computer-implemented system and method
PCT/IB2018/059092 WO2019102334A1 (en) 2017-11-27 2018-11-19 Computer-implemented system and method for propagation and communication of data in a network such as a blockchain network

Publications (2)

Publication Number Publication Date
CN111406396A true CN111406396A (zh) 2020-07-10
CN111406396B CN111406396B (zh) 2024-06-14

Family

ID=60950589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880076559.9A Active CN111406396B (zh) 2017-11-27 2018-11-19 用于诸如区块链网络等网络中的数据传播和通信的计算机实现的***和方法

Country Status (9)

Country Link
US (3) US11245757B2 (zh)
EP (2) EP4054117A1 (zh)
JP (2) JP2021504783A (zh)
KR (2) KR102519197B1 (zh)
CN (1) CN111406396B (zh)
GB (1) GB201719654D0 (zh)
SG (1) SG11202004652WA (zh)
WO (1) WO2019102334A1 (zh)
ZA (1) ZA202002623B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112102078A (zh) * 2020-08-07 2020-12-18 柳州市蓝海数链科技有限公司 区块链共识计算方法、装置、计算机设备及存储介质
CN112102079A (zh) * 2020-08-07 2020-12-18 柳州市蓝海数链科技有限公司 业务数据的处理方法、装置、计算机设备及存储介质
CN116545608A (zh) * 2023-05-15 2023-08-04 合肥工业大学 基于熟人免疫策略的区块传播方法和***

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201802347D0 (en) * 2018-02-13 2018-03-28 Nchain Holdings Ltd Computer-implemented system and method
GB201804479D0 (en) * 2018-03-21 2018-05-02 Nchain Holdings Ltd Computer-implemented system and method
CN108696589B (zh) * 2018-05-14 2022-04-08 百度在线网络技术(北京)有限公司 区块链数据传输方法、装置、设备和存储介质
US20240070144A1 (en) * 2021-01-07 2024-02-29 Nippon Telegraph And Telephone Corporation Information processing apparatus, adjacent node selecting method and program
JP7048039B1 (ja) * 2021-01-15 2022-04-05 株式会社アクセル 決済システム、決済装置、決済方法及び決済プログラム
US11902426B2 (en) * 2021-06-26 2024-02-13 Ceremorphic, Inc. Efficient storage of blockchain in embedded device
US11651110B2 (en) * 2021-07-08 2023-05-16 Dell Products, L.P. Hardware device mutual authentication system and method for a baseboard management controller (BMC)
CN115174573B (zh) * 2022-06-30 2024-02-02 蚂蚁区块链科技(上海)有限公司 区块链***中的数据广播方法、节点和区块链***

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070127421A1 (en) * 2005-12-07 2007-06-07 D Amico Thomas V Method and apparatus for broadcast in an ad hoc network using elected broadcast relay nodes
CN101207557A (zh) * 2006-12-19 2008-06-25 中兴通讯股份有限公司 无线传感器网络中数据分发的***及方法
CN102158864A (zh) * 2011-04-15 2011-08-17 北京航空航天大学 一种基于可靠性的移动Ad Hoc网络自适应安全路由方法
US20120297405A1 (en) * 2011-05-17 2012-11-22 Splendorstream, Llc Efficiently distributing video content using a combination of a peer-to-peer network and a content distribution network
CN106102048A (zh) * 2016-06-03 2016-11-09 上海理工大学 一种物联网中传感器发出的数据包安全传输到基站的传输方法
WO2017065209A1 (ja) * 2015-10-16 2017-04-20 国立大学法人東北大学 情報処理システム、情報処理装置、情報処理方法、及び、プログラム
CN106656784A (zh) * 2016-10-14 2017-05-10 ***股份有限公司 用于区块链网络的数据流传播***及方法
GB201709219D0 (en) * 2017-06-09 2017-07-26 Nchain Holdings Ltd Computer-implemented system and method
GB201709848D0 (en) * 2017-06-20 2017-08-02 Nchain Holdings Ltd Computer-implemented system and method
CN107172615A (zh) * 2017-07-25 2017-09-15 中国信息安全测评中心 一种网络节点的数据传输方法、装置、网络节点及***

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4948610B2 (ja) * 2010-02-04 2012-06-06 株式会社エヌ・ティ・ティ・ドコモ 通信制御装置及びプログラム
US8898327B2 (en) 2011-10-05 2014-11-25 Peerialism AB Method and device for arranging peers in a live streaming P2P network
US9674251B2 (en) * 2013-06-17 2017-06-06 Qualcomm Incorporated Mediating content delivery via one or more services
KR102233371B1 (ko) * 2014-06-24 2021-03-29 삼성전자주식회사 멀티캐스트 네트워크에서의 릴레이 방법 및 장치
US9668238B1 (en) * 2014-10-02 2017-05-30 Sprint Spectrum L.P. Multicast file delivery
KR20160109126A (ko) * 2015-03-10 2016-09-21 한국전자통신연구원 다중 전송경로 환경에서 네트워크 코딩을 이용한 데이터 송수신 장치
US10362106B2 (en) 2015-07-21 2019-07-23 Cisco Technology, Inc. Adaptive gossip protocol
WO2017109140A1 (en) 2015-12-22 2017-06-29 Bigchaindb Gmbh Decentralized, tamper-resistant, asset-oriented database system and method of recording a transaction
EP3460774B1 (en) * 2016-05-19 2021-10-13 Nippon Telegraph And Telephone Corporation Sensor relay device and sensor relay system
US10929823B2 (en) * 2017-09-12 2021-02-23 Northwestern University Peer auditing in a blockchain distribution network
US10477543B2 (en) * 2017-09-27 2019-11-12 Trellisware Technologies, Inc. Methods and systems for improved communication in multi-hop networks
GB201802347D0 (en) * 2018-02-13 2018-03-28 Nchain Holdings Ltd Computer-implemented system and method

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070127421A1 (en) * 2005-12-07 2007-06-07 D Amico Thomas V Method and apparatus for broadcast in an ad hoc network using elected broadcast relay nodes
CN101207557A (zh) * 2006-12-19 2008-06-25 中兴通讯股份有限公司 无线传感器网络中数据分发的***及方法
CN102158864A (zh) * 2011-04-15 2011-08-17 北京航空航天大学 一种基于可靠性的移动Ad Hoc网络自适应安全路由方法
US20120297405A1 (en) * 2011-05-17 2012-11-22 Splendorstream, Llc Efficiently distributing video content using a combination of a peer-to-peer network and a content distribution network
WO2017065209A1 (ja) * 2015-10-16 2017-04-20 国立大学法人東北大学 情報処理システム、情報処理装置、情報処理方法、及び、プログラム
CN106102048A (zh) * 2016-06-03 2016-11-09 上海理工大学 一种物联网中传感器发出的数据包安全传输到基站的传输方法
CN106656784A (zh) * 2016-10-14 2017-05-10 ***股份有限公司 用于区块链网络的数据流传播***及方法
GB201709219D0 (en) * 2017-06-09 2017-07-26 Nchain Holdings Ltd Computer-implemented system and method
GB201709848D0 (en) * 2017-06-20 2017-08-02 Nchain Holdings Ltd Computer-implemented system and method
CN107172615A (zh) * 2017-07-25 2017-09-15 中国信息安全测评中心 一种网络节点的数据传输方法、装置、网络节点及***

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112102078A (zh) * 2020-08-07 2020-12-18 柳州市蓝海数链科技有限公司 区块链共识计算方法、装置、计算机设备及存储介质
CN112102079A (zh) * 2020-08-07 2020-12-18 柳州市蓝海数链科技有限公司 业务数据的处理方法、装置、计算机设备及存储介质
CN112102079B (zh) * 2020-08-07 2024-05-17 柳州市蓝海数链科技有限公司 业务数据的处理方法、装置、计算机设备及存储介质
CN112102078B (zh) * 2020-08-07 2024-05-21 柳州市蓝海数链科技有限公司 区块链共识计算方法、装置、计算机设备及存储介质
CN116545608A (zh) * 2023-05-15 2023-08-04 合肥工业大学 基于熟人免疫策略的区块传播方法和***
CN116545608B (zh) * 2023-05-15 2024-06-04 合肥工业大学 基于熟人免疫策略的区块传播方法和***

Also Published As

Publication number Publication date
SG11202004652WA (en) 2020-06-29
US11743328B2 (en) 2023-08-29
EP3718285B1 (en) 2022-05-25
US11245757B2 (en) 2022-02-08
US20240015211A1 (en) 2024-01-11
US20220232068A1 (en) 2022-07-21
CN111406396B (zh) 2024-06-14
WO2019102334A1 (en) 2019-05-31
KR102519197B1 (ko) 2023-04-06
EP4054117A1 (en) 2022-09-07
KR20200089687A (ko) 2020-07-27
EP3718285A1 (en) 2020-10-07
ZA202002623B (en) 2023-04-26
GB201719654D0 (en) 2018-01-10
KR20230048468A (ko) 2023-04-11
JP2021504783A (ja) 2021-02-15
US20200389519A1 (en) 2020-12-10
JP2023175020A (ja) 2023-12-08

Similar Documents

Publication Publication Date Title
CN111406396B (zh) 用于诸如区块链网络等网络中的数据传播和通信的计算机实现的***和方法
CN111801925B (zh) 在网络中传播数据的基于区块链的***和方法
US11916955B2 (en) Systems and methods of propagating data packets in a network of nodes
US11895123B2 (en) Systems and methods for random differential relay and network coding

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
GR01 Patent grant