Die Seite wird umgeblättert.
Das nächste Kapitel kommt in Sicht…
Psst… lies auf deine Weise.
Schriften und Designs findest du unter Darstellung. Deine Augen entscheiden mit.
Das nächste Kapitel kommt in Sicht…
The problem of getting separate processes to agree on values despite failures, subject to explicit communication and fault assumptions.
Vorlesefunktion dieses Browsers wird geprüft…
Diese Lektüre ist derzeit auf Englisch verfügbar. Die Oberfläche verwendet deine gewählte Sprache.
Das englische Original lesen →A fundamental problem in distributed computing and multi-agent systems is to achieve overall system reliability in the presence of a number of faulty processes. This often requires coordinating processes to reach consensus, or agree on some data value that is needed during computation. Example applications of consensus include agreeing on what transactions to commit to a database in which order, state machine replication, and atomic broadcasts.
Real-world applications often requiring consensus include cloud computing, clock synchronization, PageRank, opinion formation, smart power grids, state estimation, control of UAVs (and multiple robots/agents in general), load balancing, blockchain, and others.
Varying models of computation may define a "consensus problem". Some models may deal with fully connected graphs, while others may deal with rings and trees. In some models message authentication is allowed, whereas in others processes are completely anonymous. Shared memory models in which processes communicate by accessing objects in shared memory are also an important area of research.
In most models of communication protocol participants communicate through authenticated channels. This means that messages are not anonymous, and receivers know the source of every message they receive. Some models assume a stronger, transferable form of authentication, where each message is signed by the sender, so that a receiver knows not just the immediate source of every message, but the participant that initially created the message.
This stronger type of authentication is achieved by digital signatures, and when this stronger form of authentication is available, protocols can tolerate a larger number of faults.
The two different authentication models are often called oral communication and written communication models. In an oral communication model, the immediate source of information is known, whereas in stronger, written communication models, every step along the receiver learns not just the immediate source of the message, but the communication history of the message.
In the most traditional single-value consensus protocols such as Paxos, cooperating nodes agree on a single value such as an integer, which may be of variable size so as to encode useful metadata such as a transaction committed to a database.
A special case of the single-value consensus problem, called binary consensus, restricts the input, and hence the output domain, to a single binary digit {0,1}. While not highly useful by themselves, binary consensus protocols are often useful as building blocks in more general consensus protocols, especially for asynchronous consensus.
In multi-valued consensus protocols such as Multi-Paxos and Raft, the goal is to agree on not just a single value but a series of values over time, forming a progressively-growing history. While multi-valued consensus may be achieved naively by running multiple iterations of a single-valued consensus protocol in succession, many optimizations and other considerations such as reconfiguration support can make multi-valued consensus protocols more efficient in practice.
Ausgewählt und neu formatiert aus Consensus (computer science), von den Mitwirkenden, unter CC BY-SA 4.0. Revision 1371790437. Abschnitte und Formatierung wurden gekürzt; die verlinkte Revision bietet den vollständigen Kontext und die Beitragshistorie. Der Referenztext behält seine Lizenz. Zusätzliche Quellenlinks stammen aus dieser Revision und wurden hier nicht unabhängig geprüft.