Simple Is COOL: Graded Dispersal and Its Applications for Byzantine Fault Tolerance
Abstract
The COOL protocol of Chen (DISC’21) is a major advance that enables perfect security for various tasks (in particular, Byzantine Agreement in Synchrony and Reliable Broadcast in Asynchrony). For an input of size bits, its communication complexity is , which is optimal up to a factor. Unfortunately, Chen’s analysis is rather intricate and complex.
Our main contribution is a simple analysis of a new variant of COOL based on elementary counting arguments. Our main consistency proof takes less than two pages (instead of over 20 pages), making the COOL protocol much more accessible. In addition, the simple analysis allows us to improve the protocol by reducing one round of communication and reducing the communication complexity by 40%.
In addition, we suggest a new way of extracting the core properties of COOL as a new primitive, which we call Graded Dispersal. We show how Graded Dispersal can then be used to obtain efficient solutions for Byzantine Agreement, Verifiable Information Dispersal, Gradecast, and Reliable Broadcast (in both Synchrony and Asynchrony, where appropriate). Our improvement of COOL directly applies here, and we improve the state-of-the-art in all those primitives by reducing at least one round and 40% communication.
Keywords and phrases:
Byzantine Agreement, BroadcastFunding:
Gilad Asharov: Supported by the Israel Science Foundation (grant No. 2439/20), and by JPM Faculty Research Award.Copyright and License:
![[Uncaptioned image]](x1.png)
2012 ACM Subject Classification:
Security and privacy ; Security and privacy Cryptography ; Security and privacy Information-theoretic techniques ; Security and privacy Distributed systems securityEditors:
Raghu MekaSeries and Publisher:

