EP3834366A1 - System and method for consensus ordering of broadcast messages - Google Patents
System and method for consensus ordering of broadcast messagesInfo
- Publication number
- EP3834366A1 EP3834366A1 EP19847544.4A EP19847544A EP3834366A1 EP 3834366 A1 EP3834366 A1 EP 3834366A1 EP 19847544 A EP19847544 A EP 19847544A EP 3834366 A1 EP3834366 A1 EP 3834366A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- consensus
- node
- ordering
- event
- broadcast
- 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 34
- 238000004590 computer program Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 15
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 9
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1877—Measures taken prior to transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1881—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1895—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for short real-time information, e.g. alarms, notifications, alerts, updates
Definitions
- the present invention relates to a system and method for multi-party network protocols and, more specifically, to a system and method for implementing a protocol where messages are processed based on a consensus ordering amongst the nodes in the protocol.
- the present disclosure is related to addressing issues presented when
- a networking protocol for multiple nodes (e.g., computers or other devices) on a network.
- nodes e.g., computers or other devices
- MPC secure multi-party computation
- a particular participant may detect that another participant is deviating from the protocol and is therefore malicious.
- the term“malicious” refers to any reason for the failure to follow the protocol, such as software bug, hardware failure, cyber-attack, etc.
- a common approach in MPC implementations is for the party to broadcast a“dispute” message indicating that it is in dispute with the malicious party. Note that a dispute message necessarily indicates that at least one party involved is malicious but does not necessarily indicate which one, as a malicious party could choose to broadcast a dispute message pointing to an honest one.
- control of such ordering should ideally be at a higher level.
- the system includes a plurality of nodes in a network. Each node has one or more processors and a memory.
- the memory is a non-transitory computer-readable medium having executable instructions encoded thereon, such that upon execution of the instructions, one or more nodes in the plurality of nodes perform several operations, such as:
- one or more nodes further perform an operation of
- one or more nodes further perform an operation of broadcasting a dispute message, such that the dispute message is transmitted by a first node to indicate that the first node accuses the second node of failing to follow protocol.
- one or more nodes further perform an operation of designating a node in the network as a known malicious node, based on a number of other nodes with which the given node has disputes.
- the known malicious node is a sensor in a network, where the sensor is isolated from the network such that signals from the sensor are discarded by honest nodes in the network.
- the consensus broadcast reception protocol is based on a consensus ordering between a time message derived event A is received and between either the time the sender of the message derived event A became known malicious, or an offset from such time, such that:
- ordering of the two or more broadcast message derived events A and B modify a shared state, such that a consensus ordering protocols is used to maintain a consistent view of the shared state to ensure that whenever ordering of modifications could result in different end states, honest nodes are notified of which order to use.
- the present invention also includes a computer program product and a computer implemented method.
- the computer program product includes computer-readable instructions stored on a non-transitory computer-readable medium that are executable by a computer having one or more processors, such that upon execution of the instructions, the one or more processors of one or more nodes perform the operations listed herein.
- the computer implemented method includes an act of causing a computer to execute such instructions and perform the resulting operations.
- FIG. 1 is a block diagram depicting the components of a system according to various embodiments of the present invention.
- FIG. 2 is an illustration of a computer program product embodying an aspect of the present invention.
- FIG. 3 is a flowchart illustrating a process for consensus ordering according to various aspects of the present invention.
- FIG. 4 is a flowchart illustrating a consensus broadcast reception protocol according to various aspects of the present invention.
- FIG. 5 is a flowchart illustrating a vote count protocol according to various aspects of the present invention. [00031 ] DETAILED DESCRIPTION
- the present invention relates to a system and method for multi-party network protocols and, more specifically, to a system and method for implementing a protocol where messages are processed based on a consensus ordering amongst the nodes in the protocol.
- a non-limiting example of such a protocol that can implement the system is a multi-party network (e.g., multi-party computation (MPC)).
- MPC multi-party computation
- Messages are broadcast without any regard to consensus ordering. Once a broadcast message arrives at the recipient, the recipient needs to process it in a consensus order (that is - the correct functionality in some other part of the system depends on making sure that all“honest” recipients of a set of broadcast messages consume them in identical order, even if the order in which the messages initially arrived is potentially different at every recipient).
- any element in a claim that does not explicitly state“means for” performing a specified function, or“step for” performing a specific function, is not to be interpreted as a“means” or“step” clause as specified in 35 U.S.C.
- the first is a system for system.
- the system is typically in the form of a computer system or several computer systems in a network operating software or in the form of a“hard-coded” instruction set. This system may be incorporated into a wide variety of devices that provide different functionalities.
- the second principal aspect is a method, typically in the form of software, operated using a data processing system (computer).
- the third principal aspect is a computer program product.
- the computer program product generally represents computer- readable instructions stored on a non-transitory computer-readable medium such as an optical storage device, e.g., a compact disc (CD) or digital versatile disc (DVD), or a magnetic storage device such as a floppy disk or magnetic tape.
- a non-transitory computer-readable medium such as an optical storage device, e.g., a compact disc (CD) or digital versatile disc (DVD), or a magnetic storage device such as a floppy disk or magnetic tape.
- a non-transitory computer-readable medium such as an optical storage device, e.g., a compact disc (CD) or digital versatile disc (DVD), or a magnetic storage device such as a floppy disk or magnetic tape.
- CD compact disc
- DVD digital versatile disc
- magnetic storage device such as a floppy disk or magnetic tape.
- Other, non-limiting examples of computer-readable media include hard disks, read-only memory (ROM), and flash-type memories.
- FIG. 1 A block diagram depicting an example of at least one computer in the system of the present invention is provided in FIG. 1.
- each node when implemented in a network with multiple nodes, each node is an independent computer system that communicates with other nodes in the network.
- FIG. 1 provides a non limiting example of at least one of those computer systems 100.
- the computer system 100 can be a typical computer or, in other aspects, mobile devices as well as IoT devices (e.g., sensor network), or even a set of control computers on an airplane or other platform that uses the protocol (e.g., a multi-party computation protocol, etc.) for fault tolerance and cybersecurity purposes.
- protocol e.g., a multi-party computation protocol, etc.
- computer system 100 is configured to perform
- the computer system 100 may include an address/data bus 102 that is
- processors configured to communicate information.
- one or more data processing units such as a processor 104 (or processors) are coupled with the address/data bus 102.
- the processor 104 is configured to process information and instructions.
- the processor 104 is a microprocessor.
- the processor 104 may be a different type of processor such as a parallel processor, application-specific integrated circuit (ASIC), programmable logic array (PLA), complex programmable logic device (CPLD), or a field
- FPGA programmable gate array
- the computer system 100 is configured to utilize one or more data storage units.
- the computer system 100 may include a volatile memory unit 106 (e.g., random access memory (“RAM”), static RAM, dynamic RAM, etc.) coupled with the address/data bus 102, wherein a volatile memory unit 106 is configured to store information and instructions for the processor 104.
- the computer system 100 further may include a non-volatile memory unit 108 (e.g., read-only memory (“ROM”), programmable ROM (“PROM”), erasable programmable ROM
- the computer system 100 may execute instructions retrieved from an online data storage unit such as in“Cloud” computing.
- the computer system 100 also may include one or more interfaces, such as an interface 110, coupled with the address/data bus 102. The one or more interfaces are configured to enable the computer system 100 to interface with other electronic devices and computer systems.
- the communication interfaces implemented by the one or more interfaces may include wireline (e.g., serial cables, modems, network adaptors, etc.) and/or wireless (e.g., wireless modems, wireless network adaptors, etc.) communication technology.
- wireline e.g., serial cables, modems, network adaptors, etc.
- wireless e.g., wireless modems, wireless network adaptors, etc.
- the computer system 100 may include an input device 112
- the input device 112 is coupled with the address/data bus 102, wherein the input device 112 is configured to communicate information and command selections to the processor 100.
- the input device 112 is an alphanumeric input device, such as a keyboard, that may include alphanumeric and/or function keys.
- the input device 112 may be an input device other than an alphanumeric input device.
- the computer system 100 may include a cursor control device 114 coupled with the address/data bus 102, wherein the cursor control device 114 is configured to communicate user input information and/or command selections to the processor 100.
- the cursor control device 114 is implemented using a device such as a mouse, a track-ball, a track pad, an optical tracking device, or a touch screen.
- the cursor control device 114 is directed and/or activated via input from the input device 112, such as in response to the use of special keys and key sequence commands associated with the input device 112.
- the cursor control device 114 is configured to be directed or guided by voice commands.
- the computer system 100 further may include one or more
- a storage device 116 coupled with the address/data bus 102.
- the storage device 116 is configured to store information and/or computer executable instructions.
- the storage device 116 is a storage device such as a magnetic or optical disk drive (e.g., hard disk drive (“HDD”), floppy diskette, compact disk read only memory (“CD-ROM”), digital versatile disk (“DVD”)).
- a display device 118 is coupled with the address/data bus 102, wherein the display device 118 is configured to display video and/or graphics.
- the display device 118 may include a cathode ray tube (“CRT”), liquid crystal display (“LCD”), field emission display (“FED”), plasma display, or any other display device suitable for displaying video and/or graphic images and alphanumeric characters recognizable to a user.
- CTR cathode ray tube
- LCD liquid crystal display
- FED field emission display
- plasma display or any other display device suitable for displaying video and/or graphic images and alphanumeric characters recognizable to a user.
- the computer system 100 presented herein is an example computing
- the non-limiting example of the computer system 100 is not strictly limited to being a computer system.
- the computer system 100 represents a type of data processing analysis that may be used in accordance with various aspects described herein.
- other computing systems may also be implemented.
- the spirit and scope of the present technology is not limited to any single data processing environment.
- one or more operations of various aspects of the present technology are controlled or implemented using computer-executable instructions, such as program modules, being executed by a computer.
- program modules include routines, programs, objects, components and/or data structures that are configured to perform particular tasks or implement particular abstract data types.
- an aspect provides that one or more aspects of the present technology are implemented by utilizing one or more distributed computing environments, such as where tasks are performed by remote processing devices that are linked through a communications network, or such as where various program modules are located in both local and remote computer- storage media including memory- storage devices.
- FIG. 2 An illustrative diagram of a computer program product (i.e., storage device) embodying the present invention is depicted in FIG. 2.
- the computer program product is depicted as floppy disk 200 or an optical disk 202 such as a CD or DVD.
- the computer program product generally represents computer-readable instructions stored on any compatible non-transitory computer-readable medium.
- “instructions” as used with respect to this invention generally indicates a set of operations to be performed on a computer, and may represent pieces of a whole program or individual, separable, software modules.
- Non-limiting examples of“instruction” include computer program code (source or object code) and“hard-coded” electronics (i.e. computer operations coded into a computer chip).
- The“instruction” is stored on any non-transitory computer-readable medium, such as in the memory of a computer or on a floppy disk, a CD-ROM, and a flash drive. In either event, the instructions are encoded on a non-transitory computer-readable medium.
- This disclosure provides a networking protocol for multiple nodes (e.g.,
- broadcast operations are transmissions such that if at least one recipient receives the message, then all recipients participating in the exchange would receive the same message, even if the sender is trying to“cheat”. This property can be ensured either by network hardware, such as an Infmiband fabric, or via a separate underlying broadcast subprotocol, such as the Bracha’s asynchronous broadcast protocol (see Literature
- the protocol is designed to allow a global agreement (among non-malicious nodes or“honest” nodes) on the ordering between two or more broadcast events. For example, if two different senders broadcast at approximately the same time and different recipients see the broadcasts in different order, then the protocol would result in some consensus ordering, where all honest nodes agree to consider the two events as happening in a particular order. When all non- malicious nodes see the events in the same order (e.g. if they happened far apart), then the consensus ordering would coincide with that.
- the protocol is capable of ordering any broadcast-based events, not just individual broadcasts (e.g., ordering “10 seconds after broadcasts A, B, and C were all received” vs“broadcast D was received”).
- This protocol of the present disclosure was developed for at least the following scenario and can be implemented in a variety of applications, including shared states, sensor networks, etc.
- MPC multi-party computation
- the nodes perform some common tasks using a secure MPC protocol.
- a particular participant may detect that another participant is deviating from the protocol and is therefore malicious.
- a common approach in MPC implementations is for the party to broadcast a“dispute” message indicating that it is in dispute with the malicious party.
- a dispute message is some sort of a message from a party indicating that they have a dispute with another party, such as“[I have a] dispute with X”.
- a typical network protocol would have a notion of a“header”, where one field of the header would be designated as“message type”, and a message body.
- An example implementation would send a message, where the message type field in the header would contain a numerical value assigned by the protocol designer to indicate the“dispute” message type, and the body would just be the identification of the node that the sender is in dispute with.
- the protocol of the present disclosure can be used to allow distributed vehicles/aircraft to efficiently submit jobs or otherwise communicate with distributed servers in a secure manner.
- the present disclosure provides a system implementing a networking protocol for multiple nodes through consensus ordering of broadcast messages. Before describing the protocol in detail, it is helpful to provide a preliminary understanding of concepts associated with the present protocol.
- the protocol applies to a network where each party can send a group message to all other parties (possibly including itself). While the terminology of “broadcast” is broadly used for such message transmissions, it also encompasses other related technologies, such as multicast. This protocol also applies to networks where the broadcast propagation delay (the time between the message is sent and the time it is received by all participants) is bounded. The maximal propagation delay of a broadcast is denoted herein as“T4”.
- T6 is a predetermined time period and is denoted as a time period such that if a given node receives two broadcast messages more than a predetermined time period (i.e., T6) apart, it knows that all nodes received those messages in the same order.
- T6 is at most 2*T4 (one could use 2*T4 for simplicity, but the use of a separate T6 constant allows for more generality and assists in explicitly describing the invention).
- an assumption is made that the network has a broadcast-like operation. It is further assumed that, however that operation is implemented, the relevant timing properties are known. In particular, it is known how long it can take for such operation to complete, once initiated. In other words, the worst-case broadcast completion time is denoted as T4. This implies that if two broadcast messages (from potentially different senders) are received at least 2*T4 apart, then it is guaranteed that all the recipients will see the messages in the same order. It may be possible to determine a time constant smaller than 2*T4 that would still have such property.
- the starting point for the consensus ordering protocol is that each node from a fixed set of nodes (each node knows what the set is) in a network receives the same broadcast messages in some order; subject to the T6 constraint that the order of the messages may differ from one receiver to another.
- the consensus ordering protocol that is at the heart of the present disclosure is executed by a larger system that incorporates such a protocol when there is a need for the larger system to “consistently” define an ordering between broadcast-derived events A and B.
- “consistently” means that the determination should be the same at all honest nodes. Note that this consistency would only be needed by such larger system when the ordering actually matters (for example, when both A and B are modifying the same portion of a global shared state, or when one of them is“X became known malicious” and the other is“X sent a broadcast” and there is a need to have an agreement on whether to accept the actual message sent by X, or to ignore X and accept 0 instead). To achieve this consistency the nodes would execute the consensus ordering protocol specified below. At the conclusion of the protocol each node outputs either“A consensus-before B”, or“B consensus- before A” and the protocol guarantees that all honest nodes would output the same result regardless of the behavior of dishonest nodes.
- a system implementing a secure MPC protocol could use this protocol as discussed above.
- Another example could be a distributed file system or a distributed database ordering write/write or read/write races when they refer to the same data.
- Provided in further detail below are a pair of mutually interdependent algorithms; the consensus ordering protocol and the consensus broadcast reception protocol.
- the protocol begins through any broadcast-derived events 300 of A and B.
- each honest node begins by determining an order and timing of receipt of at least two messages, A and B. Thereafter, each honest node executes the following steps:
- Lemma (a property of this part of the consensus ordering protocol that makes it easier to see that the overall consensus ordering protocol has the desired property): If this happened (more generally - if there are honest votes on both sides), then all honest nodes have sent a request for vote;
- Receive Request to Vote 320 and Add a Dispute or Vote 316 After receiving a request to vote from any node (including a node that the user may be operating) before it became known malicious (locally before, not “before”): i. If at least one event (either A or B) is seen locally more than 2*T6 before receiving the request, add a dispute with requestor;
- Lemma will either see both events within T4, or within 2*T4+T6 the requestor would become designated as known malicious
- Step 4 is a supporting step in that the other steps are directed to how a particular node decides its own output, while Step 4 is directed to helping other nodes make a decision which is an independent sequence as shown in FIG. 3.
- the protocol needs to wait until there are n votes.
- malware nodes may refuse to vote, but if a node maliciously delays its vote too much, then it would result in: 1) A dispute being added with that node in Step 4.iv (unless there was already a dispute), 2) As each honest node gets to Step 4.iv, there will eventually be t+l disputes (as there are at least t+l honest nodes) disputes and the node would become known malicious (as discussed above), and 3) Now it becomes possible to replace the anticipated vote from the known malicious node with 0 (again, as discussed above), and that eventually brings the total number of votes to n.
- the consensus broadcast reception protocol is used to guarantee that all nodes in the network consensus-receive the same value.
- the consensus broadcast reception protocol process proceeds as follows:
- the present disclosure also provides an alternative shifted consensus
- a rare event is case specific depending on the particular implementation and developer.
- discovery of a malicious node more than Z could be pre-defmed as a rare event.
- the system implements the basic consensus broadcast reception protocol described above, replacing “sender became known malicious” with“T6 after the sender became known malicious”.
- The“uncertainty” period is the period where the reception of the network broadcast message would result in the consensus ordering protocol called by the consensus broadcast protocol being required to execute its voting step 3 above.
- the cost of shifting the uncertainty period is doubling the length of period when the system may be willing to wait for and accept broadcasts from nodes that just became known malicious, before the network or system can start completely ignoring them (e.g., block broadcasts from the node, isolating broadcasts from the node for review only by an administrator node while terminating broadcasts to other nodes in the network).
- the recursion happens whenever the consensus ordering protocol calls the consensus broadcast reception protocol in step 3(ii), since that would in turn call the consensus ordering protocol.
- the final optimization is to batch the votes that the consensus ordering protocol takes in service of a consensus broadcast reception protocol, which results in the following optimized consensus broadcast protocol as shown in FIG. 5 :
- control units have a consistent view that one of the sensors is faulty, the system could then isolate or otherwise stop receiving data from the relevant sensor (as it is deemed“malicious” in this context).
- the control units have a consistent view that one of the redundant controllers is faulty, that particular faulty controller can be isolated or otherwise removed from communications with the remaining control units.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862716680P | 2018-08-09 | 2018-08-09 | |
US201862722754P | 2018-08-24 | 2018-08-24 | |
US16/433,928 US10887092B2 (en) | 2018-08-09 | 2019-06-06 | Anonymous allocation and majority voting in a compromised environment |
PCT/US2019/038724 WO2020033048A1 (en) | 2018-08-09 | 2019-06-24 | System and method for consensus ordering of broadcast messages |
Publications (2)
Publication Number | Publication Date |
---|---|
EP3834366A1 true EP3834366A1 (en) | 2021-06-16 |
EP3834366A4 EP3834366A4 (en) | 2022-04-27 |
Family
ID=69415574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP19847544.4A Pending EP3834366A4 (en) | 2018-08-09 | 2019-06-24 | System and method for consensus ordering of broadcast messages |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3834366A4 (en) |
CN (1) | CN112425120B (en) |
WO (1) | WO2020033048A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794566B (en) * | 2021-08-25 | 2022-06-03 | 清华大学 | Re-voting binary consensus method, device and storage medium |
CN114710374B (en) * | 2022-03-14 | 2023-04-18 | 中国科学院软件研究所 | Asynchronous block chain consensus method and system for data broadcasting and consensus decoupling |
CN116170153B (en) * | 2023-01-19 | 2024-06-21 | 清华大学 | Asynchronous public subset consensus method and device |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356857B1 (en) * | 1998-08-17 | 2002-03-12 | Aspen Technology, Inc. | Sensor validation apparatus and method |
US7031308B2 (en) * | 2000-10-30 | 2006-04-18 | The Regents Of The University Of California | Tree-based ordered multicasting method |
US6931431B2 (en) * | 2001-01-13 | 2005-08-16 | International Business Machines Corporation | Agreement and atomic broadcast in asynchronous networks |
US7957355B1 (en) * | 2005-05-27 | 2011-06-07 | Heiferling Mark J | Swarm autonomous routing algorithm for mobile ad hoc network communications |
US8521078B2 (en) * | 2008-03-21 | 2013-08-27 | Qualcomm Incorporated | Common interface protocol for sending FR-RDS messages in wireless communication systems |
GB2474074A (en) * | 2009-10-05 | 2011-04-06 | Your View Ltd | Electronic voting |
US9032466B2 (en) * | 2010-01-13 | 2015-05-12 | Qualcomm Incorporated | Optimized delivery of interactivity event assets in a mobile broadcast communication system |
US9569253B1 (en) * | 2012-06-04 | 2017-02-14 | Google Inc. | Ensuring globally consistent transactions |
FR3026911B1 (en) * | 2014-10-01 | 2017-11-03 | B<>Com | METHOD FOR PROCESSING INTRUSION IN A WIRELESS COMMUNICATION NETWORK, DEVICE, AND COMPUTER PROGRAM |
US9875510B1 (en) * | 2015-02-03 | 2018-01-23 | Lance Kasper | Consensus system for tracking peer-to-peer digital records |
US9568943B1 (en) * | 2015-04-27 | 2017-02-14 | Amazon Technologies, Inc. | Clock-based distributed data resolution |
US9390154B1 (en) * | 2015-08-28 | 2016-07-12 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
CN106529951A (en) * | 2016-12-30 | 2017-03-22 | 杭州云象网络技术有限公司 | Node consensus verification method under league chain network through asynchronous mode |
CN107196772B (en) * | 2017-03-24 | 2020-03-13 | 创新先进技术有限公司 | Method and device for broadcasting message |
CN110430064B (en) * | 2017-03-30 | 2020-12-04 | 腾讯科技(深圳)有限公司 | Block chain system, message processing method and storage medium |
CN107341660B (en) * | 2017-05-27 | 2021-06-29 | 唐盛(北京)物联技术有限公司 | Block chain bottom layer consensus mechanism and block chain system based on same |
-
2019
- 2019-06-24 CN CN201980045977.6A patent/CN112425120B/en active Active
- 2019-06-24 WO PCT/US2019/038724 patent/WO2020033048A1/en unknown
- 2019-06-24 EP EP19847544.4A patent/EP3834366A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN112425120B (en) | 2023-05-23 |
EP3834366A4 (en) | 2022-04-27 |
WO2020033048A1 (en) | 2020-02-13 |
CN112425120A (en) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11321303B2 (en) | Conflict resolution for multi-master distributed databases | |
US8769536B2 (en) | Processing a batched unit of work | |
WO2020033048A1 (en) | System and method for consensus ordering of broadcast messages | |
US11604811B2 (en) | Systems and methods for adaptive data replication | |
US8984530B2 (en) | Queued message dispatch | |
Townend et al. | Fault tolerance within a grid environment | |
US20120102355A1 (en) | Consistent messaging with replication | |
EP2639759A1 (en) | Aggregation and semantic modeling of tagged content | |
EP3674909A1 (en) | Data transaction processing method, device, and electronic device | |
EP2921974A1 (en) | Data restoration method and system | |
US20180167475A1 (en) | Dynamic distribution of persistent data | |
CN110968586A (en) | Distributed transaction processing method and device | |
EP4030314A1 (en) | Blockchain-based data processing method, apparatus and device, and readable storage medium | |
CN110727507B (en) | Message processing method and device, computer equipment and storage medium | |
US10862908B2 (en) | System and method for consensus ordering of broadcast messages | |
EP4198861A1 (en) | Information processing method and apparatus for blockchain network, and device and storage medium | |
CN105373563B (en) | Database switching method and device | |
CN111282263A (en) | Event message processing method and device, electronic equipment and readable storage medium | |
Shen et al. | Achieving data consistency by contextualization in web-based collaborative applications | |
CN112825525B (en) | Method and apparatus for processing transactions | |
CN112202724A (en) | Data aggregation method and device of all-in-one arrangement mode | |
CN109062642B (en) | Control message notification method and device | |
CN107949856B (en) | Email parking lot | |
US9904724B1 (en) | Method and apparatus for message based security audit logging | |
US20240311807A1 (en) | Blockchain-based transaction processing method, apparatus, and device, computer-readable storage medium, and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20201211 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
A4 | Supplementary search report drawn up and despatched |
Effective date: 20220325 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04L 12/18 20060101AFI20220321BHEP |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230525 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20240131 |