CN113225175A - 通过流言协议实现有向无环图共识算法的系统和方法 - Google Patents
通过流言协议实现有向无环图共识算法的系统和方法 Download PDFInfo
- Publication number
- CN113225175A CN113225175A CN202110077870.9A CN202110077870A CN113225175A CN 113225175 A CN113225175 A CN 113225175A CN 202110077870 A CN202110077870 A CN 202110077870A CN 113225175 A CN113225175 A CN 113225175A
- Authority
- CN
- China
- Prior art keywords
- node
- given node
- information
- event
- dag
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000002360 preparation method Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种用于通过流言协议通过DAG/哈希图共识算法来交换信息的计算机实现的方法,该方法包括以下步骤:使第一给定节点N1随机选择第二给定节点N4,并发送参考信息;基于该参考信息,确定在其他节点事件之前的节点事件;如果该参考信息意指该第一给定节点N1的事件在该第二给定节点N4的事件之前,则向该第一给定节点N1发送取消信息,从而防止该第一给定节点N1向该第二给定节点N4发送DAG事件信息;如果该参考信息意指该第二给定节点N4的事件在该第一给定节点N1的事件之前,则使该第一给定节点N1向该第二给定节点N4发送DAG事件信息。本技术方案能在计算机节点之间有效地交换信息,并防止节点进入无限往复,在无限往复中它们永远在来回发送信息。
Description
技术领域
本发明涉及在特定网络中连接的分布式计算机节点之间交换信息领域,具体地,涉及动作或事务的列表。尤其涉及一种通过流言协议(gossip protocol)实现有向无环图(DAG)共识算法(诸如哈希图(Hashgraph)共识算法)的系统和方法。
背景技术
在本领域可以认为哈希图是在分散网络中达成共识的一种新方法。它通常被称为投票算法。哈希图是特定的有向无环图(DAG)。
哈希图的目标主要是在分布式系统中的节点之间达成共识。哈希图算法是解决拜占庭将军问题(Byzantine Generals’Problem)的一种方法。
另外,哈希图算法可以阻止攻击者关闭网络或冻结网络,从而阻止其达成共识。
本发明的一个思想是用一种有效方式来交换节点之间的信息,以及对于哈希图或其他需要交换DAG信息的DAG系统的支持方法和支持系统。
图1示意性地示出了现有技术中开发的哈希图。该哈希图是基于图1中垂直排列的计算机节点(NA、NB、NC、ND、NE)的网络。每个计算机节点(NA、NB、NC、ND、NE)可以记录被称为事件1的事件,该事件被表示为一个圆圈,在图2中有更详细的说明。事件一般是信息/字节和内存的序列,然后进行哈希处理。事件将由节点来记录。事件包括要分发到网络的一条信息。一般对信息进行哈希处理以保护其安全。因此,哈希图能够分发在网络中分发的安全信息。
事件由节点来署名。
在哈希图的实现方式中,一个节点将随机选择另一个节点,并将其关于通信进行哈希处理的所有信息发送给他。重复这个过程,直到信息在整个网络中传播开来。
哈希图意指网络中信息的无限传输。另外,在哈希图算法中,一个事件总是包含一个时间戳,以在网络中达成一致时间戳。
参考图2,事件的信息包括:
从图2中垂直表示的自父节点接收的自父节点2的散列。来自自父节点2的散列与自父节点的内存中的先前事件相关;
来自“另一个”父节点3的散列接收自图2中对角表示的另一个父节点。来自另一个父节点3的散列与另一个父节点的内存中的先前事件相关;
当前事件1i的信息;以及
当前事件的时间戳4。
发明内容
本发明的一个目的是限制/减少信息传输的次数,并减少在计算、存储以及传输信息时计算机资源的使用。
本发明的另一个总体目的是在计算机节点之间有效地交换信息,并防止节点进入无限往复,在无限往复中它们永远在来回发送信息。
另一个目的是保护节点的安全,并轻松确定节点之间需要共享的信息,而无需在节点之间发送不必要的信息。
为了达到这些目的,本发明涉及一种用于在特定网络中连接的分布式计算机节点之间交换信息的计算机实现的方法,该方法通过使用关于流言协议的流言来实现有向无环图(DAG)共识算法(诸如哈希图共识算法),该方法包括以下步骤:
使第一给定节点随机选择第二给定节点,并发送参考信息;
基于参考信息,确定在其他节点事件之前的节点事件;
如果参考信息意指第一给定节点的事件在第二给定节点的事件之前,则向第一给定节点发送取消信息,从而防止第一给定节点向第二给定节点发送DAG事件信息;
如果参考信息意指第二给定节点的事件在第一给定节点的事件之前,则使第一给定节点向第二给定节点发送DAG事件信息;
以及优选地,则使第二给定节点向第一给定节点发送DAG事件信息;
对于其他节点,以此类推,以便通过网络同步和传播DAG事件信息。
更准确地来说,根据一方面,该方法包括以下步骤:
当第二给定节点从第一给定节点接收参考信息时,如果第二给定节点预先向第一给定节点发送了参考信息,使第二给定节点向第一给定节点发送取消信息,使得第一给定节点不向第二给定节点发送DAG事件信息。
“DAG事件信息”是指交换的与DAG的事件相关的信息。通过散列指针连接在一起的多条信息。这意味着一个事件的散列是一个唯一的散列(指纹),并且自父和其他父散列指纹包括在事件中,其用作DAG中的事件之间的唯一标识符/指针。
有利的是,该方法能够通过取消信息来限制信息传输的次数,使得节点停止信息的通信。这意指在信息的计算、存储以及传输时减少计算机资源的使用。
本发明的思想是用一种有效的方式在节点之间交换信息(散播流言)。因此,波前法(Wavefront method)被用作对于哈希算法或其他需要交换DAG信息的DAG系统的支持系统。
此外,它通过发送每个节点的事件链的状态来限制信息的数量,该状态由参考/高度数来指示。通过这种方式,节点可以决定事件链中的最后事件是在另一个节点事件链的之后还是之前。
另外,取消能够防止两个节点之间的无限往复。
另外,波前法能够容易地保护节点,并通过共享“波前”状态来确定节点之间需要共享的信息(下面将进一步详述),而无需在节点之间发送不必要的信息。
根据该方法的其他方面,单独或以任何技术上可能的组合进行组合:
参考信息与节点事件的顺序有关;和/或
节点事件的顺序通过跟踪每个事件的纵坐标值来确定;和/或
点事件的顺序通过使每个节点跟踪一个被称为高度的整数值来确定,该整数值随着节点中创建的每个事件而增加;和/或
参考信息通过潮波(Tidal-wave)发送;和/或
参考信息通过碎波(Breaking-wave)发送;和/或
从第二给定节点到第一给定节点的DAG事件信息的第二次发送是DAG事件信息的第二波,也是最后一波;和/或
该方法包括步骤:如果节点接收到不在预定信息交换序列中的信息和/或如果节点从已经与其交换信息的节点接收到信息,则发送另一取消信息。
本发明还涉及一种用于交换信息的系统,包括用于执行根据本发明的方法的步骤的装置。
本发明还涉及一种用于在特定网络中连接的分布式计算机节点之间交换信息的系统,该系统通过使用关于流言协议的流言来实现有向无环图共识算法(诸如哈希图共识算法),该系统包括:
使第一给定节点随机选择第二给定节点,并发送参考信息的装置;
基于参考信息,确定在其他节点事件之前的节点事件的装置;
如果参考信息意指第一给定节点的事件在第二给定节点的事件之前,向第一给定节点发送取消信息的装置,从而防止第一给定节点向第二给定节点发送DAG事件信息;以及
如果参考信息意指第二给定节点的事件在第一给定节点的事件之前,使第一给定节点向第二给定节点发送DAG事件信息的装置;
使第二给定节点向第一给定节点发送DAG事件信息的装置;
对于其他节点,以此类推,以便通过网络同步和传播DAG事件信息。
上述方法的优点也适用于实现该方法的系统。
根据该系统的其他方面,单独或以任何技术上可能的组合进行组合:
参考信息与节点事件的顺序有关;和/或
该系统包括用于跟踪每个事件的纵坐标值以确定节点事件顺序的装置;和/或
该系统包括用于使每个节点跟踪一个被称为高度的整数值的装置,该整数值随着在节点中创建的每个事件而增加,以确定节点事件的顺序;和/或
该系统包括通过潮波发送参考信息的装置,以及通过碎波发送取消信息的装置;和/或
该系统包括限制第一给定节点和第二给定节点之间的DAG事件信息的传输次数的装置;和/或
该系统包括如果节点接收到不在预定信息交换序列中的信息,则发送另一取消信息的装置。
本发明的另一个目的是一种网络,该网络包括:一个或多个中央单元,尤其是一个或多个计算机化的中央单元;以及一种或多种连接,该连接至实现事务的附加命令单元,尤其是计算机化的命令单元,该一个或多个中央单元包括根据本发明的系统。
附图说明
现将通过对本发明的非限制性实施例的描述并基于附图来详细介绍本发明,其中:
-图1是根据现有技术的方法中的哈希图的示意图;
-图2是图1的哈希图中的事件的示意图;
-图3是根据本发明实施例的系统的示意图;
-图4是根据本发明实施例的方法中的哈希图的示意图;
-图5是本发明中两个节点之间信息交换的详细说明。
具体实施方式
本发明涉及交换信息。
本发明包括通过关于流言协议的流言来实现DAG共识算法,诸如通过关于流言协议的流言来实现的哈希图共识算法。
本发明的装置通过流言协议分发信息,从而发送关于从特定网络5中的其他节点接收的数据的信息。
本发明涉及一种计算机实现的方法,以及相应的系统5a和网络5。本发明的方法能够处理和交换信息,诸如有关区块链交易和哈希图的应用所需的信息。
DAG,诸如哈希图,用于在特定网络中连接的分布式计算机节点之间交换信息。信息是安全的并且经过哈希处理的。传送的DAG/哈希图的信息将被称为“DAG事件信息”。
流言协议意指计算机节点相互传输它们在存储器中的信息。
本发明的方法包括确定步骤,确定节点事件顺序,以确定在之前的节点事件和在之后的节点事件。
在该实施例中,前后顺序并不基于时间。该实施例不需要时间共识。有利的是,这避免了往复的计算机节点在同一时间达成一致的问题。
确定事件的顺序能够知道哪个事件在前,哪个事件在后。因此,关于事件的信息更准确。该确定优选地不限于在事件中具有节点的时间戳。
根据本发明的实施例,节点事件的顺序通过跟踪每个事件的纵坐标值来确定。有利的是,使用纵坐标值避免了往复的计算机节点在同一时间达成一致的问题。
尤其,节点事件的顺序通过使每个节点跟踪一个被称为高度的整数值来确定,该整数值随着节点中创建的每个事件而增加。高度在信息处理中发挥作用。
在本发明的方法的另一步骤中,第一给定节点N1随机选择第二给定节点N4,并且可以在网络5中向其发送DAG事件信息(6、7)。大体上,该系统诸如使得第一节点N1随机选择第二给定节点N4,并且如果适用,发送DAG事件信息(6、7)。
网络5的所有节点N0、N1、...、N5、...继续进行,直到DAG事件信息(6、7)在网络5中传播。
本发明的目的在于防止某些DAG事件信息的传输,同时使相关信息在网络5中传播。
根据本发明,该方法包括步骤:当第一给定节点N1随机选择第二给定节点N4时,使第一给定节点N1在发送任何DAG事件信息(6、7)之前发送第二给定节点N4特定参考信息(8)。参考信息的发送可以被称为潮波。潮波是信息流。
“潮波”可以定义每个节点的高度值。每个节点跟踪DAG事件;这意味着每个节点具有该节点已知的当前高度。
尤其,参考信息(8)与节点事件的顺序有关。更具体地,参考信息8包括先前的高度,这里是每个节点的所有高度的列表。
此外,根据本发明,该方法包括步骤:在特定条件下向第一给定节点N1发送取消信息(9),以避免从第一给定节点N1向第二给定节点N4进一步传输DAG事件信息6、7。取消信息9的发送可以被称为碎波。碎波是作为响应发送的信息流,以便节点返回到初始状态。
如果考虑到参考信息8,第二给定节点N4的事件不在第一给定节点N1的事件之前,则当第二给定节点N4从第一给定节点N1接收到参考信息8时,发送取消信息9。这在分析高度时很容易做到。
在优选实施例中,取消信息9可以直接从第二节点N4至第一节点N1。
该方法还包括步骤:作为取消信息的结果,防止第一给定节点N1向第二给定节点N4发送DAG事件信息。
换句话说:第二给定节点N4向第一给定节点N1发送取消信息,使得第一给定节点N1不向第二给定节点N4发送DAG事件信息。
有利的是,该方法能够通过取消信息来限制信息传输的次数,使得节点停止信息的通信。这意指在信息的计算、存储以及传输中减少计算机资源的使用。
考虑到参考信息(8),如果第二给定节点N4的事件在第一给定节点N1的事件之前,则DAG事件信息的传输继续。
尤其,第二给定节点N4向第一给定节点N1发送DAG事件信息,包含第二给定节点N4存储器中的事件。这种DAG事件信息的第一次发送可以被称为第一波6。该第一波是如本领域技术人员已知的信息流。第一波6的DAG事件信息包含第二给定节点N4存储器中的所有事件的列表。
此外,尤其,在第一给定节点N1从第二给定节点N4接收到DAG事件信息之后,第一给定节点N1可以向第二给定节点N4发送DAG事件信息,包含第一给定节点N1存储器中的事件。DAG事件信息的第二次发送可以被称为第二波(7)。该第二波是如本领域技术人员已知的信息流。
在第一波和第二波之后,第一给定节点N1和第二给定节点N4之间的信息交换停止。
这是避免信息传递的无限往复的第二种方式。换句话说,当接收/发送第二波时,该id节点的波状态返回到初始状态。
根据优选实施例,该方法包括步骤:如果节点接收到不在预定信息交换序列中的信息,尤其是DAG事件信息的第一参考信息(8)、然后第一波(6)以及再第二波(7)的序列,则发送另一(第二)取消信息。该取消信息尤其是与先前相同的类型,但是如果例如第二给定节点N4首先接收到第二波,则触发取消信息。
根据另一实施例,该方法包括步骤:如果节点从已经与其交换信息的节点接收到信息,则发送另一(第三)取消信息。该取消信息尤其是与先前相同的类型,但是如果例如第二给定节点N4从第一节点N1接收到稍后的另一参考信息8,则触发取消信息。有利的是,这些步骤进一步限制了有关信息传输的冗余/往复。
本发明还涉及用于实现上述方法的系统5a。系统5a是计算机化的系统,并且包括被配置为实现上述方法的固有硬件和软件模块。它可以被称为波前系统5a。
系统5a能够在特定网络中连接的分布式计算机节点之间交换信息,从而通过关于流言协议的流言来实现DAG/哈希图共识算法。
系统5a包括:确定节点事件顺序的装置,以确定在之前的节点事件和在之后的节点事件;
使第一给定节点N1随机选择第二给定节点N4并发送参考信息8和适用的DAG事件信息(6、7)的装置,
在网络5中传播DAG事件信息(6、7)的装置。
根据一个方面,系统5a包括:
-当第二给定节点N4从第一给定节点N1接收到参考信息时,如果第二给定节点N4预先向第一给定节点N1发送了参考信息,使第二给定节点N4向第一给定节点N1发送取消信息的装置,从而防止第一给定节点N1向第二给定节点N4发送DAG事件信息的装置。
优选地,系统5a还包括:如果节点接收到不在预定信息交换序列中的信息和/或如果节点从已经与其交换信息的节点接收到信息,发送另一取消信息的装置。
上述方法的优点也适用于实现该方法的系统。
本发明的另一个目的是一种网络,该网络包括:一个或多个中央单元10,尤其是一个或多个计算机化的中央单元;以及一种或多种连接12,该连接至实现事务的附加命令单元11,尤其是计算机化的命令单元,该一个或多个中央单元包括上述系统5a。这种可以被称为波前网络。该网络可以通过互联网连接到附加命令单元。
上述方法和系统5a的优点也适用于包括相应系统5a的网络5。
示例
图4和图5详细描述了示例。
图4示出了表示网络节点N0、N1、N2、...、N5之间信息流的流言信息的哈希图。其他节点优选地在相同的网络中,但是没有被表示。
在有限的时间内,网络中的所有节点将能够建立相同的DAG事件。
每条垂直线表示一个计算节点,每个圆圈表示一个事件。事件之间的线表示节点之间事件的通信。
仅由相应节点看到的事件用实线的白色圆圈表示。仅由两个或多个节点看到的事件用断线的白色圆圈表示。各个节点的最后事件用纯色圆圈表示。
最后要创建的事件是一个虚线圆圈。
哈希图算法使用一种被称为“散播流言”的流言协议在节点之间传播信息。这意味着第一给定节点N1向随机选择的第二给定节点N4发送其已知的所有通信信息。这使得第二给定节点N4能够构建与第一给定节点N1相同的哈希图。
在本发明的网络5中,一种称为波前的协议用于在两个节点之间交换信息,从而确保了第一给定节点N1和第二给定N4仅需要通信三次就可以交换图形的状态。
每个节点跟踪一个被称为高度的整数值。高度随着节点创建的每个事件而增加一。每个节点存储网络中每个节点的当前高度视图。
通过在两个节点之间交换关于高度的信息,两个节点都能够断定在之前的事件。
为了确定处于当前事件中的事件,并减去接收到的事件,该值大于0意味着当前事件在接收到的事件之前,反之亦然。
acurrent-areceived<0
如果接收的事件在当前事件之前。
波前信息交换有四种状态:
1.第一给定节点N1随机选择第二给定节点N4,并发送每个节点最后已知高度的列表。这种状态被称为潮波。
2.第二给定节点N4接收来自第一给定节点N1的潮波。如果基于潮波,第二给定节点N4的事件不在第一给定节点N1的事件之前,则第二给定节点N4将向第一给定节点N1发送被称为碎波的波。否则,第二给定节点N4将返回第一给定节点N1的潮波之前的所有事件的列表。这种状态被称为碎波。
3.如果第一给定节点N1从第二给定节点N4接收到第一波,其会返回第二给定节点N4之前的所有事件的列表。当达到这种状态时,波前交换结束。
4.如果第一给定节点N1或第二给定节点N4接收到碎波,则终止波前通信。
关于状态2,可选地或组合地,如果第二给定节点N4已经通过先前的潮波与第一给定节点N1交换了信息,则第二给定节点N4将发送碎波。另外,可选地或组合地,如果第二给定节点N4首先从第一给定节点N1接收到第二波,则第二给定节点N4将发送碎波。
这防止了两个节点进入无限往复,在无限往复中它们永远在来回发送信息。
在网络中,一个节点通常会有许多同时发生的波前连接,因此其有时会从其他节点接收到相同的事件包。它将简单地终止其接收到的任何重复事件。
图4和图5中的示例示出了事件和高度值。
第一给定节点1与第二给定节点N4同步。事件b5(有色的)是第一给定节点N1生成的最后事件,b5已知的所有先前事件都在点虚线下。
事件e5(有色的)是第二给定节点N4生成的最后事件,该事件已知的所有先前事件都在虚线下。
b5和e5都已知的所有事件都绘制为虚线圆圈。
来自第一给定节点N1的波前(用点虚线标出)是最新已知事件的所有高度列表。
这意味着波前第一给定节点N1是:
W1,b5=[-3,-2,1,-1,0,2]
同样,对于用蓝色虚线标记的第二给定节点N4:
W4,e5=[-4,-6,-1,-2,3,4]
通信的步骤如下:
第一给定节点N1首先处于图底部的空闲状态。第一给定节点N1向第二给定节点N4发起流言,并进入初始状态I。
1.初始波前:
第一给定节点N1连接到第二给定节点N4,并将波前W1,b5发送至第二给定节点N4。
此消息被标记为潮波类型。这使得第二给定节点4从空闲状态变为潮波状态T。
2.如果接收到标记为潮波类型的消息:
第二给定节点N4接收波前并与其波前W4,e5进行比较,并收集W1,b5之前的所有事件,这意味着事件e3、e4、e5、f3以及f4返回至第一给定节点N1。
此消息被标记为第一波类型。其使第二给定节点N1进入第一波状态F。
3.如果接收到标记为第一波的消息:
第一给定节点N1从第二给定节点N4接收波前,并存储第一给定节点N1未知的事件。
将接收到的波前与其波前进行比较,并且收集接收到的波前之前的事件,并返回至第一给定节点N1。
该示例中收集的是a1、b1、b2、b4、b5、c2、c3以及d3。
此消息被标记为第二波类型。其使第二给定节点N4进入第二波状态S。
如果第二给定节点N4已经向第一给定节点N1发送了第一波的消息,则第二给定节点N4将向第一给定节点1发送标记为碎波类型的消息,并且其必须将与第一给定节点N1的通信状态设定为无。
4.如果接收到标记为第二波的消息:
如果第二给定节点N4未知这些事件,则存储这些事件。
5.如果接收到标记为碎波的消息:
该接收信道的通信状态被设定为无。
该示例的通信流程如图5所示。
在该示例中,潮波8包含高度列表W1,b5=[-3,-2,1,-10,2]。
第一波6包含高度列表W4,e5=[-4,-6,-1,-2,3,4],以及事件列表1:{e3,e4,e5,f3,f4}。
第二波7包含事件列表1:{a1,b1,b2,b4,b5,c2,c3,d3}。
Claims (15)
1.一种通过流言协议实现有向无环图共识算法的方法,该方法通过使用关于流言协议的流言来实现有向无环图共识算法,该方法包括以下步骤:
使第一给定节点N1随机选择第二给定节点N4,并发送参考信息(8);
其特征在于,
基于所述参考信息(8),确定在其他节点事件之前的节点事件;
如果所述参考信息(8)意指所述第一给定节点N1的事件在所述第二给定节点N4的事件之前,则向所述第一给定节点N1发送取消信息(9),从而防止所述第一给定节点N1向所述第二给定节点N4发送DAG事件信息;
-如果所述参考信息(8)意指所述第二给定节点N4的事件在所述第一给定节点N1的事件之前,则使所述第一给定节点N1向所述第二给定节点N4发送DAG事件信息(6);
则使所述第二给定节点N4向所述第一给定节点N1发送DAG事件信息(7);
对于其他节点,以此类推,以便通过网络同步和传播所述DAG事件信息(6、7)。
2.根据权利要求1所述的通过流言协议实现有向无环图共识算法的方法,其特征在于,其中,所述参考信息与节点事件的顺序有关。
3.根据权利要求1至2中任一项所述的通过流言协议实现有向无环图共识算法的方法,其特征在于,其中,所述节点事件的顺序通过跟踪每个事件的纵坐标值来确定。
4.根据权利要求1至3中任一项所述的通过流言协议实现有向无环图共识算法的方法,其特征在于,其中,所述节点事件的顺序通过使每个节点跟踪一个被称为高度的整数值来确定,该整数值随着节点中创建的每个事件而增加。
5.根据前述权利要求1至4中任一项所述的通过流言协议实现有向无环图共识算法的方法,其特征在于,其中,所述参考信息(8)通过潮波发送,和/或所述取消信息(9)通过碎波发送。
6.根据权利要求1至5中任一项所述的通过流言协议实现有向无环图共识算法的方法,其特征在于,从所述第二给定节点至所述第一给定节点的DAG事件信息的第二次发送是DAG事件信息的第二波,也是最后一波。
7.根据权利要求1至6中任一项所述的通过流言协议实现有向无环图共识算法的方法,其特征在于,包括步骤:如果节点接收到不在预定信息交换序列中的信息和/或如果节点从已经与其交换信息的节点接收到信息,则发送另一取消信息。
8.一种通过流言协议实现有向无环图共识算法的系统,其特征在于,,所述系统通过使用关于流言协议的流言来实现有向无环图共识算法,该系统包括:
-使第一给定节点N1随机选择第二给定节点N4,并发送参考信息(8)的装置;
特征在于,
基于所述参考信息(8),确定在其他节点事件之前的节点事件的装置;
如果所述参考信息(8)意指所述第一给定节点N1的事件在所述第二给定节点N4的事件之前,向所述第一给定节点N1发送取消信息(8)的装置,从而防止所述第一给定节点N1向所述第二给定节点N4发送DAG事件信息(6、7);以及
如果所述参考信息(8)意指所述第二给定节点N4的事件在所述第一给定节点N1的事件之前,使所述第一给定节点N1向所述第二给定节点N4发送DAG事件信息(6)的装置,使所述第二给定节点N4向所述第一给定节点N1发送DAG事件信息(7)的装置;
对于其他节点,以此类推,以便通过网络同步和传播所述DAG事件信息(6、7)。
9.根据权利要求8所述通过流言协议实现有向无环图共识算法的系统,其特征在于,其中,所述参考信息与所述节点事件的顺序有关。
10.根据权利要求8或9所述的通过流言协议实现有向无环图共识算法的系统,其特征在于,包括跟踪每个事件的纵坐标值以确定节点事件顺序的装置。
11.根据权利要求8至10任一项所述的通过流言协议实现有向无环图共识算法的系统,其特征在于,包括使每个节点跟踪一个被称为高度的整数值的装置,该整数值随着在节点中创建的每个事件而增加,以确定所述节点事件的顺序。
12.根据权利要求8至11任一项所述的通过流言协议实现有向无环图共识算法的系统,其特征在于,包括通过潮波发送其中的所述参考信息(8)的装置,以及通过碎波发送所述取消信息(9)的装置。
13.根据权利要求8至12任一项所述的通过流言协议实现有向无环图共识算法的系统,其特征在于,限制所述第一给定节点N1和所述第二给定节点N4之间的DAG事件信息的传输次数的装置。
14.根据权利要求8至13任一项所述的通过流言协议实现有向无环图共识算法的系统,其特征在于,包括如果节点接收到不在预定信息交换序列中的信息和/或如果节点从已经与其交换信息的节点接收到信息,发送另一取消信息的装置。
15.一种网络,其特征在于,包括:一个或多个中央单元,尤其是一个或多个计算机化的中央单元(10);以及一种或多种连接(12),该连接至实现事务的附加命令单元(11),尤其是计算机化的命令单元,该一个或多个中央单元(10)包括权利要求8至14中任一项所述的系统(5a)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EPEP20020031.9 | 2020-01-20 | ||
EP20020031.9A EP3851974B1 (en) | 2020-01-20 | 2020-01-20 | System and a method implementing a directed acyclic graph (dag) consensus algorithm via a gossip protocol |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113225175A true CN113225175A (zh) | 2021-08-06 |
Family
ID=69191849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110077870.9A Pending CN113225175A (zh) | 2020-01-20 | 2021-01-20 | 通过流言协议实现有向无环图共识算法的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11706295B2 (zh) |
EP (1) | EP3851974B1 (zh) |
JP (1) | JP2021131850A (zh) |
KR (1) | KR20210094484A (zh) |
CN (1) | CN113225175A (zh) |
ES (1) | ES2961304T3 (zh) |
PL (1) | PL3851974T3 (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170075941A1 (en) * | 2016-11-28 | 2017-03-16 | Keir Finlow-Bates | Consensus system and method for adding data to a blockchain |
US20170132257A1 (en) * | 2015-08-28 | 2017-05-11 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
US20170308548A1 (en) * | 2015-08-28 | 2017-10-26 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
CN109344623A (zh) * | 2018-09-27 | 2019-02-15 | 福建福链科技有限公司 | 一种基于dag的去中心化方法及终端 |
CN110198233A (zh) * | 2019-05-09 | 2019-09-03 | 中国人民解放军国防科技大学 | 基于可信执行环境和有向无环图的区块链共识方法及系统 |
WO2019179744A1 (de) * | 2018-03-23 | 2019-09-26 | Siemens Aktiengesellschaft | Computerimplementiertes verfahren zum bereitstellen von daten, insbesondere für eine konformitätsverfolgung |
WO2019226099A1 (en) * | 2018-05-23 | 2019-11-28 | Haj Enterprise Ab | A system and a method for achieving consensus between multiple parties on an event |
CN110633327A (zh) * | 2015-08-28 | 2019-12-31 | 斯沃尔德斯股份有限公司 | 用于网络内的分布式数据库的方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10747753B2 (en) * | 2015-08-28 | 2020-08-18 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
US20170308648A1 (en) | 2016-04-20 | 2017-10-26 | Loop Med, Inc. | Patient status update and third party engagement system |
CN116820695A (zh) * | 2016-12-19 | 2023-09-29 | 海德拉哈希图有限责任公司 | 用于启用事件删除的分布式数据库的方法和设备 |
EP3560136B1 (en) * | 2016-12-22 | 2020-12-02 | Itext Group NV | Distributed blockchain-based method for saving the location of a file |
US10944546B2 (en) * | 2017-07-07 | 2021-03-09 | Microsoft Technology Licensing, Llc | Blockchain object interface |
US10375037B2 (en) * | 2017-07-11 | 2019-08-06 | Swirlds, Inc. | Methods and apparatus for efficiently implementing a distributed database within a network |
US11461310B2 (en) * | 2017-07-17 | 2022-10-04 | Rdx Works Ltd | Distributed ledger technology |
US20200118131A1 (en) * | 2018-10-11 | 2020-04-16 | International Business Machines Corporation | Database transaction compliance |
US11699184B2 (en) * | 2018-10-23 | 2023-07-11 | Tzero Ip, Llc | Context based filtering within subsets of network nodes implementing a trading system |
US20200394183A1 (en) * | 2019-06-12 | 2020-12-17 | Subramanya R. Jois | System and method of executing, confirming and storing a transaction in a serverless decentralized node network |
CA3141042A1 (en) * | 2019-06-13 | 2020-12-17 | Luis Eduardo Gutierrez-Sheris | System and method using a fitness-gradient blockchain consensus and providing advanced distributed ledger capabilities via specialized data records |
-
2020
- 2020-01-20 PL PL20020031.9T patent/PL3851974T3/pl unknown
- 2020-01-20 ES ES20020031T patent/ES2961304T3/es active Active
- 2020-01-20 EP EP20020031.9A patent/EP3851974B1/en active Active
-
2021
- 2021-01-19 JP JP2021006777A patent/JP2021131850A/ja active Pending
- 2021-01-20 CN CN202110077870.9A patent/CN113225175A/zh active Pending
- 2021-01-20 US US17/153,227 patent/US11706295B2/en active Active
- 2021-01-20 KR KR1020210007909A patent/KR20210094484A/ko active Search and Examination
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170132257A1 (en) * | 2015-08-28 | 2017-05-11 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
US20170308548A1 (en) * | 2015-08-28 | 2017-10-26 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
CN110633327A (zh) * | 2015-08-28 | 2019-12-31 | 斯沃尔德斯股份有限公司 | 用于网络内的分布式数据库的方法和装置 |
US20170075941A1 (en) * | 2016-11-28 | 2017-03-16 | Keir Finlow-Bates | Consensus system and method for adding data to a blockchain |
WO2019179744A1 (de) * | 2018-03-23 | 2019-09-26 | Siemens Aktiengesellschaft | Computerimplementiertes verfahren zum bereitstellen von daten, insbesondere für eine konformitätsverfolgung |
WO2019226099A1 (en) * | 2018-05-23 | 2019-11-28 | Haj Enterprise Ab | A system and a method for achieving consensus between multiple parties on an event |
CN109344623A (zh) * | 2018-09-27 | 2019-02-15 | 福建福链科技有限公司 | 一种基于dag的去中心化方法及终端 |
CN110198233A (zh) * | 2019-05-09 | 2019-09-03 | 中国人民解放军国防科技大学 | 基于可信执行环境和有向无环图的区块链共识方法及系统 |
Non-Patent Citations (2)
Title |
---|
ARUN ZACHARIAH等: "A Gossip-Based System for Fast Approximate Score Computation in Multinomial Bayesian Networks", 《2019 IEEE 35TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE)》 * |
高政风等: "基于DAG的分布式账本共识机制研究", 《软件学报》 * |
Also Published As
Publication number | Publication date |
---|---|
PL3851974T3 (pl) | 2024-03-04 |
EP3851974A1 (en) | 2021-07-21 |
US20210227027A1 (en) | 2021-07-22 |
EP3851974C0 (en) | 2023-07-26 |
KR20210094484A (ko) | 2021-07-29 |
JP2021131850A (ja) | 2021-09-09 |
US11706295B2 (en) | 2023-07-18 |
ES2961304T3 (es) | 2024-03-11 |
EP3851974B1 (en) | 2023-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7184959B2 (ja) | ネットワーク内の分散データベースのための方法及び装置 | |
KR102519197B1 (ko) | 블록체인 네트워크와 같은 네트워크에서 데이터의 전파 및 통신을 위한 컴퓨터 구현 시스템 및 방법 | |
KR20190097225A (ko) | 이벤트들의 삭제를 가능하게 하는 분산 데이터베이스를 위한 방법 및 장치 | |
US11489751B2 (en) | Blockchain-based methods and device for propagating data in a network | |
CN108123866B (zh) | 消息传输方法及装置 | |
CN108347350B (zh) | 一种通信方法及装置 | |
EP3779932A1 (en) | Blockchain network and establishment method therefor | |
US11895123B2 (en) | Systems and methods for random differential relay and network coding | |
Le et al. | A lightweight block validation method for resource-constrained iot devices in blockchain-based applications | |
CN109525645A (zh) | 一种收集分布式存储集群日志的方法与系统 | |
Li et al. | EdgeWatch: Collaborative investigation of data integrity at the edge based on blockchain | |
CN113923217B (zh) | 一种基于dag的异步拜占庭共识方法及系统 | |
CN114095499A (zh) | 区块链中继通信网络的中立性验证方法及装置 | |
Matsuura et al. | Region-based neighbor selection in blockchain networks | |
US20090083379A1 (en) | Enabling connections for use with a network | |
Duong et al. | TSIRP: A temporal social interactions-based routing protocol in opportunistic mobile social networks | |
CN113225175A (zh) | 通过流言协议实现有向无环图共识算法的系统和方法 | |
CN109195160B (zh) | 网络设备资源探查信息的防篡改存储系统及其控制方法 | |
CN115866189A (zh) | 一种云会议的视频数据安全传输方法 | |
CN110555764A (zh) | 一种去中心化环境下区块链达成一致性的方法及系统 | |
CN111371769B (zh) | 共识处理方法、共识节点、电子设备和可读存储介质 | |
CN116192868B (zh) | 一种应用于联盟链的并行拜占庭容错共识方法及终端 | |
CN114338692B (zh) | 一种基于分片集群扩容的数据平衡方法与设备 | |
WO2023020442A1 (zh) | 一种区块链的生成方法及装置 | |
CN108521449B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211118 Address after: 12 Dr. Grace Road, Vaduz, Liechtenstein 9490 Applicant after: I25s Co.,Ltd. Address before: 2B hugginswye Road, Hiller, Denmark 3400 Applicant before: I25s Business Management Consulting Co.,Ltd. |
|
TA01 | Transfer of patent application right |