1 Introduction
Byzantine agreement (BA), introduced by [27, 22], is a fundamental problem in distributed protocol design. It involves parties, each holding an initial input , who must agree on a common value . BA requires satisfying two key properties: Agreement, where all honest parties must output the same value, and Validity, which ensures that if all honest parties begin with the same initial value , their output should also be . These security properties must be guaranteed even in the presence of up to corrupted parties, which may deviate arbitrarily from the protocol’s specifications. This work focuses on perfect security with optimal resilience ().
It is known that agreement on a single bit requires bits of communication when the protocol is deterministic [16], or even randomized, against strongly-adaptive adversaries [3] (for any ). Moreover, agreeing on an bit message requires communication, since we might have parties that do not hold the agreed message as input and to receive that message. Furthermore, it has been shown that for any Byzantine agreement protocol with perfect security, there exists an execution that requires rounds [18]. These impossibilities imply that the best one can hope for is for agreeing on a message of size . However, achieving this bound has been an elusive goal for extensive research.
The baseline protocol [10] for binary Byzantine agreement has a communication complexity of and runs in rounds. For messages of size , this implies a communication complexity of . Liang and Vaidya [23] proposed a protocol with a communication complexity of communication; Ganesh and Patra [19], and Loveless, Dreslinski, and Kasikci [24] introduced protocols with a complexity of communication; Subsequently, Nayak, Ren, Shi, Vaidya, and Xiang [25] improved on this with a protocol that achieves communication.
The COOL protocol.
The paper of Chen [13] further advanced the state of the art by presenting a deterministic byzantine agreement protocol, named COOL (stands for coded BA protocol), that achieves communication complexity, which is only a logarithmic factor away from the best possible one can hope for. He shows:
Theorem 1.1 (Byzantine agreement [13]).
There exists a perfectly secure and deterministic Byzantine agreement protocol over a synchronous network for messages of size bits with communication complexity of with rounds, resilient to malicious faults.
Unfortunately, the analysis in [13] is complex and lengthy, making it difficult to understand. Our goal is to provide a simplified analysis of the protocol, offering new insights into the technique and its limitations. The COOL approach has already been applied to related primitives, such as broadcast and gradecast [30] in the synchronous settings, and reliable broadcast in asynchronous settings [6], and holds promise for broader applications as well.
1.1 Our Contributions
In this paper, we provide the following contributions:
Graded dispersal.
The COOL protocol of [13] is tailored for Byzantine agreement, and its core was later adopted for reliable broadcast [6] and gradecast by [30]. We show that this core of COOL is essentially a new variant of dispersal (a part of a Verifiable Information Dispersal protocol [12]). We call this new variant graded dispersal. We note that dispersal typically needs a designated sender; in our abstraction, we assume the parties have already received the message from some “virtual sender” and wish to verify that they have enough information to retrieve and agree on it later. Defining this graded dispersal variant allows us to distill the novelty of COOL’s protocol consistency check and build applications that are based on COOL in a more modular fashion.
Simple analysis.
The analysis in [13] is rather involved and relies on various tools; citing [13] “the proof borrows tools from coding theory, together with graph theory and linear algebra”. As mentioned above, this also makes the result hard to verify. We provide a new analysis of our graded dispersal protocol. Notably, our analysis is significantly more concise, much shorter than the original COOL analysis, and uses only simple counting. Given the centrality of the result and its simple analysis, we believe that this protocol will be a good candidate for being part of a curriculum in distributed computing classes as a prime example of the centrality of polynomials in obtaining efficient perfect security.
Applications.
We show how to apply graded dispersal to achieve the following (1) gradecast (synchrony); (2) multi-valued Byzantine agreement; (3) broadcast; and (4) reliable broadcast (asynchrony).
Gradecast introduced by Feldman and Micali [17] (“graded-broadcast”) is a fundamental primitive used for various consensus algorithms.
Bracha’s Reliable Broadcast [11] is a useful building block in asynchronous protocols. The recent paper of Das, Xiang, and Ren [15] has a detailed survey of the usefulness of communication-efficient Reliable Broadcast. In particular, it implies Asynchronous Verifiable Secret Sharing and Asynchronous Distributed Key Generation [4].
One round less.
Our new protocol reaches agreement faster than the COOL protocol. Specifically, while COOL requires three rounds of reporting agreements to one another (see more in-depth in Section 2), we show that two rounds suffice. This improvement becomes particularly significant when utilizing the COOL technique in constant round protocols such as reliable broadcast and gradecast - and improves the state-of-the-art for those primitives.
Less communication.
Our new protocol improves the communication complexity by 40%. Specifically, the protocol of COOL divides the messages into blocks of polynomials of degree . Our protocol works when dividing the messages into blocks of degree . Changing the degree enhances the state-of-the-art in all our applications – multi-valued byzantine agreement, broadcast, gradecast, and reliable broadcast.
We consolidate the costs of gradecast and reliable broadcast in Table 1.
2 Technical Overview
In this section, we provide a technical overview of the different primitives. We denote by the number of parties and by the number of corrupted parties. We assume a finite field of size at least (and for simplicity, ). We let bound the number of corrupted parties (corresponding to optimal resilience in the plain model, that is, in the absence of a PKI).
We consider both synchronous communication, in which protocols proceed in rounds (Section 2.1), and asynchronous communication networks (Section 2.2). Messages between honest parties in the asynchronous network are guaranteed to be delivered, but the adversary can introduce arbitrary delays.
2.1 Synchrony
The COOL protocol in a nutshell.
The protocol of COOL divides the value of size into blocks, where each block is a polynomial of degree- over a finite field . For simplicity of exposition, assume that (i.e., we have a single block – one polynomial).
Two parties and that wish to check whether their polynomials are identical can do so efficiently using randomization and with a statistical error based on the Schwartz-Zippel lemma [29, 31]. Each pair evaluates its respective polynomials on a random point and verify that . This approach was taken in [1] for gradecast and reliable broadcast. The novelty of COOL protocol is that it achieves a similar effect of equality check of polynomials, deterministically, and error free. Each pair of parties exchange just points, as in the statistical case. Specifically, sends to the points and only, and verifies that those two points agree with its polynomial . If a party agrees with parties - then the party is happy. The protocol proceeds in a few rounds, during which each party reports to others whether it is happy. A party remains happy if at least parties in its agreement set report they are happy. Interestingly, the proof of COOL shows that after three rounds of repeating this process, all parties that report that they are happy must hold the same polynomial.
Graded dispersal.
We formalize a variant of dispersal, which, as mentioned, distills the consistency property achieved by COOL. We require the following properties from a graded dispersal protocol. Each party holds some polynomial as input (of degree-). The parties output where is a polynomial of degree- (might be ), and is a grade in . The guarantees are: (1) Validity: If all honest parties start with the same polynomial , then they all must output ; (2) Graded agreement: If some honest party outputs then at least honest party output with a grade at least , and all other honest parties output . Note that we have no guarantee in the case where no honest party outputs grade 2, i.e., in that case, different honest parties might have different polynomials as output (with grade 1). Furthermore, our formalization of graded dispersal allows two honest parties to output grades of and , respectively. This is different from the typical definition of graded primitives (such as gradecast), where if an honest party outputs grade , then all honest parties output a grade at least . However, looking ahead, we show that this weak formalization of graded dispersal suffices for all the applications we consider, including reaching a full byzantine agreement.
We implement graded-dispersal based on the COOL protocol. The crux of our contribution is in providing a simple proof for this construction. Moreover, we show we can achieve it in one round of reporting happiness less than COOL. Specifically, we show that:
-
1.
Initially, only two sets of parties, and , holding polynomials and , respectively, can report that they are happy after the initial pairwise checks. Since two polynomials might agree on only common points, three parties holding distinct polynomials cannot have enough agreements and cannot all be happy. See Claim 3.4.
-
2.
We show that if there is one set of parties , all holding the same polynomial and , then only parties from can output grade at least , and all other parties output . Intuitively, if another set of parties with holds polynomial , then those parties cannot remain happy due to inconsistencies with the larger set . See Claim 3.5. Importantly, a party outputs grade 2 if it is happy and it received at least reports from its agreement set in the last round. This implies that it received at least reports from honest parties. In that case, a party can output grade , and the other happy parties must also hold , and we have at least parties with the same (and only) output polynomial, .
-
3.
If no large set exists, no party outputs grade 2 (no party is happy and received reports of happiness from its agreed set in the last round). See Claim 3.6.
Our graded dispersal works in three rounds and requires for inputs of size .
Data dissemination.
In Section 3.2, we show a protocol that allows parties to reconstruct the output once there are at least honest parties that hold the same input (and other honest parties hold ). Essentially, this is precisely the guarantee we have once one party outputs 2 in the graded dispersal protocol. Simply, each party that has an input sends to each party its point . then takes as its point the majority value that it received, and since honest parties that hold and there are at most corrupted parties, we are guaranteed that the majority of is . Once each party has a point , the parties reconstruct by sending their points to one another and using Reed-Solomon decoding.
Given graded dispersal and data dissemination, we provide three applications in synchrony.
Application I: Gradecast.
Gradecast is a relaxation of broadcast and involves a sender that holds a message , and all parties output with . If the sender is honest, all parties must output . The guarantee is that if one honest party outputs , all honest parties must output with . We remark that the definition that we provide is a relaxation of Gradecast that was formalized by Katz and Koo [21], which allows the parties to output different messages when there is no honest party with grade (just as in our graded dispersal). We are unaware of any application of gradecast in which the relaxed definition does not suffice.
We show how to implement gradecast using graded dispersal and data dissemination. Specifically, the sender sends its message to all parties, and the parties then run graded-dispersal. After that, they run data dissemination and output the message they received in the data dissemination with their grade in the graded dispersal. It is easy to see that the requirements for gradecast are met.
The last round of graded dispersal can be run parallel to the first round of data dissemination, so we can get a protocol that runs in a total of rounds. This results in an improvement of 3 rounds compared to the state-of-the-art [30]; yet, our guarantee is slightly weaker. We also show how to satisfy the [17] definition at the expense of adding one more round. We then get a strict improvement of 2 rounds with the same security definition (and reduce communication by 40%). The improvement of 2 rounds is due to some redundancy in the protocol of [30].
We emphasize that the “relaxed” gradecast suffice for all the applications we are aware of, specifically to achieve broadcast with an expected constant number of rounds (see Section 2.3). We therefore advocate using the relaxed version.
Application II: Multi-Valued Byzantine Agreement.
We compose graded-dispersal, with binary agreement (on whether a party has grade 2), and data dissemination to achieve multi-valued byzantine agreement. As mentioned, our protocol has one less round than the state-of-the-art and less communication. The protocol runs in with rounds (due to the binary agreement).
Application III: Broadcast.
Again, by composing graded-dispersal, binary agreement, and data dissemination, we obtain a broadcast protocol that runs in communication and rounds.
For gradecast and broadcast, we also show a variant where the protocol is balanced: each party sends or receives , and there is no party whose communication load is higher than the others. This comes at the expense of adding an extra round.
2.2 Asynchrony
In reliable broadcast, there is a sender who holds a message . If the sender is honest, then the protocol always terminates, and all honest parties must output . If the sender is corrupted and the honest parties terminate, then they must all output the same message . Note that the protocol might not terminate if the sender is not honest.
Based upon graded dispersal in synchrony, we show a dispersal protocol in asynchrony (Section 4.1). We show perfect asynchronous data dissemination which has a weak agreement property. Our protocol and formalization is identical to that of [14] and we present it here for completeness of our result.
We have to add one more round than synchrony to guarantee the termination of honest parties for the honest sender case. We also provide an asynchronous variant of data dissemination (Section 4.2). Combining those primitives, we obtain a reliable broadcast.
Our reliable broadcast is deterministic and runs in 6 rounds. This is an improvement of 3 rounds, in addition to 40% reduced communication, compared to [6] that is based on COOL. See Section 4.3 for the protocol, and Table 1 for the improvements over previous protocols.
2.3 Related Work
All our protocols are deterministic and error-free. The applications we are considering (broadcast, multi-valued BA, gradecast, and reliable broadcast) were also studied in different settings.
Protocols with an expected number of rounds.
As mentioned, broadcast and byzantine agreement in that setting must incur rounds [18]. The broadcast and byzantine agreement presented in our paper achieves rounds in the worst case. Rabin [28] and Ben-Or [8] studied the effect of randomization on round complexity, and Feldman and Micali [17] gave the first protocol with an expected constant round protocol for byzantine agreement with optimal resilience. Many works have improved the communication complexity of expected constant round Byzantine agreement protocols with optimal resilience [20, 25, 2, 7] where the current state of the art is with expected constant number of rounds. We remark that in all those protocols, the sender first gradecasts its message, and therefore using our improved gradecast (whose relaxed notion suffices for this application) improves the constant in the “expected constant” of these works.
Gradecast.
Gradecast is an important primitive used for various consensus algorithms, e.g., multi-consensus, approximate agreement [9], or Phase-King [5]. Our round complexity is the most efficient in the perfect setting. However, the protocol of Abraham and Asharov [1] is one round better at the expense of introducing some error (i.e., statistical security).
Reliable broadcast.
Organization
3 Synchrony
In this section, we provide the protocols for synchronous communication.
Preliminaries.
In the analysis, we sometimes use to denote the set of honest parties and to denote the set of corrupt parties. Our protocols also use Reed Solomon decoding. Let denote a set of evaluations of a degree polynomial over where up to of the points may be incorrect. If , then there exists an efficient algorithm that upon input and , can recover a degree- polynomial such that for points , it holds that . We denote this algorithm as .
Communication complexity.
In each of our protocols, we assume that the input (either of the designated sender or each one of the parties) is a polynomial of degree at most over the field . For the general case of an -bit input, the parties segment the -bit message into blocks of bits each (with appropriate padding for the last block if is not a multiple of ). The parties then execute instances of the same protocol, where the input for the th instance is the th block interpreted as a polynomial of degree at most . Aggregation over the different executions is performed in a natural way, e.g., a party agrees with if and only if they agree in all the instances. We, therefore, omit such details. We report the communication complexity of our protocols over inputs of size bits while we present the protocols assuming . Additionally, note that and our communication complexity is reported in that light.
The degree .
We set the degree of our polynomials to be . Looking ahead, we remark that the only place this is necessary (except for requiring ) is in the proof of Claim 3.4.
3.1 Building Block I: Graded Dispersal
We introduce the notion of graded dispersal:
Definition 3.1 (Graded Dispersal).
A protocol for parties where
-
Input: Each party holds as input some polynomial of degree over ;.
-
Output: An output with grade or , or an output .
is graded dispersal protocol tolerating malicious parties if the following properties hold:
-
Validity: If all honest parties start with the same polynomial , then all output .
-
Weak Graded Agreement: If an honest party outputs , then at least honest parties output with , and all other honest parties output .
Note that if there is no honest party with grade 2 then honest parties with non- output and grade 1, may disagree on their output value. Moreover, grade 2 does not imply full agreement among the honest parties.
Nevertheless, we show that this Weak Graded Agreement property is sufficient to work well with the Data Dissemination protocol (see Section 3.2).
Protocol 3.2 (Graded Dispersal)
Input:
Each party holds of degree at most over to encode bits.
The protocol:
-
1.
Exchange:
-
(a)
sends to each .
-
(a)
-
2.
Dynamic set :
-
(a)
Let be the two values that receives from . If and then add to .
-
(b)
If then send to all parties.
-
(a)
-
3.
Dynamic set :
-
(a)
If is received from for then add to .
-
(b)
If then send to all parties.
-
(a)
-
4.
Output:
-
(a)
If sent , and received at least messages , then output .
-
(b)
If sent , but received messages , then output .
-
(c)
Otherwise, output .
-
(a)
In the COOL protocol, there is an additional round of messages and the degree is . In our protocol, there are just two rounds of and the degree is . Hence our protocol reduces the number of rounds from 3 to 2 (by %33) and reduces the overhead per bit from 15 to 9 (by %40). Note that when , only the first round is parallelized.
Theorem 3.3.
Protocol 3.2 is a graded-dispersal protocol for messages of size bits where that is resilient to malicious parties. The protocol runs in rounds and incurs a total communication of bits.
Proof.
We now show that all the properties hold as in Definition 3.1.
Validity.
Assume that all honest parties have the same input . For each party , the set will contain the set of all honest parties and therefore and sends . Moreover, it will receive from all honest parties; therefore, also sends . We get that all honest parties send , and consequently, all receive at least , so all output .
Weak graded agreement.
If one party outputs , then there are at least honest parties that output with , and all the others output . This is done in 3 steps:
-
Claim 3.4 proves that there cannot be three honest parties that hold different inputs, that all send . Hence there exists at most two inputs such that each honest party that sends must hold one of these two inputs.
-
Given this, Claim 3.5 proves that if there is a set of at least honest parties that all have the same input, then no honest party holding a different input will send .
-
Claim 3.6 shows that if there is no set with at least honest parties that have the same input, then no honest party outputs grade 2.
Proof of Weak graded agreement given the Claims 3.4, 3.5, 3.6.
If an honest party outputs grade 2, then from Claim 3.6 we must be in the case where there are at least honest parties as in Claim 3.5 and from that all honest parties that send (hence output grade 1) must output the same value.
Claim 3.4.
There can be at most two distinct inputs, such that there exist honest parties that hold these inputs and send messages.
Proof.
Seeking a contradiction, assume there exist honest parties that hold distinct input polynomials , and , such that all send messages.
Let be the set of all honest parties and let be the malicious parties.
For any define as the set of all the honest parties that agree with :
Observe that:
-
For any . Because if sent , it must agree with at least parties, and thus with at least honest parties.
-
For any . Because for any then . So if then and agree on at least points, and therefore, must be identical.
So from inclusion-exclusion:
Since so :
On the other hand, , and therefore :
Using and :
which is a contradiction.
So let and be the at most two sets of honest parties with inputs and respectively such that only members in those sets send . Since for each honest party then only parties in or may send .
Assume wlog that .
Define:
Claim 3.5.
If then no party in sends .
Proof.
From Claim 3.4, honest parties not in do not send .
Observe that parties in do not send . This is because , all have by definition. Therefore, any cannot receive support from and thus
Given this, parties in in do not send . This is because the only honest parties that can send that will be accepted by are from , but because otherwise . So for any party must have
Claim 3.6.
If then no party outputs grade 2.
Proof.
Observe that the parties in and do not send . This is because all parties not in do not send , and for , a party in can receive only from and the corrupted parties. Thus,
Given this, only parties in might send . However, no party can receive messages. This is because so
This concludes the proof of Theorem 3.3.
Note: adding one more round.
We are unaware of an application that actually requires this a property, where grade 2 implies that all parties output the same value with grade (so graded agreement not just weak graded agreement as in Definition 3.1 ). Nevertheless, we comment here that can be obtained by one more round.
To achieve this, parties that receive s send , and then: (1) if sent and received it outputs ; (2) otherwise, if it sent it outputs ; (3) otherwise, (it did not send ) it outputs .
If all parties start with the same input then they all send and receive s and all output . In addition, if there is no set , then all honest parties must output . In this case, Claim 3.6 shows that no party receives ; therefore, no honest party sends .
3.2 Building Block II: Data Dissemination
Definition 3.7.
A protocol for parties is where each party has an input (of degree over field , might be ) and an output , is data dissemination protocol tolerating malicious parties if it satisfies the following property:
-
Output consistency: If there exists a polynomial such that there are at least honest parties with the input , and all other honest parties start with input , then all honest parties output .
Protocol 3.8 (Data Dissemination)
Input:
Each party holds as input, of degree at most . Some might have input .
The protocol:
-
1.
Round I – Exchange: If , send to each its point .
-
2.
Round II – Set and send your point: Each party receives messages . Let be the value received at least times. Send to all parties.
Output: Let be the received values. Run Reed Solomon decoding on to find a unique polynomial of degree- with at most errors. Output . If there is no unique decoding, output .
Theorem 3.9.
Proof.
Assume that honest parties start with the same input . Each honest party receives at least times. All other honest parties that hold send nothing in the first message. As such, the majority value of must be , and it sends it to all other parties in the second round. Therefore, all honest parties must receive that is of distance at most from . Since , the Reed Solomon decoding guarantees that all output .
3.3 Application I: Gradecast
We now show how the above protocols can be utilized to achieve gradecast.
Gradecast is a relaxation of broadcast introduced by Feldman and Micali in 1988 [17]. Our protocol follows a relaxed notion of Gradecast formalized by Katz and Koo [21].
Definition 3.10.
A protocol for parties , where a distinguished sender holds an initial input is a gradecast protocol tolerating malicious parties if the following conditions hold for any adversary controlling at most parties:
-
Each honest party outputs a message and a grade .
-
If the sender is honest, then the output of every honest party satisfies and .
-
If there exists an honest party which outputs a message and the grade , then the output of every honest party satisfies and .
Protocol 3.11 (Gradecast from Graded-Dispersal and Data Dissemination)
Input: The sender holds of degree at most . Other parties have no input.
The protocol:
-
1.
The sender: The sender sends to all parties.
-
2.
Each party : The parties invoke the graded-dispersal protocol (Protocol 3.2) where inputs . Let be the output of the graded-dispersal protocol.
-
3.
Each party : The parties run the data-dissemination protocol (Protocol 3.8) with input . Let be the output.
-
4.
Output: If , then output . Otherwise, if , then output . Otherwise, output .
Theorem 3.12.
Proof.
We prove the case of an honest sender and a corrupted sender.
An honest sender.
We first show that if the sender is honest and has an input , then all honest parties output . Specifically, all honest parties start the graded dispersal with the same input . Therefore, from the validity of graded-dispersal, all honest parties output . Moreover, since more than honest parties hold the same input in the data-dissemination protocol, all honest parties output in that protocol, and output in the gradecast protocol.
An honest party with output grade 2.
We next consider the case where there exists an honest party with an output grade . In that case, must have grade in the graded-dispersal protocol. As such, from the graded agreement, there are at least honest parties that output the same polynomial with grade from graded dispersal. Moreover, from the properties of graded-dispersal, parties with output that is not use as their input in the data dissemination protocol. Thus, there are at least honest parties with input in the data dissemination protocol, and therefore all honest parties must output in the data dissemination. All honest parties output with a grade of at least .
Reducing one-round.
We can reduce one round of interaction by sending the first round of the data-dissemination protocol together with the last round of the graded dispersal protocol. Specifically, each party that sends message to (the last round of the weak dispersal) sends together with it the point to party (the first message of the data dissemination).
We, therefore, get that the total round complexity of the protocol is five rounds (Theorem 3.12 is reported in that light).
Making the protocol balanced.
In the protocol as described, the communication complexity of the sender is while the communication complexity of every other party is just . To reduce the communication complexity for the sender, the sender can first send to each party its point . Each party forwards the point it received to all others, and the parties use Reed Solomon decoding to reconstruct the polynomial .
Stronger property.
As mentioned, we use the relaxed definition of gradecast as defined in [20]. The definition by [17] requires that in the absence of a party with grade , all parties with grade must agree on their message as well. This can be achieved at the expense of adding one round to the graded-dispersal, as discussed in Section 3.1.
3.4 Application II: Multi-Valued Byzantine Agreement
Definition 3.13 ((Binary/Multi-valued) Byzantine Agreement).
A protocol for parties where each party holds initial input , is a Byzantine agreement protocol tolerating malicious parties if the following conditions hold for any adversary controlling at most parties:
-
Agreement: All honest parties must output the same value.
-
Validity: If all honest parties begin with the same input value , then all honest parties output .
-
Strong consistency: If not all honest parties begin with the same input , then all honest parties output the same value, which was an input of some honest party.
For brevity, if the values are restricted to binary values, then we call the protocol a binary Byzantine agreement.
Protocol 3.14 (Multi-Valued Byzantine Agreement from Graded Dispersal, Binary Byzantine Agreement, and Data Dissemination)
-
Input: Each party holds a polynomial of degree at most over .
-
The protocol:
-
1.
The parties invoke the graded dispersal protocol (Protocol 3.2), where each party inputs . Let be the output.
-
2.
The parties run the binary Byzantine agreement protocol (e.g., [10]), where the input of each is the bit . Let be the output of the Byzantine agreement.
-
3.
If , then the parties invoke the data dissemination protocol (Protocol 3.8) where each party inputs . Let be the output of .
If , then sets .
-
1.
-
Output: Each outputs .
We recall that the binary Byzantine agreement of [10] requires communication and rounds for agreeing on a single bit. We get:
Theorem 3.15.
Proof.
We first show validity, then agreement.
Validity.
If all honest parties have the same input , then from the graded agreement property of graded dispersal (Definition 3.1), we get that all honest parties output . All honest parties then input to the Binary Byzantine agreement, and then all honest parties receive as output. The parties then invoke the data-dissemination protocol, and since there are more than honest parties with the input , all honest parties receive as output and output it.
Agreement.
The output of the parties is determined by the output of the binary byzantine agreement, , which is the same for all parties. There are two cases to consider:
-
If , then all honest parties output , and agreement holds.
-
If , then there must exists an honest party with an input to the Binary Byzantine Agreement. By the properties of weak-dispersal (Definition 3.1), this implies that at least honest parties have the same output from the weak-dispersal protocol, i.e., the input of each honest party to the data-dissemination protocol (Protocol 3.8) is either or , and there are at least honest parties with input . The data-dissemination protocol then guarantees that all parties output . The parties output that value in our Byzantine Agreement protocol, and we again have an agreement.
Strong consistency.
The only case that is interesting is when . The graded dispersal guarantees that output was also an input of some honest party.
3.5 Application III: Broadcast
Definition 3.16 (Broadcast).
A protocol for parties where a distinguished sender holds an initial input , is a broadcast protocol tolerating malicious parties if the following conditions hold for any adversary controlling at most parties:
-
Agreement: All honest parties output the same value.
-
Validity: If the sender is honest, then all honest parties output .
Protocol 3.17 (Broadcast from Graded-Dispersal, Data Dissemination, and Binary Agreement)
-
Input: The sender holds a polynomial of degree at most over .
-
The protocol:
-
1.
The sender: The sender sends to all parties.
-
2.
Each party : Let be the received polynomial. The parties invoke graded-dispersal protocol (Protocol 3.2), where each party inputs . Let be the output.
-
3.
Each party : Run Binary byzantine agreement where each party inputs iff . Let be the output.
-
4.
Each party : If , then the parties run the data-dissemination protocol (Protocol 3.8), where each party inputs . Let be the output of the data dissemination protocol.
-
1.
-
Output: If , then output . If then output .
Theorem 3.18.
Proof.
We show agreement and validity.
Agreement.
By the binary byzantine agreement, all parties receive the same bit . If , then all honest parties output and agreement holds; If , then it must be that some honest party received grade in the graded dispersal. As follows from the guarantees of graded dispersal, this implies that there are at least honest parties with the same output . Those honest parties input to the data dissemination, and the output of all honest parties is then . Agreement again holds.
Validity.
If the sender is honest and starts with input of degree- over , then from the guarantees of graded-dispersal, all honest parties output . As such, all honest parties input to the binary byzantine agremeent, and must agree on . Therefore, all run the data-dissemination protocol, and all output .
Making the protocol balanced.
In the broadcast protocol as described in Protocol 3.17, the communication complexity of the sender is bits, whereas the communication complexity of every other party is just bits. As before, to reduce the communication complexity for the sender, the sender can first send to each party its point . The parties then forward the received point to all others and use Reed Solomon decoding to reconstruct the polynomial .
4 Reliable Broadcast in Asynchrony
We now move to asynchronous communication. Here, when an honest party sends a message it is guaranteed to be delivered, but the adversary can introduce arbitrarily delays.
4.1 Dispersal
Definition 4.1 (Dispersal).
A protocol for parties where the input of each party is some , is an asynchronous dispersal protocol tolerating corrupted parties if the following properties hold:
-
Termination: If one honest party terminates, then all honest parties terminate.
-
Weak agreement: If one honest party terminates with output , then at least other honest parties output also . Furthermore, all honest parties that terminate with a non- output, terminate with the same polynomial .
-
Weak Validity: If all honest parties start with the same polynomial of degree at most , then termination and weak agreement hold with respect to .
Our asynchronous dispersal protocol is fairly identical to the synchronous counterpart. However, when executed under asynchrony, a key distinction is in the construction of the dynamic sets, . As the adversary may introduce arbitrary delays, the messages may not be delivered after the messages. The parties construct the and sets and update them in an online fashion upon receiving any message ( or ).
Protocol 4.2 (Dispersal)
Input:
Each party holds of degree at most over .
The protocol:
-
1.
Initialization: Each party initializes , and .
-
2.
Exchange:
-
(a)
sends to each .
-
(a)
-
3.
Dynamic set :
-
(a)
Upon receiving from , if and then add to .
-
(b)
Upon , send to all.
-
(a)
-
4.
Dynamic set :
-
(a)
Upon receiving message from for which , then add to .
-
(b)
Upon , send to all.
-
(a)
-
5.
Sending :
-
(a)
If sent , and upon receiving messages, send message to everyone.
-
(b)
Upon receiving messages from distinct parties, send to everyone.
-
(c)
Upon receiving messages, if sent message, then terminate and output . If did not send message, then terminate and output .
-
(a)
Theorem 4.3.
Proof.
We show each one of the properties separately.
Termination.
An honest party terminates only after it receives messages. This implies that it received at least messages from honest parties (and in particular, it also sent the message). Eventually, all honest parties will receive those messages and, in response, will also send a message. We obtain that eventually, all honest parties send message, and therefore each honest party will eventually receive messages, regardless of the messages of the adversary. Therefore, all honest parties must terminate.
Weak agreement.
An honest party that terminates with an output must have sent an message. Moreover, since it terminated, it must have received at least messages, i.e., it received messages from at least honest parties. An honest party sends a message if it either received messages or received messages. The latter implies that at least one honest party sent a message due to receiving messages, and at least honest parties sent message. As follows from Claim 3.4, there are at most two sets of parties (with the same polynomial) that could have sent . We have two cases to consider:
-
As follows from Claim 3.6, if there is no large set of parties with the same polynomial, then no party receives . This implies that no honest party would have sent the message, and no party terminates.
-
If there is a large set of parties with the same polynomial , then no other party sends .
This implies that if some honest party terminates, then we must have a large set of parties with the same polynomial . This implies that at least honest parties terminate with that polynomial . Any other honest party that terminates with non- must also output .
Weak Validity.
If all honest parties start with the same polynomial , then eventually, all honest parties will appear in the agreed sets of one another. As such, eventually, all honest parties will send the message, send messages, and terminate. Parties might terminate earlier; as mentioned, if one honest party terminates, it outputs its polynomial, and we are also guaranteed that at least other honest parties terminate with their input polynomials. Therefore, weak validity holds.
4.2 Asynchronous Data Dissemination
Definition 4.4 (Asynchronous Data Dissemination).
A protocol for parties where each has input (of degree over , might be ) is an asynchronous data dissemination protocol tolerating malicious parties if it satisfies the following property:
-
Agreement and termination: If there exists a polynomial such that at least honest parties start with the input , and all other honest parties start with input , then all honest parties terminate and output .
Protocol 4.5 (Asynchronous Data Dissemination)
Input:
Each party holds as input, of degree at most . Some might have input .
The protocol:
-
1.
Initialize a multi-set and . If , send to each its point .
-
2.
Upon receiving from , add to .
-
3.
Upon some appearing times in , send to all parties.
-
4.
Upon receiving from , add to . Upon execute the following:
-
(a)
Run and try to decode a polynomial of degree at most that agrees with on at at least values.
-
(b)
If no such polynomial exists, then wait to receive more points in and retry.
-
(c)
If such a polynomial is computed, set to be the resultant value
-
(a)
-
5.
Upon unique decoding of , terminate and output .
Theorem 4.6.
Protocol 4.5 is an asynchronous data-dissemination protocol tolerating malicious parties. The protocol takes rounds and communication, where each party starts with an input of size .
Proof.
Assuming that honest parties hold the input and the others hold , we get that each honest party eventually receives at least times and therefore sends to everyone the message . As a result, all honest parties eventually send that message. Therefore, all honest parties will eventually succeed in their Reed Solomon decoding and terminate with the polynomial .
4.3 Reliable Broadcast
Definition 4.7 (Reliable Broadcast).
A protocol for parties where a distinguished party has an input of degree at most over is a reliable broadcast tolerating malicious parties if the following properties hold:
-
Validity: If the sender is honest then all honest parties terminate and output .
-
Agreement: If two honest parties terminate, their output is the same.
-
Termination: If an honest party terminates, then all honest parties will eventually terminate.
Protocol 4.8 (Reliable Broadcast)
Input: The sender holds a polynomial of degree at most .
The protocol:
-
1.
The sender: Send to each party .
-
2.
Each party : Upon receiving from the sender, participate in Dispersal (Protocol 4.2) with input .
-
3.
Each party : Upon receiving an output from the dispersal protocol, participate in asynchronous data dissemination protocol (Protocol 4.5) with input .
-
4.
Upon receiving an output from the data dissemination protocol, terminate and output .
Theorem 4.9.
Proof.
We show each one of the properties separately.
Validity.
If the sender is honest and starts with the input , then eventually all honest parties start the Dispersal protocol with the input . From the weak-validity property of the dispersal protocol (see Definition 4.1), all honest parties terminate with an output which is in , and at least honest parties terminate with . All honest parties then eventually continue to the asynchronous data dissemination. According to that protocol, if at least honest parties start with the same input , and all other honest parties start with , then all honest parties must terminate, and with output . Therefore, all honest parties eventually terminate the reliable broadcast protocol, with an output .
Agreement and termination.
Assume that some honest party terminates. This implies that both the dispersal and the data dissemination protocols must terminate (an honest party does not participate in the data dissemination before terminating the dispersal). If the dispersal protocol terminates, then from its security properties, we must have that at least honest parties terminate with the same polynomial , and all the other honest parties terminate with an output . The parties then input those inputs to the data-dissemination protocol, which guarantees that under this exact input – all honest parties terminate with the same output . We conclude that all honest parties terminate with the same output .
Reducing one-round.
As in the case of synchrony, we can reduce one round of interaction by sending the first round of the data-dissemination protocol together with the last round of the data-dispersal protocol. Specifically, each party that sends message to (the last round of the weak dispersal) sends, together with it, the point to party (the first message of the data dissemination).
Making the protocol balanced.
In the reliable broadcast protocol as described in Protocol 4.8, the communication complexity of the sender is bits, whereas the communication complexity of every other party is just bits. As in the case of synchrony, to balance the communication complexity of the sender, the sender can first send to each party its point . The parties then send it to all other parties and execute Reed Solomon decoding repeatedly to reconstruct the polynomial . Specifically, each party waits to receive at least points and executes Reed Solomon decoding to recover a polynomial that agrees with at least points.
References
- [1] Ittai Abraham and Gilad Asharov. Gradecast in synchrony and reliable broadcast in asynchrony with optimal resilience, efficiency, and unconditional security. In PODC ’22: ACM Symposium on Principles of Distributed Computing, 2022, pages 392–398. ACM, 2022. doi:10.1145/3519270.3538451.
- [2] Ittai Abraham, Gilad Asharov, Shravani Patil, and Arpita Patra. Asymptotically free broadcast in constant expected time via packed VSS. In Theory of Cryptography - 20th International Conference, TCC 2022, volume 13747 of Lecture Notes in Computer Science, pages 384–414. Springer, 2022. doi:10.1007/978-3-031-22318-1_14.
- [3] Ittai Abraham, T.-H. Hubert Chan, Danny Dolev, Kartik Nayak, Rafael Pass, Ling Ren, and Elaine Shi. Communication complexity of byzantine agreement, revisited. Distributed Comput., 36(1):3–28, 2023. doi:10.1007/S00446-022-00428-8.
- [4] Ittai Abraham, Philipp Jovanovic, Mary Maller, Sarah Meiklejohn, Gilad Stern, and Alin Tomescu. Reaching consensus for asynchronous distributed key generation. In PODC ’21: ACM Symposium on Principles of Distributed Computing, 2021, pages 363–373. ACM, 2021. doi:10.1145/3465084.3467914.
- [5] Ittai Abraham and Andrew Lewis-Pye. Phase-king through the lens of gradecast: A simple unauthenticated synchronous byzantine agreement protocol. Decentralized Thoughts, Blog Post, 2022. URL: https://decentralizedthoughts.github.io/2022-06-09-phase-king-via-gradecast/.
- [6] Nicolas Alhaddad, Sourav Das, Sisi Duan, Ling Ren, Mayank Varia, Zhuolun Xiang, and Haibin Zhang. Balanced byzantine reliable broadcast with near-optimal communication and improved computation. In PODC ’22: ACM Symposium on Principles of Distributed Computing, pages 399–417. ACM, 2022. doi:10.1145/3519270.3538475.
- [7] Gilad Asharov and Anirudh Chandramouli. Perfect (parallel) broadcast in constant expected rounds via statistical VSS. In Advances in Cryptology - EUROCRYPT 2024, volume 14655 of Lecture Notes in Computer Science, pages 310–339. Springer, 2024. doi:10.1007/978-3-031-58740-5_11.
- [8] Michael Ben-Or. Another advantage of free choice: Completely asynchronous agreement protocols (extended abstract). In Proc. of the Annual Symposium on Principles of Distributed Computing (PODC), 1983.
- [9] Michael Ben-Or, Danny Dolev, and Ezra N. Hoch. Brief announcement: Simple gradecast based algorithms. In Distributed Computing, 24th International Symposium, DISC 2010., volume 6343 of Lecture Notes in Computer Science, pages 194–197. Springer, 2010. doi:10.1007/978-3-642-15763-9_18.
- [10] Piotr Berman, Juan A Garay, and Kenneth J Perry. Bit optimal distributed consensus. In Computer science. 1992.
- [11] Gabriel Bracha. Asynchronous byzantine agreement protocols. Inf. Comput., 75(2):130–143, 1987. doi:10.1016/0890-5401(87)90054-X.
- [12] Christian Cachin and Stefano Tessaro. Asynchronous veri.able information dispersal. In 24th IEEE Symposium on Reliable Distributed Systems (SRDS 2005), 2005, pages 191–202. IEEE Computer Society, 2005. doi:10.1109/RELDIS.2005.9.
- [13] Jinyuan Chen. Optimal error-free multi-valued byzantine agreement. In DISC 2021, volume 209 of LIPIcs, pages 17:1–17:19. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPICS.DISC.2021.17.
- [14] Sourav Das, Zhuolun Xiang, and Ling Ren. Asynchronous data dissemination and its applications. In CCS ’21: 2021 ACM SIGSAC Conference on Computer and Communications Security, pages 2705–2721. ACM, 2021. doi:10.1145/3460120.3484808.
- [15] Sourav Das, Zhuolun Xiang, and Ling Ren. Balanced quadratic reliable broadcast and improved asynchronous verifiable information dispersal. IACR Cryptol. ePrint Arch., page 52, 2022. URL: https://eprint.iacr.org/2022/052.
- [16] Danny Dolev and Rüdiger Reischuk. Bounds on information exchange for byzantine agreement. In ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, 1982, pages 132–140. ACM, 1982. doi:10.1145/800220.806690.
- [17] Paul Feldman and Silvio Micali. Optimal algorithms for byzantine agreement. In Proceedings of the 20th Annual ACM Symposium on Theory of Computing, pages 148–161. ACM, 1988. doi:10.1145/62212.62225.
- [18] Michael J. Fischer and Nancy A. Lynch. A lower bound for the time to assure interactive consistency. Information Processing Letters, 1982.
- [19] Chaya Ganesh and Arpita Patra. Optimal extension protocols for byzantine broadcast and agreement. Distributed Comput., 34(1):59–77, 2021. doi:10.1007/S00446-020-00384-1.
- [20] Jonathan Katz and Chiu-Yuen Koo. On expected constant-round protocols for byzantine agreement. In Annual International Cryptology Conference, 2006.
- [21] Jonathan Katz and Chiu-Yuen Koo. On expected constant-round protocols for byzantine agreement. J. Comput. Syst. Sci., 75(2):91–112, 2009. doi:10.1016/J.JCSS.2008.08.001.
- [22] Leslie Lamport, Robert E. Shostak, and Marshall C. Pease. The byzantine generals problem. ACM Trans. Program. Lang. Syst., 4(3):382–401, 1982. doi:10.1145/357172.357176.
- [23] Guanfeng Liang and Nitin H. Vaidya. Error-free multi-valued consensus with byzantine failures. In Proceedings of the 30th Annual ACM Symposium on Principles of Distributed Computing, PODC 2011, pages 11–20. ACM, 2011. doi:10.1145/1993806.1993809.
- [24] Andrew D. Loveless, Ronald G. Dreslinski, and Baris Kasikci. Optimal and error-free multi-valued byzantine consensus through parallel execution. IACR Cryptol. ePrint Arch., page 322, 2020. URL: https://eprint.iacr.org/2020/322.
- [25] Kartik Nayak, Ling Ren, Elaine Shi, Nitin H. Vaidya, and Zhuolun Xiang. Improved extension protocols for byzantine broadcast and agreement. In 34th International Symposium on Distributed Computing, DISC 2020, volume 179 of LIPIcs, pages 28:1–28:17. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPICS.DISC.2020.28.
- [26] Arpita Patra. Error-free multi-valued broadcast and byzantine agreement with optimal communication complexity. In Principles of Distributed Systems - 15th International Conference, OPODIS 2011, volume 7109 of Lecture Notes in Computer Science, pages 34–49. Springer, 2011. doi:10.1007/978-3-642-25873-2_4.
- [27] Marshall C. Pease, Robert E. Shostak, and Leslie Lamport. Reaching agreement in the presence of faults. J. ACM, 27(2):228–234, 1980. doi:10.1145/322186.322188.
- [28] M. O. Rabin. Randomized byzantine generals. In 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, 1983.
- [29] Jacob T. Schwartz. Fast probabilistic algorithms for verification of polynomial identities. J. ACM, 27(4):701–717, 1980. doi:10.1145/322217.322225.
- [30] Jianjun Zhu, Fan Li, and Jinyuan Chen. Communication-efficient and error-free gradecast with optimal resilience. In 2023 IEEE International Symposium on Information Theory (ISIT), pages 108–113, 2023. doi:10.1109/ISIT54713.2023.10206579.
- [31] Richard Zippel. Probabilistic algorithms for sparse polynomials. In Symbolic and Algebraic Computation, EUROSAM ’79, An International Symposiumon Symbolic and Algebraic Computation, volume 72 of Lecture Notes in Computer Science, pages 216–226. Springer, 1979. doi:10.1007/3-540-09519-5_73.