TRANSCRIBE: Authenticated Algorithms for Byzantine Agreement
[日本語]
Abstract
Reaching agreement in a distributed system in the presence of faulty processors in a central issue for reliable computer systems. Using an authentication protocol, one can limit the undetected behavior of faulty processors to a simple failure to relay messages to all intended targets. In this paper we show that, in spite of such an ability to limit faulty behavior and no matter what message types or protocols are allowed, reaching (Byzantine) agreement requires at least
Key words. authentication, reliable distributed systems, Byzantine agreement, consistency, unanimity
Table of Contents
- Abstract
- 1. Introduction
- 2. Histories
- 3. The lower bound result
- 4. Polynomial algorithms using authentication
- 5 Conclusion
- Acknowledgements
- References
- Transcription Note
1. Introduction
In this paper we consider algorithms for achieving agreement among multiple processors. The context for this agreement is a network of unreliable processors that have a means for conducting several synchronized phases of information exchange, after which they must all agree on some set of information. We will assume for simplicity that this set of information consists of a single value from some set of values
The type of agreement we will study is called Byzantine agreement (LSP), unanimity (Db) or interactive consistency (PSL). It results when in the presence of undetected faulty processors, all correct (nonfaulty) processors are able to agree either on a value or on the conclusion that the originator of the value is faulty. More explicitly, Byzantine agreement is achieved when
- all correct processors agree on the same value, and
- if the sender is correct, then all correct processors agree on its value.
Implicit in I and II is the idea that the agreement is synchronous in the sence that all processors reach this agreement at the same time. In other words, there must be some real time at which each of processors has completed the execution of its algorithm for reaching agreement, and this time must be known and agreed on by all processors in advance.
Our analysis of problem is based on the worst case assumption that faulty processors are not predictable and possibly event malicious. An algorithm should sustain any strange behavior and faulty processors, even collusion to prevent the correct processors fom reaching agreement. Even if the correct processors cannot identify the faulty processors, they must still reach Byzantine agreement. The algorithm should not depend in any way on anticipated behavior of faulty processors.
We establish an exact lower bound for the number of phases of information exchange required. This lower bound
The algorithms considered provide a method for a single processor to send a single value to all other processors. Generalizations to many processors sending values to each other will be obvious.
We assume some reliable means of communication by which any correct processor can send a message to any other correct processor. For example, this reliability ight be achieved by sending duplicate messages along many paths in a network. In any case, for this paper, unless otherwise stated, we assume a completely connected, totally reliable communication network, and in counting the total number of messages sent, we ignore any duplication or repetition inherent in the communication medium. Note that we only count the messages sent by correct processors.
For algorithms using authentication, we assume a protocol that will prevent any processor from introducing a new value or message into the information exchange and claiming to have received it from another (DH), (RSA). In a typical authentication protocol (PSL), the transmitter appends a signature to the message to be sent. This signature contains a sample portion of the message encoded in such a way that any receiver can verify that the message is authentic and hat it was sent by the sender, but no processor can forge the signature of another. Thus no processor can exchange the content of a message undetectably.
All previous algorithms for reaching Byzantine agreement are exponential in the number of messages (
Lynch and Fischer established a lower bound of
We present an algorithm for Byzantine agreement with
2. Histories
In order to give proofs of correctness and especially to establish lower bounds, we will describe the message related behavior of the collection of processors during the phases of information exchange as a single object of directed graphs called phases. We intend the notion of history to capture any synchronous information exchange behavior, including any number of authentication protocols and the exchange of arbitrary message types. The lower bound result of §3 can be extended to asynchronous algorithms with a suitable generalization of the notion of phase.
A phase is a directed graph with nodes corresponding to processors and with labels on the edges. A label represents the information sent from a given processor to another during the given phase. We assume that when no messages is sent there is no edge. An
A subhistory of a history
An agreement algorithm on a class of histories
A correctness rule is actually a union of possibly distinct correctness rules, one for each processor. Likewise, the decision function is a union of individual decision functions.
An example of a simple correctness rule is the rule that each processor simply sign and relay (according to the authentication protocol) each incoming message of the previous phase to every other processor.
We say Byzantine agreement can be achieved for
- if
and are correct for in then , and - if the sender is correct at the first phase of
and is correct for in then where is the sender's value.
Note that we do not define Byzantine agreement for
3. The lower bound result
Theorem 1 (LSP). Byzantine agreement with authentication can be achieved for
processors with an most faults within phases, assuming .
Proof. For the correctness rule, at phase
Let
The following lower bound result is principal result of this section. It shows that the result of Theorem 1 is tight.
Theorem 2. Byzantine agreement cannot be achieved for
processors with at most faults within or fewer phases, provided .
The proof of Theorem 2 is inspired by, but a nontrivial generalization of, the proof given by Lynch and Fischer for the restricted case without authentication (FL). Lynch and Fischer used the
Proof of Theorem 2. Assume that Byzantine agreement can be achieved for some
Let
Define an equivalence relation on histories in
We say that a processor is hidden at phase
- there is a history
in , equivalent to , identical to through phase except for outedges of , with correct and all processors correct after phase ; and - if all other nodes at phase
are correct, then there is a history in , equivalent to , identical to through phase except for outedges of , with hidden and all other processors correct after phase .
Note that if a processor labels a hidden node, then changing the information on its inedge cannot affect the subhistory according to any other processor. In Fig. 2 the sender is hidden at phase 1.
In short we will show by induction that we can corect a node at any phase or hide a node if all other nodes at its phase are correct, and that the resulting history will be in
Case 1. Let
.
Let
be an incorrect node at phase of history in . If we correct the outedges of one at a time, then for each individual change there is a processor correct for that sees the same subhistory after the change as before. Thus each individual change preserves equivalence with . Since we cannot make any correct node incorrect, each individual change preserves membership in . Changes are only made to the outedges of . The final result has correct and all processors trivially correct after . Let
be a node at phase in history and and let all other nodes at phase be correct. Proceeding as in (a), we remove the outedges of , one at a time. Here we may change from correct to incorrect but since there were no other incorrect nodes at phase we could replace the th entry in the critical sequence by the label of , preserving membership in . The rest of the argument is the same as that for (a).
Case 2. Assume the induction hypotheses (a) and (b) for all phases after
.
Let
be an incorrect node at phase of a history in . The following steps will reserve membership in and equivalence to and change only outedges of and edges at later phases. - Correct all nodes after phase
(induction hypothesis (a)). - While incorrect outedges of
remain, - replace position
in the critical sequence by , a target of an incorrect outedge from ; - hide
at phase (induction hypothesis (b)); - correct
(some correct processor will see the same subhistories both before and after the change); - correct all nodes at phase
(induction hypothesis (a)).
- replace position
The final result
will have and all processors after phase correct. - Correct all nodes after phase
Assume all processos correct at phase
and let be a node at phase . The following steps will preserve membership in and equivalence to and change only outedges of and edges at later phases. - Correct all nodes at phase
(induction hypothesis (a)). - Replace the
th position in the critical sequence by the label of . - While outedges of
remain, - replace position
in the critical sequence by , a target of an outedge from ; - hide
at phase (induction hypothesis (b)); - remove
(some correct processor will see the same subhistories both before and after the change); - correct all processors after phase
(induction hypothesis (a)).
- replace position
- Hide the processor labelling
at phase (induction hypothesis (b)). The final result will have hidden at phase and all other processors after phase correct.
- Correct all nodes at phase
This completes the proof of Theorem 2. ∎
Remark. Whenever it is defined, Byzantine agreement can be achieved for
4. Polynomial algorithms using authentication
As mentioned in the introduction, we assume the existence of some authentication technique that prevents faulty processors from undetectably changing the content of messages.
For purposes of counting messages we supply the following specific syntax for the labels on the edges of directed graphs called phases.
- The set of values
is contained in the set of atomic messages. - A label is either an atomic message (an authentication) or a sequence of labels.
- An authentication is a label of the form
where is the name of a processor and is a label. - A sequence of labels is a label of the form
where and are labels.
Note that
A label
-
; - there is a label
and a processor or such that is part of and ; - there are labels
and such that , and is part of or .
A message is a label with no commas.
Thus, at any phase any processor can send any message to any other processor, except that no processor can alter an authenticated message received at a previous phase and forward it as an authenticated message received at a previous phase and forward it as an authenticated message at the next phase, nor can any processor pretend to have received an authenticated message it did not receive and forward that as an authenticated message. In the rest of this paper, attention will be restricted to histories consistent with the semantics of authentication. In particular, if
The basic idea behind the following two algorithms is to minimize the number of messages on each edge by restricting the cases in which a processor must relay a message. In the proof of Theorem 1, we assume a complete graph, so that when a correctly authenticated value is revealed to a correct processor, all correct processors will have it at the next phase. For Theorem 3 we restrict the number of values about which a processor must relay information. For Theorem 4 and 5 we restrict the paths over which messages travel so that when a correct processor receives a correctly authenticated value, other correct processors will receive it within some constant number of phases. Finally, for Theorem 6, we restrict the number of processors that are required to relay information. In this case when a correct relay processor receives a correctly authenticated value, the others will receive it one phase later, but correct processors that are not relay processors may receive the value long before it is known to the others.
Let
Theorem 3. Byzantine agreement can be achieved for
processors with at most faults within phases using at most messages.
Proof. Our correctness rule will be a restriction of that of the proof of Theorem 1 so that no processor relays more than two messages to any other, regardless of the number of messages received or the number of distinct paths incoming messages may have travelled. At the beginning of phase
Each correct processor sends at most two messages over each edge. Thus, the total number of messages sent by correct processors is bounded by twice the number of edges,
If the sender correctly sends
If we restrict the number of possible edges to
Theorem 4. Byzantine agreement can be achieved for
processors with at most faults within phases using at most messages.
Proof. We further restrict the correctness rule of the proof of Theorem 3 by arbitrarily choosing
The restricted network used in the proof of Theorem 4 is a
The diameter of a graph is the least upper bound of the lengths of shortest paths between pairs of vertices, where by length we mean the number of edges. If a graph is
Theorem 5. If
is the -diameter of a -connected network of processors with at most faults, then Byzantine agreement can be achieved within phases using at most messages.
Proof. We use the correctness rule and the decision function of Theorem 3, restricted of course so that only available edges of the graph are used for messages. If a processor extracts a new value at phase
Now we return to our assumption of a complete network and present our best algorithm for Byzantine agreement with authentication.
Theorem 6. Byzantine agreement can be achieved on a complete network in
phases with messages.
Proof. If
Passive processors modify the decision function so that it also counts the number of active processors that have sent more than one message, producing 0 if this number is at least
If the correct active processors never extract a value, then the correct passive processors will never extract one because there are at most
If every correct active processor has extracted more than one value by phase
The only difficult case is that in which each active processor extracts more than one value by phase
In this case, no correct active processor can extract more than one value by phase
This leaves the case this
5 Conclusion
The lower bound of
One possibility would be to look at algorithms that probably achieve Byzantine agreement. In a probabilistic context, if we had a realistic upper bound
While they do not reduce the minimum number of phases required, our algorithms do reduce the total number of messages required for Byzantine agreement from exponential to polynomial in the number of processors or in the number of bits exchange by correct processors. It would be useful o find algorithms that stop after a smaller number of phases whenever possible.
We have not established a tight lower bound on the number of messages required in the worst case. In (DR) lower bounds on the number of messages and the number of signatures that must be exchanged in order to obtain Byzantine agreement are obtained. The algorithm in (DR) requires fewer messages than ours but uses more phases.
Acknowledgements
The authors thank Nancy Lynch for helpful suggestions about this manuscript. The proof of Theorem 6 uses suggestion of Lynch made in private correspondence with respect to a different problem. Subsequent to the completion of the proof of Theorem 2 in its present form, the authors received a private communication from Michael Merritt containing a somewhat similar proof of this result.
References
- (DH) W. Diffie and M.Mellman, New direction in cryptography, IEEE Trans. Inform. Theory, IT-22 (1972), pp.644-654.
- (Da) D.Dolev, The Byzantine generals strike again, J. Algorithms, 3 (1982), pp.14-30.
- (Db) ─, Unanimity in an Unknown and unreliable environment, Proc. IEEE 22nd Symposium on Foundations of Computer Science, 1981, PP.159-168.
- (DR) D. Dolev and R. Reischuk, Bounds on information exchange for Byzantine agreement, Prof., ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Ottawa, Aug. 1982. See also IMB Research Report RJ3587 (1982).
- (FL) M. Fischer and N. Lynch, A lower bound for the time to assure interactive consistency, Inform. Proc. Letters, 14 (1982), pp. 183-186.
- (L) L. Lamport, using time instead of timeout for fault-tolerant distributed systems, Tech. Rep., Computer Science Laboratory, SRI International, June 1981.
- (LSP) L. Lamport, R. Shostak and M. Pease, The Byzantine generals problem, ACM Trans. Programming Languages and Systems, to appear.
- (PSL) M. Pease, R. Shostak and L. Lamport, Reaching agreement in the presence of faults, J. Assoc. Comput. Mach., 27 (1980), pp.228-234.
- (RSA) R. L. Rivest, A.Shamir and L. Adleman, A method for obtaining digital signatures and public-key cryptosystems, Comm. ACM, 21 (1978), pp.120-126.
Transcription Note
A 1983 paper on asynchronous Byzantine atomic broadcast. A transcription of an old PDF for the purpose of reading it in machine translation.
- DOLEV, D. STRONG H. R. Authenticated algorithms for Byzantine agreement. SIAM Journal on Computing, 1983, 12.4: 656-666.

