Abstract 1 Introduction 2 Model 3 Insufficiency of Standard BRB for Terminating All-to-All Broadcast 4 Quit-Resistant BRB 5 Efficient Terminating Gather 6 QBRB Against Arbitrary Quits References Appendix A Strongly Terminating k-slot Consensus Appendix B The Live Gather Protocol Appendix C Skipped Proofs

Quit-Resistant Reliable Broadcast and Efficient Terminating Gather

Mose Mizrahi Erbes ORCID ETH Zurich, Switzerland Roger Wattenhofer ORCID ETH Zurich, Switzerland
Abstract

Termination is a central property in distributed computing. A party terminates a protocol once it stops accepting and sending messages. We discover that byzantine reliable broadcast is sometimes used in a manner which leads to non-terminating protocols. We consider an asynchronous network of n parties up to t of which are byzantine, and show that if each party is to broadcast its value and terminate upon obtaining nβˆ’t values, then composing n parallel reliable broadcast instances leads to non-termination. The issue is that a party must quit t broadcast instances early in order to terminate, a behaviour not supported by ordinary reliable broadcast. So, we modify Bracha’s protocol into a quit-resistant reliable broadcast (QBRB) protocol which lets the parties quit early. This protocol retains its termination guarantees as long as no party quits before some party terminates.

Then, we turn our attention to Gather, an all-to-all broadcast primitive which guarantees that the parties obtain nβˆ’t common values. Existing error-free deterministic Gather protocols either run forever, or fail to terminate since the parties quit reliable broadcast instances. We design an error-free, deterministic, terminating (and binding) Gather protocol for β„“-bit inputs with the communication complexity π’ͺ⁒(ℓ⁒n2+n3⁒log⁑n). This matches the state-of-the-art for non-terminating Gather.

Finally, inspired by our QBRB protocol, we design a reliable broadcast protocol which retains its termination guarantees no matter when any party quits. To achieve this, we give each party the option to output βŠ₯ if more than q parties quit before some party terminates. The protocol requires 4⁒t+q<n, which is optimal, and it lets parties quit after they have suffered transient crash failures so that they can help the remaining parties terminate.

Keywords and phrases:
Asynchronous networks, byzantine fault tolerance, protocol termination, reliable broadcast, all-to-all broadcast, gather
Copyright and License:
[Uncaptioned image] © Mose Mizrahi Erbes and Roger Wattenhofer; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation β†’ Distributed algorithms
Editors:
Silvia Bonomi, Letterio Galletta, Etienne Rivière, and Valerio Schiavoni

1 Introduction

Byzantine reliable broadcast (BRB) is a fundamental asynchronous communication primitive. Traditionally, a BRB protocol is run by n parties P1,P2,…,Pn, where up to t of the parties may deviate arbitrarily from the protocol while the rest remain honest. Given a fixed sender party Pβˆ— who eventually acquires an input vβˆ—, a BRB protocol ensures the following:

  • β– 

    Validity: If Pβˆ— is honest, and an honest Pi outputs yi, then Pβˆ— has acquired vβˆ—=yi.

  • β– 

    Consistency: If honest parties Pi and Pj output yi and yj, then yi=yj.

  • β– 

    Local Termination: If Pβˆ— is honest, then some honest party terminates.

  • β– 

    Global Termination: If some honest party terminates, then all honest parties terminate.

Notice that we split the output correctness properties from the termination properties. Since we focus on termination in this work, the breakdown above will be useful.

When we say that a protocol terminates, what do we mean? In their seminal work on asynchronous byzantine agreement [12], Canetti and Rabin say that a protocol terminates if all the honest parties β€œcomplete the protocol (i.e.Β terminate locally).” The way we understand this is that they do not let parties keep sending messages after they locally terminate, and thus define termination as we will. In [4], Abraham et al.Β define termination as Canetti and Rabin do, but they also separately define β€œtermination of output” to be the property that every honest party eventually outputs.

Following the definitions in [9], we distinguish between liveness and termination. A live protocol guarantees that if the honest parties all eventually acquire inputs and run forever, then they all output. Liveness is the property called β€œtermination of output” in [4]. Termination is stronger. A terminating protocol guarantees that if the honest parties all eventually acquire inputs and run until they terminate, then they all terminate. A party can terminate once it has output, and after terminating it can no longer accept or send messages.

Termination as opposed to liveness is useful in that it allows the parties to go offline and forget about a protocol once they terminate. When the parties run an asynchronous protocol that is live but not terminating, they must forever remain alert for further messages, even if the network happens to be fast and they decide on their outputs almost instantly. In contrast, if the parties run a terminating asynchronous protocol, then they can go offline once they terminate. Even in networks where the parties are always active, termination lets a party free the resources it has allocated for a protocol, while liveness does not.

It is common in distributed computing to compose n (or more) instances of BRB to implement all-to-all broadcast. In all-to-all broadcast, each party Pi has an input vi which it broadcasts to the other parties, and each party Pi outputs a set Xi of value-sender pairs (m,P) with at most one value per sender. Typically, one requires at least the following:

  • β– 

    For some constant z≀nβˆ’t, the honest output sets contain at least z value-sender pairs.

  • β– 

    If there exists some (mj,Pj)∈Xi for any honest Pi and Pj, then mj=vj.

  • β– 

    If there exist some (m,P)∈Xi and (mβ€²,P)∈Xj for any honest Pi and Pj, then m=mβ€².

One simple all-to-all broadcast protocol which we name Π𝖠𝗅𝗅 achieves precisely the guarantees above, with z maximally set to nβˆ’t. It consists of n parallel BRB instances, one for each party to broadcast its input. The idea is that since there exist nβˆ’t honest parties, every honest party eventually terminates nβˆ’t instances of BRB and thus terminates Π𝖠𝗅𝗅. In the wild, Π𝖠𝗅𝗅 and its variants are commonly used in agreement protocols. For instance, Canetti and Rabin [12] use Π𝖠𝗅𝗅 (with z=2⁒t+1) for secret sharing/reconstruction in their seminal work on byzantine agreement [12], and Abraham, Amit and Dolev use a strengthened variant of Π𝖠𝗅𝗅 as a core primitive in their seminal work on approximate agreement [2].

The problem the literature sometimes overlooks is that Π𝖠𝗅𝗅 achieves liveness, but not termination. Observe that if a party Pi terminates Π𝖠𝗅𝗅 upon terminating nβˆ’t instances of BRB and obtaining |Xi|=nβˆ’t, then it stops running the t instances of BRB it has not yet terminated. However, unless the BRB protocol lets honest parties quit before they terminate, honest parties quitting BRB instances early leads to Π𝖠𝗅𝗅 losing its liveness. We show this in Section 3 with an attack when Π𝖠𝗅𝗅 uses Bracha’s reliable broadcast protocol Π𝖑𝗋𝖺𝖼𝗁𝖺 [10].

One consequence of this issue is that the byzantine agreement protocol in [12] by Canetti and Rabin, whose termination mechanism is an Π𝖠𝗅𝗅 variant which a party terminates after terminating t+1 broadcasts with identical outputs, does not achieve termination. The protocol does achieve liveness, but it would also do so if one were to remove its termination mechanism entirely. The approximate agreement protocol against t<n3 corruptions in [2] by Abraham et al.Β is similarly impacted. Contrary to how their protocol is written, a party can never halt. More recent approximate agreement protocols such as [15, 20, 21, 24, 27] based on the witness technique of [2] are impacted as well.

The question we thus ask is if we can redefine reliable broadcast to ensure the termination of protocols like Π𝖠𝗅𝗅 where a party has to quit reliable broadcast instances to terminate. We answer this affirmatively in Section 4 with quit-resistant reliable broadcast (QBRB), our new BRB variant where the parties can quit (and inform the other parties of their quitting) before they terminate, with precisely the guarantees to prevent attacks of the sort against Π𝖠𝗅𝗅. A QBRB protocol retains validity and consistency no matter when any honest party quits, and retains global termination as long as no honest party quits before some honest party terminates. It turns out that one can easily modify Π𝖑𝗋𝖺𝖼𝗁𝖺 into a QBRB protocol resilient against t<n3 corruptions. This is fortunate, as the aforementioned protocols which do not terminate due to BRB not supporting quits become terminating if one replaces the standard BRB invocations in them with QBRB invocations.

Note that a party informing the others when it quits (or wishes to quit) a protocol and this playing a role in termination is an idea that has appeared in the literature before. InΒ [5], the authors design a protocol for byzantine agreement in partial synchrony where upon running a view (i.e.Β a tagged protocol instance) for too long, a party sends everyone an abort message, and these abort messages play a role in the parties switching to the next view.

We would also be remiss not to mention some of the techniques the literature uses to terminate live agreement protocols. One can upgrade a live byzantine agreement protocol into a terminating one with reliable consensus [13], a constant-round termination procedure based on Bracha’s protocol with π’ͺ⁒(n2) messages carrying protocol outputs. More generally, one can upgrade a live agreement protocol where the parties obtain at most Ο‰ distinct outputs (e.g.Β for approximate agreement in a graph [24]) into a terminating one with the constant-round termination procedure in [22] that builds on reliable consensus, if t<nmax⁑(3,Ο‰+1).

However, for approximate agreement in ℝd, we do not know of any prior termination procedure. So, we offer two approaches to terminate approximate agreement in ℝd. One of them is QBRB, our general solution which by itself suffices to upgrade the protocols in [21, 27] into terminating ones. Our second solution that allows the efficient bundling of many approximate agreement instances (as in [18]) is a terminating Gather protocol. Gather is an Π𝖠𝗅𝗅 variant which requires |β‹‚Pi⁒ is honestXi|β‰₯nβˆ’t. It is especially useful for approximate agreement111For approximate agreement, the typical requirement is that |Xi∩Xj|β‰₯nβˆ’t for all honest Pi and Pj, which is implied by the stronger |β‹‚Pi⁒ is honestXi|β‰₯nβˆ’t. [2, 15, 19, 20, 21, 24, 27], though its variants (with additional properties such as binding and verifiability, which we will discuss later) have been used for distributed key generation [4], common coin tossing [14, 18] and asynchronous core set agreement [3, 16].

In Section 5, we design Π𝖦𝗍𝗁𝗋, an error-free deterministic Gather protocol optimally secure against t<n3 corruptions, usable as a termination procedure for any approximate agreement protocol based on Gather iterations since it guarantees that if some honest party terminates, then all of them do. As far as we are aware, no other error-free222We call a protocol error-free if it achieves the properties required of it in every possible execution. deterministic333Gather is weakening of asynchronous core set agreement (ACS) [8], which requires Xi=Xj for any honest Pi and Pj. Though there exist terminating ACS protocols [8], ACS implies byzantine agreement, and error-free deterministic asynchronous byzantine agreement is impossible against one crash fault [17]. Gather protocol in the literature achieves termination. The communication complexity of Π𝖦𝗍𝗁𝗋 for β„“-bit inputs is π’ͺ⁒(ℓ⁒n2+n3⁒log⁑n) bits. This is the complexity of the most efficient live Gather protocol (Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾) we are aware of [15], when it is instantiated with a state-of-the-art standard BRB protocol with the complexity π’ͺ⁒(ℓ⁒n+n2⁒log⁑n) [6]. Our Π𝖦𝗍𝗁𝗋 protocol additionaly lets one extract a core set of nβˆ’t parties whose values are obtained by every honest party from the view of any honest party who outputs; hence, it is binding. Binding Gather was developed in [4], and there are cases involving secret shares which require the binding property [18].

In section 6, we return to QBRB, and design a QBRB variant Π𝖠𝗇𝗒 which retains local and global termination even if any honest party quits whenever it wishes. The standard output guarantees of reliable broadcast cannot be achieved with such lax participation, and for this reason we introduce the extra outputs βŠ₯ and ⊀. If at most q honest parties quit before some honest party terminates, then Π𝖠𝗇𝗒 is just a QBRB protocol, albeit one with an extra output ⊀ to indicate that the sender quit before it acquired an input. If more than q honest parties quit before some honest party terminates, then we give each party the individual option to output βŠ₯. The protocol Π𝖠𝗇𝗒 optimally requires 4⁒t+q<n for this.

From a practical view, Π𝖠𝗇𝗒 is of interest in that it lets parties quit after they recover from transient crashes to help the remaining parties terminate. For example, a party can quit when it reconnects after a network disconnection, or when it restarts after a power loss. This ensures that as long as the honest parties that transiently crash (no matter how many) eventually come back online, all parties terminate Π𝖠𝗇𝗒. We remark that reliable broadcast with recoverable transient crashes has been studied before. In [7], one can find a live BRB protocol against a polynomially bounded adversary for when 3⁒t+2⁒f<n and at most f honest parties suffer transient crashes for a polynomially bounded number of times.

2 Model

We consider an asynchronous network of n message-sending parties 𝒫={P1,…,Pn} who are connected pairwise via reliable authenticated channels. The party set 𝒫 is publicly known. The parties do not have access to synchronized clocks.

Our basic adversary, which we name the t-adversary, corrupts up to t parties. The corrupt parties are byzantine; they deviate arbitrarily from the protocol. The rest of the parties are honest. The adversary schedules messages as it wishes, and it is only required to eventually deliver all messages from honest senders. The adversary can also adaptively corrupt parties during the execution of a protocol depending on the sent messages and the parties’ internal states, and drop messages from parties by corrupting them. So, we call a party honest if it is never corrupted. Unless stated otherwise, our protocols are designed against the t-adversary.

By default, a party must run a protocol until it is instructed to terminate. However, a QBRB protocol lets each party quit whenever it wishes by invoking the procedure π–°π—Žπ—‚π—β’(), in which the party might send some final messages to help the remaining parties terminate. The adversary can influence if and when a party invokes π–°π—Žπ—‚π—β’(). The invocation of π–°π—Žπ—‚π—β’() is an event which a party handles like any other. A QBRB protocol keeps validity and consistency no matter when any honest party invokes π–°π—Žπ—‚π—β’(), but potentially loses global termination if an honest party invokes π–°π—Žπ—‚π—β’() before some honest party terminates.

In Section 6, we design the broadcast protocol Π𝖠𝗇𝗒 against an adversary which can cause a single transient crash for any honest party. This adversary can arbitrarily choose when any crash occurs and how long it lasts. At the end of a crash, the recovering party immediately invokes π–°π—Žπ—‚π—β’(), having retained the information that π–°π—Žπ—‚π—β’() needs (the kinds of messages the party has sent in Π𝖠𝗇𝗒). We define the (t,π–Όπ—‹π–Ίπ—Œπ—)-adversary to be the t-adversary with the power to cause transient crashes as described above. Against the (t,π–Όπ—‹π–Ίπ—Œπ—)-adversary, Π𝖠𝗇𝗒 achieves local and global termination no matter when any honest party quits, though with weaker output guarantees if more than q honest parties quit before some honest termination.

When a party β€œmulticasts” a message m, it sends m to all parties. To keep things simple, we assume that the honest parties do not transiently crash while multicasting, though note that we could remove this assumption by requiring any party that crashes while multicasting any m to remember m so that it can multicast m again when it recovers from the crash.

For composability, the parties do not begin protocols β€œhaving” inputs. Instead, they β€œacquire” inputs while they are running. This matters since we consider protocols where some parties might quit before they acquire inputs, or terminate despite never acquiring inputs.

3 Insufficiency of Standard BRB for Terminating All-to-All Broadcast

Below, we present the classical BRB protocol Π𝖑𝗋𝖺𝖼𝗁𝖺 [10]. Note that a party Pi only accepts a single ECHO message and a single READY message from any party Pj. We do not require a party to multicast ⟨ECHO,v⟩ upon receiving t+1 ⟨READY,v⟩ messages; this rule is absent in modern renditions of the protocol [1, 11]. The protocol Π𝖑𝗋𝖺𝖼𝗁𝖺 is proven secure in [1, 10, 11].

And now, we present a version of Π𝖠𝗅𝗅 which fails to terminate because it uses Π𝖑𝗋𝖺𝖼𝗁𝖺.

Let us informally argue that Π𝖠𝗅𝗅 terminates against the t-adversary when t<n3. Since there exist at least nβˆ’t honest parties and since Π𝖑𝗋𝖺𝖼𝗁𝖺 guarantees termination for all honest parties when the sender is honest, eventually, some first honest Pi terminates nβˆ’t instances of Π𝖑𝗋𝖺𝖼𝗁𝖺 and thus terminates Π𝖠𝗅𝗅. Then, since Π𝖑𝗋𝖺𝖼𝗁𝖺 guarantees termination for all honest parties when some honest party terminates, every honest party can eventually terminate Π𝖠𝗅𝗅 by terminating the nβˆ’t instances of Π𝖑𝗋𝖺𝖼𝗁𝖺 terminated by Pi.

As Theorem 1 below indicates, this argument fails. The intuitive reason why is that an honest party must stop participating in every Π𝖑𝗋𝖺𝖼𝗁𝖺 instance to terminate Π𝖠𝗅𝗅, which means that the party must prematurely quit t instances of Π𝖑𝗋𝖺𝖼𝗁𝖺 before terminating them. Though some honest party eventually terminates nβˆ’t Π𝖑𝗋𝖺𝖼𝗁𝖺 instances, these instances lose global termination if other honest parties quit them before terminating them.

Theorem 1.

When n=7, the 2-adversary can prevent a particular party from terminating Π𝖠𝗅𝗅 by making two parties omit sending messages to the party.

Proof.

The adversary corrupts P2 and P3. The party P1 will be precluded from terminating.

The adversary lets every honest Pi acquire its input vi, and assigns arbitrary inputs to the corrupt parties P2 and P3. These corrupt parties do not send P1 any messages, but otherwise they behave honestly. The adversary begins with the following message scheduling:

  • β– 

    The communication between P1 and the rest of the parties is indefinitely blocked.

  • β– 

    For k∈{4,…,7}, the communication for Π𝖑𝗋𝖺𝖼𝗁𝖺k is indefinitely blocked for the party P𝗇𝖾𝗑𝗍⁒(k), where 𝗇𝖾𝗑𝗍⁒(k)=k+1 if k<7 and 𝗇𝖾𝗑𝗍⁒(7)=4.

  • β– 

    Initially, all ECHO and READY messages are blocked.

First, each party Pi sends the INIT messages of its broadcast instance Π𝖑𝗋𝖺𝖼𝗁𝖺i. The INIT messages in Π𝖑𝗋𝖺𝖼𝗁𝖺1 are received by only P1. The INIT messages in Π𝖑𝗋𝖺𝖼𝗁𝖺2 and Π𝖑𝗋𝖺𝖼𝗁𝖺3 are received by all parties except P1. For all kβ‰₯4, the INIT messages in Π𝖑𝗋𝖺𝖼𝗁𝖺k are received by all parties except P1 and P𝗇𝖾𝗑𝗍⁒(k).

Then, the adversary unblocks the ECHO messages. The ECHO messages in Π𝖑𝗋𝖺𝖼𝗁𝖺1 are sent and received by only P1. The ECHO messages in Π𝖑𝗋𝖺𝖼𝗁𝖺2 and Π𝖑𝗋𝖺𝖼𝗁𝖺3 are sent and received by all parties except P1; so, all parties except P1 send READY messages in Π𝖑𝗋𝖺𝖼𝗁𝖺2 and Π𝖑𝗋𝖺𝖼𝗁𝖺3. For all kβ‰₯4, the ECHO messages in Π𝖑𝗋𝖺𝖼𝗁𝖺k are sent and received by all parties except P1 and P𝗇𝖾𝗑𝗍⁒(k); so, all parties except P1 and P𝗇𝖾𝗑𝗍⁒(k) send READY messages in Π𝖑𝗋𝖺𝖼𝗁𝖺k.

Afterwards, the adversary unblocks the READY messages. No party sends READY messages in Π𝖑𝗋𝖺𝖼𝗁𝖺1. The READY messages in Π𝖑𝗋𝖺𝖼𝗁𝖺2 and Π𝖑𝗋𝖺𝖼𝗁𝖺3 are sent and received by all parties except P1. For all kβ‰₯4, the READY messages in Π𝖑𝗋𝖺𝖼𝗁𝖺k are sent and received by all parties except P1 and P𝗇𝖾𝗑𝗍⁒(k). So, for all kβ‰₯4, the party P𝗇𝖾𝗑𝗍⁒(k) terminates Π𝖠𝗅𝗅 by receiving at least nβˆ’2 READY messages in all Π𝖑𝗋𝖺𝖼𝗁𝖺 instances except Π𝖑𝗋𝖺𝖼𝗁𝖺1 and Π𝖑𝗋𝖺𝖼𝗁𝖺k. Since 𝗇𝖾𝗑𝗍 is a permutation of {4,…,7}, we get that the parties P4,…,P7 all terminate Π𝖠𝗅𝗅.

Finally, the adversary unblocks all communication. No party sends READY messages in Π𝖑𝗋𝖺𝖼𝗁𝖺1, and so P1 does not terminate Π𝖑𝗋𝖺𝖼𝗁𝖺1. In any broadcast instance Π𝖑𝗋𝖺𝖼𝗁𝖺k where kβ‰₯4, the party P1 receives READY messages from the 3 parties in {P4,…,P7}βˆ–{P𝗇𝖾𝗑𝗍⁒(k)}. This suffices for P1 to send itself a READY message in Π𝖑𝗋𝖺𝖼𝗁𝖺k. Even then, Pi only receives 4 READY messages in Π𝖑𝗋𝖺𝖼𝗁𝖺k, which is insufficient for termination. Since P1 cannot terminate any Π𝖑𝗋𝖺𝖼𝗁𝖺 instance except Π𝖑𝗋𝖺𝖼𝗁𝖺2 and Π𝖑𝗋𝖺𝖼𝗁𝖺3, it cannot terminate Π𝖠𝗅𝗅. β—€

4 Quit-Resistant BRB

One could thwart the attack with a termination procedure based on reliable consensus [13] by exploiting the fact that if an honest party terminates a Π𝖑𝗋𝖺𝖼𝗁𝖺 instance, then every party learns the instance’s output by receiving nβˆ’2⁒t READY messages on the output. However, it is hard to come up with a termination procedure that works with any BRB protocol instead of just Π𝖑𝗋𝖺𝖼𝗁𝖺, and our view is not that Π𝖠𝗅𝗅 is lacking a termination procedure but that the termination properties of standard BRB are lacking for protocols like Π𝖠𝗅𝗅 where a party must quit remaining BRB instances to terminate. Hence, we define quit-resistant BRB (QBRB). A QBRB protocol lets any party quit by invoking π–°π—Žπ—‚π—β’(). Given a fixed sender party Pβˆ— who might (or might not) eventually acquire an input vβˆ—, a QBRB protocol ensures the following:

  • β– 

    Validity: If Pβˆ— is honest, and an honest Pi outputs yi, then Pβˆ— has acquired vβˆ—=yi.

  • β– 

    Consistency: If honest parties Pi and Pj output yi and yj, then yi=yj.

  • β– 

    Local Termination: If Pβˆ— is honest, and it acquires an input, then either some honest party terminates, or some honest party quits.

  • β– 

    Global Termination: If some honest party terminates before any honest party quits, then every honest party either terminates or quits.

We keep the definitions of validity and consistency from standard BRB. However, while a standard BRB protocol requires the parties to run until instructed to terminate, a QBRB protocol lets each party quit whenever it wishes by invoking π–°π—Žπ—‚π—β’(), and retains a meaningful global termination guarantee if no honest party quits before some honest party terminates.

QBRB is what Π𝖠𝗅𝗅 needs to terminate. If in Π𝖠𝗅𝗅 one replaces Π𝖑𝗋𝖺𝖼𝗁𝖺 with any QBRB protocol, then the QBRB instances terminated by the first honest party who terminates Π𝖠𝗅𝗅 retain global termination, and thus Π𝖠𝗅𝗅 terminates.

Below, we modify Π𝖑𝗋𝖺𝖼𝗁𝖺 into a QBRB protocol Ξ π–°π—Žπ—‚π—, optimally secure when t<n3. We do so with the QUIT message which a party multicasts when it invokes π–°π—Žπ—‚π—β’(), making it easier for the remaining parties to terminate. The QUIT messages do not compromise the safety guarantees since t+1 READY messages are required to obtain output, and global termination relies on the fact that if the honest parties do not multicast QUIT before some honest party terminates, then the first honest termination occurs after t+1 honest parties multicast ⟨READY,v⟩ for some v, which means that every honest party will multicast ⟨READY,v⟩ or QUIT.

Theorem 2.

Ξ π–°π—Žπ—‚π— is a secure QBRB protocol when t<n3.

Proof.

Consistency and Validity.

For any v, let Pi be the first honest party who multicasts ⟨READY,v⟩. The party Pi cannot have done this after having received ⟨READY,v⟩ from t+1 parties, because then there would need to exist a prior honest party who multicast ⟨READY,v⟩. Therefore, Pi must have received ⟨ECHO,v⟩ from ⌊n+t2βŒ‹+1 parties.

For contradiction, suppose that for some distinct v and vβ€², some honest parties multicast ⟨READY,v⟩ and some honest parties multicast ⟨READY,vβ€²βŸ©. Let P and Pβ€² be the first honest parties who respectively multicast ⟨READY,v⟩ and ⟨READY,vβ€²βŸ©. Then, P must have received ⟨ECHO,v⟩ from ⌊n+t2βŒ‹+1 parties, and Pβ€² must have received ⟨ECHO,vβ€²βŸ© from ⌊n+t2βŒ‹+1 parties. These quorums have an intersection of at least t+1 parties, and hence we get the contradiction that an honest party must have sent ⟨ECHO,v⟩ to P and ⟨ECHO,vβ€²βŸ© to Pβ€².

Suppose some honest Pi outputs v. Then, Pi must have received ⟨READY,v⟩ from at least t+1 parties, at least one of which is honest. Since honest parties cannot multicast ⟨READY,vβ€²βŸ© for any vβ€²β‰ v, no honest party outputs any vβ€²β‰ v. That is, we have consistency.

Furthermore, if Pβˆ— is honest, then the only message on which a party may receive ECHO messages from ⌊n+t2βŒ‹+1>t parties is the input vβˆ— of Pβˆ—, after Pβˆ— has acquired vβˆ— and multicast ⟨INIT,vβˆ—βŸ©. This implies validity since an honest party can output any v only after some honest party receives ⟨ECHO,v⟩ from ⌊n+t2βŒ‹+1 parties and multicasts ⟨READY,v⟩.

Local Termination.

For contradiction, consider a counterexample execution of Ξ π–°π—Žπ—‚π— where Pβˆ— is honest, and it acquires an input, but no honest party terminates or quits. Then, the honest parties participate forever in the execution. Every honest party receives ⟨INIT,vβˆ—βŸ© from Pβˆ— and thus multicasts ⟨ECHO,vβˆ—βŸ©. Then, every honest party receives ⟨ECHO,vβˆ—βŸ© from nβˆ’tβ‰₯⌊n+t2βŒ‹+1 parties and thus multicasts ⟨READY,vβˆ—βŸ© if it has not multicast a READY message (which would have to be ⟨READY,vβˆ—βŸ©) already. Finally, since all honest parties multicast ⟨READY,vβˆ—βŸ©, some honest party terminates after receiving the message QUIT from f byzantine parties (where f≀t) and receiving ⟨READY,vβˆ—βŸ© from 2⁒t+1βˆ’f≀nβˆ’t parties. This contradicts the assumption that no honest party terminates.

Global Termination.

Suppose some honest Pi terminates with the output v, with no honest parties terminating or quitting earlier. Then, Pi must have received ⟨READY,v⟩ from 2⁒t+1βˆ’f parties, where f is the number of QUIT messages Pi received. These f messages must have corrupt senders because honest parties do not quit before Pi terminates. Since Pi does not accept both a QUIT message and a READY message from the same party, at least 2⁒t+1βˆ’fβˆ’(tβˆ’f)=t+1 of the parties from whom Pi accepted the message ⟨READY,v⟩ must be honest. So, every honest party either multicasts QUIT, or receives ⟨READY,v⟩ from t+1 parties, which makes it set its output to v and multicast ⟨READY,v⟩ if it has not multicast a READY message (which would have to be ⟨READY,v⟩) already. Finally, every honest party either quits, or terminates after receiving from 2⁒t+1 parties the messages QUIT or ⟨READY,v⟩. Β β—€

We remark that we purposefully defined global termination so that it guarantees nothing if some honest party quits before any honest party terminates. In [23], the authors construct a signature-based reliable broadcast protocol which a party terminates upon receiving/constructing a certificate (that consists of the output y and signatures on y from t+1 parties), after multicasting the certificate so that everyone can terminate by receiving it. This protocol is (with the addition of an empty π–°π—Žπ—‚π—β’() procedure) a QBRB protocol which guarantees that if some honest party terminates, then every honest party who does not quit eventually terminates, no matter when any honest party quits. Our Ξ π–°π—Žπ—‚π— does not achieve this stronger global termination property, and we do not know whether any error-free QBRB protocol can.

5 Efficient Terminating Gather

In Gather, each party Pi may eventually acquire an β„“-bit input vi (where β„“ is publicly known), and each party Pi outputs a set of value-sender pairs Xi (with at most one value per sender). Against the t-adversary, a Gather protocol must achieve the following correctness properties:

  • β– 

    Common Core: There exists a common core set π’žβŠ†π’« of size at least nβˆ’t such that every honest output set Xi contains some (mj,Pj) for all Pjβˆˆπ’ž.

  • β– 

    Validity: If there exists some (mj,Pj)∈Xi for any honest Pi and Pj, then mj=vj.

  • β– 

    Consistency: If there exist some (m,P)∈Xi and (mβ€²,P)∈Xj for any honest Pi and Pj, then m=mβ€².

If the protocol is binding, then the following stronger version of common core must hold:

  • β– 

    Binding Common Core: At the moment when some honest party outputs for the first time, one can extract a common core set π’ž from the views of the honest parties.

Finally, the protocol should have one of the following termination-related properties:

  • β– 

    Liveness: Suppose the honest parties all eventually acquire inputs. If the honest parties all run the protocol forever, then they all obtain outputs from it.

  • β– 

    Termination: Suppose the honest parties all eventually acquire inputs. If the honest parties all run the protocol until they terminate it, then they all terminate the protocol.

  • β– 

    Strong Termination: If all honest parties eventually acquire inputs, then some honest party terminates; and if some honest party terminates, all honest parties terminate.

Strong termination is typically the termination property a termination procedure (e.g.Β reliable consensus [13]) achieves. To see why it matters, let Ξ L and Ξ T be Gather protocols, the former with liveness only. Let the parties run Ξ L on their inputs, transform their Ξ L outputs into Ξ T inputs, obtain final outputs from Ξ T, and terminate when they output. When a party terminates the composed protocol, it necessarily stops running Ξ L. Hence, the remaining parties might not output from Ξ L, and thus not acquire Ξ T inputs. Now, if Ξ T strongly terminates, then the composed protocol does so as well since no party quits Ξ L before some party terminates Ξ T. However, if Ξ T is just terminating, then the composed protocol might not terminate since some honest parties might never obtain Ξ T inputs. Approximate agreement protocols often consist of Gather iterations composed like this, and the strong termination of the last iteration suffices for the composed protocol to (strongly) terminate.

With Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 we denote the most efficient live Gather protocol we know of [15]. Instantiated with a state-of-the-art standard BRB protocol which requires π’ͺ⁒(ℓ⁒n+n2⁒log⁑n) bits of communication [6], it achieves the bit complexity π’ͺ⁒(ℓ⁒n2+n3⁒log⁑n). The protocol Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 is presented in [15], though for completeness we restate it and its security proof in the appendix. Note that Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 is not binding, but our strongly terminating Gather protocol Π𝖦𝗍𝗁𝗋 will be.

The protocol Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 involves n standard BRB broadcasts of β„“-bit inputs, n standard BRB broadcasts of n-bit inputs and n multicasts of n-bit inputs. To make Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 (strongly) terminate, it suffices to replace its standard BRB broadcasts and multicasts with QBRB broadcasts. The issue is that against t<n3 corruptions we do not know of a more efficient error-free QBRB protocol than Ξ π–°π—Žπ—‚π—, and replacing all standard BRB broadcasts and multicasts in Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 with Ξ π–°π—Žπ—‚π— instances results in the bit complexity π’ͺ⁒(ℓ⁒n3+n4). Our Π𝖦𝗍𝗁𝗋 protocol instead achieves strong termination while preserving the complexity π’ͺ⁒(ℓ⁒n2+n3⁒log⁑n).

5.1 k-slot Consensus

To construct Π𝖦𝗍𝗁𝗋, we need a 5-slot consensus444In the literature 5-slot consensus is better known as (binary) graded consensus, with the possible outputs (0,2),(0,1),(βŠ₯,0),(1,1),(1,2). We use the mapping [(0,2),(0,1),(βŠ₯,0),(1,1),(1,2)]↔[0,14,24,34,1]. We define k-slot consensus so that we can compare k-slot consensus outputs with numbers.protocol with strong termination. In a k-slot consensus protocol, each party Pi may eventually acquire an input vi∈{0,1} and obtain an output yi∈{0,1kβˆ’1,…,kβˆ’2kβˆ’1,1}. The following output correctness properties must hold:

  • β– 

    Validity: If for some b every honest input is b, then every honest output is b.

  • β– 

    k-Consistency: There exists some z such that every honest output is in {z,z+1kβˆ’1}.

Of course, a k-slot consensus protocol must also have some termination guarantee. This may be liveness, termination or strong termination, which are defined as they were for Gather.

In [22], the authors present a constant-round quorum-based termination procedure which when t<nmax⁑(3,Ο‰+1) turns any live protocol Ξ  where the honest parties obtain at most Ο‰ distinct outputs into a strongly terminating555In [22], the authors do not consider strong termination, and only prove that their procedure upgrades live protocols into terminating ones. However, upon inspection one can observe that their procedure results in strong termination. This is also the case for the reliable consensus termination procedure [13]. protocol where each honest party runs Ξ  with its input and terminates with the Ξ  output of some honest party. The procedure has an overhead of 3 additional rounds and π’ͺ⁒(ω⁒n2) additional messages carrying Ξ  outputs.

Since from k-slot consensus the honest parties obtain at most 2 distinct outputs and since k-slot consensus remains secure if the honest parties exchange their outputs, the procedure is perfectly suited to upgrade a live k-slot consensus protocol into a strongly terminating one when t<n3. In the appendix, we present the strongly terminating k-slot consensus protocol Π𝗄⁒-β’π—Œπ—…π—ˆπ— where we use the procedure on a live k-slot consensus protocol Π𝗄⁒-β’π—Œπ—…π—ˆπ—, alongside a proof since strong termination is not formally considered in [22].

In the rest of this section, we denote by Π𝟧⁒-β’π—Œπ—…π—ˆπ— the protocol Π𝗄⁒-β’π—Œπ—…π—ˆπ— instantiated with the constant-round error-free deterministic live 5-slot consensus protocol in [9] which we call Π𝟧⁒-⁒𝗅𝗂𝗏𝖾. Against t<n3 corruptions, Π𝟧⁒-⁒𝗅𝗂𝗏𝖾 achieves 5-slot consensus with π’ͺ⁒(n2) bits/messages. The 5-slot consensus protocol Π𝟧⁒-β’π—Œπ—…π—ˆπ— has the same corruption tolerance t<n3 and the same asymptotic complexity as Π𝟧⁒-⁒𝗅𝗂𝗏𝖾, and it is error-free and deterministic like Π𝟧⁒-⁒𝗅𝗂𝗏𝖾.

5.2 Online Error Correction

We use online error correction [8] based on Reed-Solomon error correcting codes [25] in order to obtain a communication complexity of the form π’ͺ⁒(ℓ⁒n2+…) for Π𝖦𝗍𝗁𝗋. For some a>log2⁑(n), we use the following two functions:

  • β– 

    π–€π—‡π–Όπ—ˆπ–½π–Ύβ’(m): This function takes a message m of length aβ‹…(nβˆ’2⁒t), and outputs a codeword (s1,…,sn) of n symbols in the Galois Field G⁒F⁒(2a), each of which are a bits long.

  • β– 

    π–³π—‹π—’π–£π–Ύπ–Όπ—ˆπ–½π–Ύβ’(s1,…,sn): This function takes as input n symbols s1,…,sn∈G⁒F⁒(2a)βˆͺ{βŠ₯}. With respect to a message m with π–€π—‡π–Όπ—ˆπ–½π–Ύβ’(m)=(s1β€²,…,snβ€²); we call a symbol sj correct if sj=sjβ€², missing if sj=βŠ₯, and incorrect otherwise. When used with at most t missing symbols and at most t incorrect symbols with respect to some m, π–³π—‹π—’π–£π–Ύπ–Όπ—ˆπ–½π–Ύβ’(s1,…,sn) outputs m if at least nβˆ’t of the symbols are correct with respect to m, and βŠ₯ otherwise.

To use error correction on messages of any arbitrary length β„“, we pad the messages to the length aβ‹…(nβˆ’2⁒t) for some a>log2⁑(n). This gives us the symbol bit length a=max⁑(βŒˆβ„“nβˆ’2⁒tβŒ‰,⌊log2⁑(n)βŒ‹+1)=π’ͺ⁒(β„“n+log⁑n). For readability, we omit explicit padding/unpadding operations.

Online error correction is useful when there is a message m with π–€π—‡π–Όπ—ˆπ–½π–Ύβ’(m)=(s1,…,sn) such that each honest Pj multicasts sj. Then, each honest Pi can keep track of the symbols it receives, and upon receiving nβˆ’t+r symbols for each r∈{0,…,t} run π–³π—‹π—’π–£π–Ύπ–Όπ—ˆπ–½π–Ύ in an attempt to obtain m. The output will be m or βŠ₯ in each trial as in each trial there will be at most t missing symbols and at most t incorrect symbols with respect to m. Furthermore, since Pi can eventually receive the symbol sj from each honest Pj, in some π–³π—‹π—’π–£π–Ύπ–Όπ—ˆπ–½π–Ύ trial there will be nβˆ’t correct symbols and m will be the output.

The most efficient standard BRB protocol we are aware of [6] uses the online error correction approach above to achieve the bit complexity π’ͺ⁒(ℓ⁒n+n2⁒log⁑n). The approach falters for QBRB because an honest party may quit a QBRB instance without ever sending any message related to the sender’s input. This prevents us from designing a QBRB protocol against t<n3 corruptions (and not just t≀(1βˆ’Ξ΅)⁒n3 for a positive constant Ξ΅) with the bit complexity π’ͺ⁒(ℓ⁒n+n2⁒log⁑n). Nevertheless, we are able to use online error correction in Π𝖦𝗍𝗁𝗋.

5.3 The Gather Protocol

The Gather protocol Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 is similar to Π𝖠𝗅𝗅 in that the parties broadcast their inputs with standard BRB instances, and each honest Pi inserts a value-sender pair to its output set Xi when it terminates a BRB instance. In Π𝖦𝗍𝗁𝗋 we use Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾, but with external access to the output set Xi which each honest Pi builds in Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾. Hence, we denote the Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 output of each honest Pi with Zi. The set Zi is a snapshot of Xi made when Pi outputs from Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾.

Inspired by the classical ACS protocol in [8] which involves one byzantine agreement instance per party to decide whether the party’s input gets into the core set, we run n instances of Π𝟧⁒-β’π—Œπ—…π—ˆπ—, named Π𝟧⁒-β’π—Œπ—…π—ˆπ—1,…,Π𝟧⁒-β’π—Œπ—…π—ˆπ—n. Upon obtaining Zi from Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾, the party Pi provides an input to each Π𝟧⁒-β’π—Œπ—…π—ˆπ— instance; the input is 1 if there exists a pair (mj,Pj)∈Zi.

We call an honest Pi happy if it has terminated every Π𝟧⁒-β’π—Œπ—…π—ˆπ— instance, and has inserted some (mj,Pj) to Xi whenever gijβ‰₯14. Note that gij>14 indicates by the validity of Π𝟧⁒-β’π—Œπ—…π—ˆπ— that some honest Pk has (mj,Pj)∈Zk. So, unless some honest party stops running Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾, eventually Pi can terminate the standard BRB terminated by Pk and insert (mj,Pj) to Xi. Upon becoming happy, the party Pi lets (Sj,1,…⁒Sj,n)=π–€π—‡π–Όπ—ˆπ–½π–Ύβ’(mj) if gijβ‰₯14, and lets (Sj,1,…⁒Sj,n)=(βŠ₯,…,βŠ₯) otherwise. Then, Pi sends each Pj the message ⟨YOURS,(S1,j,…,Sn,j)⟩.

Suppose that a party Pi terminates Π𝟧⁒-β’π—Œπ—…π—ˆπ—j with gijβ‰₯24, and that there are at least t+1 happy parties. Then, by the 5-consistency of Π𝟧⁒-β’π—Œπ—…π—ˆπ—j, every happy party Pk has gkjβ‰₯14, and thus the happy parties send YOURS vectors to Pi with a common non-βŠ₯ jth symbol. So, every party Pi can (and must, before it terminates Π𝖦𝗍𝗁𝗋) eventually multicast ⟨MINE,(s1,…,sn)⟩, where for all j, if gij≀14 then sj=βŠ₯, and otherwise sj is the common non-βŠ₯ jth symbol in t+1 YOURS vectors which Pi receives. Note that if sjβ‰ βŠ₯, then sj is the ith symbol of π–€π—‡π–Όπ—ˆπ–½π–Ύβ’(mj), where mj is the unique message such that some honest Pk has (mj,Pj)∈Xk.

Finally, a party Pi could terminate Π𝟧⁒-β’π—Œπ—…π—ˆπ—j with gijβ‰₯34. Then, to ensure the binding common core property, Pi must insert some (mj,Pj) to its Π𝖦𝗍𝗁𝗋 output set Qi. By the 5-consistency of Π𝟧⁒-β’π—Œπ—…π—ˆπ—j, every honest Pk has gkjβ‰₯24, which means that Pk multicasts a MINE vector whose jth symbol is the kth symbol of π–€π—‡π–Όπ—ˆπ–½π–Ύβ’(mj), where mj is the unique message such that some honest Pq has (mj,Pj)∈Xq. So, Pi can obtain mj via online error correction.

In Π𝖦𝗍𝗁𝗋, we use READY quorums of size t+1 and 2⁒t+1 in the manner of Bracha’s protocol to ensure without impacting liveness that no honest party terminates before t+1 parties become happy. Since a party must terminate every Π𝟧⁒-β’π—Œπ—…π—ˆπ— instance to become happy, the strong termination of Π𝟧⁒-β’π—Œπ—…π—ˆπ— ensures that every honest party terminates every Π𝟧⁒-β’π—Œπ—…π—ˆπ— instance. Furthermore, the YOURS vectors multicast by at least t+1 happy parties ensure that the parties all multicast MINE vectors, and thus that they all construct the messages they need.

When a party Pi terminates Π𝖦𝗍𝗁𝗋, one can use its view to compute the binding common core π’ži={Pjβˆˆπ’«:gij=1}. The common core property of Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 and the validity of Π𝟧⁒-β’π—Œπ—…π—ˆπ— ensure that π’žiβŠ‡π’žβ€² where π’žβ€² is any common core of Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾, and therefore that |π’ži|β‰₯nβˆ’t. Moreover, π’ži is a common core since the 5-consistency of Π𝟧⁒-β’π—Œπ—…π—ˆπ— ensures that for all Pkβˆˆπ’ži, every honest Pj obtains gjkβ‰₯34, and therefore inserts some (mk,Pk) to Qj.

In Π𝖦𝗍𝗁𝗋, the parties send π’ͺ⁒(ℓ⁒n2+n3⁒log⁑n) bits/π’ͺ⁒(n3) messages in Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾, π’ͺ⁒(n3⁒log⁑n) bits/π’ͺ⁒(n3) messages in the n instances of Π𝟧⁒-β’π—Œπ—…π—ˆπ— (the log⁑n factor is from ⌈log2⁑(n)βŒ‰-bit message tags which are necessary to distinguish the Π𝟧⁒-β’π—Œπ—…π—ˆπ— instances), π’ͺ⁒(n2) bits/messages for the READY notifications, and finally π’ͺ⁒(l⁒n2+n3⁒log⁑n) bits/π’ͺ⁒(n2) messages for the YOURS and MINE vectors. Hence, the complexity of Π𝖦𝗍𝗁𝗋 is π’ͺ⁒(ℓ⁒n2+n3⁒log⁑n) bits and π’ͺ⁒(n3) messages.

Theorem 3.

Π𝖦𝗍𝗁𝗋 is a secure binding Gather protocol with strong termination when t<n3.

Due to a lack of space, we formally prove Theorem 3 in the appendix.

Some Gather variants also achieve the property verifiability [3, 4, 26]. Essentially (as defined in [26]), each honest Pi has a function 𝖡𝖾𝗋𝗂𝖿𝗒i which outputs a bit given Pi’s current view and any party set 𝒫′. 𝖡𝖾𝗋𝗂𝖿𝗒i⁒(𝒫′) outputs 0 if 𝒫′ does not contain the binding common core, and eventually outputs 1 if 𝒫′ is the set of the senders in Qj for some honest Pj. Also, if 𝖡𝖾𝗋𝗂𝖿𝗒i⁒(𝒫′)=1 at any time, then 𝖡𝖾𝗋𝗂𝖿𝗒i⁒(𝒫′)=1 at any later time. To achieve verifiability, we can replace 5-slot consensus in Π𝖦𝗍𝗁𝗋 with 6-slot consensus, and require each Pi to include some (mj,Pj) in its output set Qi when gijβ‰₯35. Then, from Pi we can extract the binding common core {Pjβˆˆπ’«:gij=1}, and for each Pj let 𝖡𝖾𝗋𝗂𝖿𝗒j⁒(𝒫′) output 1 after Pj terminates iff π’«β€²βŠ‡{Pkβˆˆπ’«:gjkβ‰₯45}. However, this is insufficient for the β€œagreement on verification” in [3, 4], which requires for all 𝒫′ that if 𝖡𝖾𝗋𝗂𝖿𝗒i⁒(𝒫′) outputs 1 for some Pi, then eventually 𝖡𝖾𝗋𝗂𝖿𝗒j⁒(𝒫′) outputs 1 for all Pj. We do not see a way to achieve termination and β€œagreement on verification” together without switching from Gather to asynchronous core set agreement.

6 QBRB Against Arbitrary Quits

The QBRB protocol Ξ π–°π—Žπ—‚π— in Section 4 loses its termination guarantees if any honest party quits before some honest party terminates. Now, we design an error-free deterministic QBRB variant Π𝖠𝗇𝗒 which keeps its termination guarantees no matter when any honest party quits.

Of course, such lax participation from the honest parties makes the standard output guarantees impossible. Hence, we introduce the extra outputs βŠ₯ and ⊀. For some publicly known q, if at most q honest parties quit before some honest party terminates, then Π𝖠𝗇𝗒 is just a QBRB protocol, albeit one with an extra output ⊀ to indicate that the sender quit before it acquired an input. If more than q honest parties quit before some honest party terminates, then we relax the output guarantees and give each party the individual option to output βŠ₯. The protocol Π𝖠𝗇𝗒 optimally requires 4⁒t+q<n for this, which means that if tβ‰ͺn, then almost every honest party can quit without the output βŠ₯ becoming permitted.

Formally, let β„³ be the input domain of Π𝖠𝗇𝗒, with β„³βˆ©{βŠ₯,⊀}=βˆ…. The protocol Π𝖠𝗇𝗒 has the output domain β„³βˆͺ{βŠ₯,⊀}, and given a fixed sender party Pβˆ— who may eventually acquire an input vβˆ—βˆˆβ„³, it guarantees the following against the (t,π–Όπ—‹π–Ίπ—Œπ—)-adversary:

  • β– 

    Validity: Suppose Pβˆ— is honest. If an honest Pi outputs yiβˆˆβ„³, then Pβˆ— has acquired vβˆ—=yi, and if an honest Pi outputs ⊀, then Pβˆ— has quit before acquiring an input.

  • β– 

    Consistency: If honest parties Pi and Pj output yiβ‰ βŠ₯ and yjβ‰ βŠ₯, then yi=yj.

  • β– 

    Robustness: If at most q honest parties quit before some honest party terminates, then no honest party outputs βŠ₯.

  • β– 

    Local Termination: If Pβˆ— is honest, and it either acquires an input or quits before doing so, then either some honest party terminates, or all honest parties quit.

  • β– 

    Global Termination: If some honest party terminates, then every honest party either terminates or quits.

As per the definition of the (t,π–Όπ—‹π–Ίπ—Œπ—)-adversary in Section 2, the protocol Π𝖠𝗇𝗒 achieves security even if the reason a party quits is that it has suffered a transient crash. This makes Π𝖠𝗇𝗒 of practical interest when the parties are prone to such crashes. For example, a party could get disconnected from the network or run out of battery while running Π𝖠𝗇𝗒. Then, upon recovering, the party would invoke π–°π—Žπ—‚π—β’() to help the remaining parties terminate.

In Π𝖠𝗇𝗒, transient crash tolerance follows from quit tolerance. If a party invokes π–°π—Žπ—‚π—β’() upon recovering from a crash, then the protocol proceeds almost as if the party never crashed, but just invoked π–°π—Žπ—‚π—β’() while running normally. From before crashing a party must retain only the information that π–°π—Žπ—‚π—β’() needs. In Π𝖠𝗇𝗒, a party must remember the kinds of messages (among INIT, ECHO, READY) that it multicast before crashing.

Theorem 4.

Π𝖠𝗇𝗒 is secure when 4⁒t+q<n.

Due to a lack of space, we formally prove Theorem 4 in the appendix. Note that 4⁒t+q<n is optimal (by Theorem 5) even if the honest parties cannot transiently crash.

The main innovation in Π𝖠𝗇𝗒 is the flexible ECHO quorum threshold, which allows the honest parties to form ECHO quorums on the INIT value vβˆ— of an honest sender Pβˆ— (the input of Pβˆ—, or ⊀ if Pβˆ— quits before acquiring an input) as long as at most t+q honest parties quit. If Pβˆ— is honest, it multicasts ⟨INIT,vβˆ—βŸ©, and at most t+q honest parties quit, then for some f≀t+q there exist at least nβˆ’tβˆ’f honest parties who multicast ⟨ECHO,vβˆ—βŸ© and at least f honest parties who multicast ⟨ECHO,βŠ₯⟩. Since nβˆ’tβˆ’f>max⁑(t,n+tβˆ’f2), this suffices for the honest parties to be able to form quorums on vβˆ—.

As usual, conflicting ECHO quorums do not occur because each honest party multicasts at most one ECHO message. Intuitively, if the adversary can create conflicting quorums on v and vβ€² with ⟨ECHO,βŠ₯⟩ messages, then it can also do so with just ⟨ECHO,v⟩ and ⟨ECHO,vβ€²βŸ© messages. So, consider the case where the corrupt parties never send ⟨ECHO,βŠ₯⟩. If f≀n honest parties multicast ⟨ECHO,βŠ₯⟩, then a party must receive ⟨ECHO,v⟩ from more than n+tβˆ’f2 parties to form an ECHO quorum on v. Conflicting quorums on vβ‰ vβ€² do not occur since at most nβˆ’f parties send either ⟨ECHO,v⟩ or ⟨ECHO,vβ€²βŸ©. Lastly, an invalid quorum on v (formed without Pβˆ— sending ⟨INIT,v⟩) is prevented by a quorum on v requiring at least t+1 ⟨ECHO,v⟩ messages.

If an honest party quits, then it multicasts both QUIT and some READY message. If t+q+1 honest parties quit, then the t+q+1 QUIT messages they multicast suffice for every honest party to multicast a READY message. Hence, every honest party can receive READY messages from nβˆ’t parties and terminate. On the other hand, if at most t+q honest parties quit, then we get local termination by the fact that after the honest sender Pβˆ— multicasts ⟨INIT,vβˆ—βŸ©, every honest party receives sufficiently many ECHO messages to multicast ⟨READY,vβˆ—βŸ©.

If some honest party terminates, then there are at least nβˆ’2⁒tβ‰₯2⁒t+q+1 honest parties who multicast READY messages. Since for some vβ‰ βŠ₯ every honest READY message is either ⟨READY,v⟩ or ⟨READY,βŠ₯⟩, either there are at least t+1 honest parties who multicast ⟨READY,v⟩, or there are at least t+q+1 honest parties who multicast ⟨READY,βŠ₯⟩. Either way, every honest party multicasts a READY message, and so every honest party can terminate.

Finally, if at most q honest parties quit before some honest Pi terminates, then Pi terminates with at most q honest copies of ⟨READY,βŠ₯⟩. Hence, Pi terminates with at least nβˆ’2⁒tβˆ’q honest copies of ⟨READY,v⟩ for some vβ‰ βŠ₯. The senders of these copies do not send READY messages on any vβ€²β‰ v; so, any honest Pj who terminates (including Pi) does so after receiving nβˆ’3⁒tβˆ’qβ‰₯t+1 honest copies of ⟨READY,v⟩ and setting its output to v.

Theorem 5.

If |β„³|β‰₯2, nβ‰₯3, tβ‰₯1 and 4⁒t+qβ‰₯n, then no broadcast protocol achieves against the t-adversary the properties validity, consistency, robustness, local termination and global termination (all as defined for Π𝖠𝗇𝗒).

Proof.

Suppose β„³βŠ‡{m,mβ€²} for some mβ‰ mβ€², nβ‰₯3, tβ‰₯1 and 4⁒t+qβ‰₯n. We partition 𝒫 into five sets S1,S2,S3,QC,QH, where 1≀|S1|,|S2|,|S3|≀t, |QC|≀t and |QH|≀q. Let us consider a broadcast instance where Pβˆ—βˆˆS2.

In the five scenarios below, the parties in QH are honest, and they quit immediately. The parties in QC also quit immediately, but they may be corrupt parties only pretending to quit. Note that the sender’s input does not influence the behavior of a non-sender who immediately quits. Finally, the parties in S1, S2 and S3 never quit or pretend to quit. In the first two scenarios, the parties in S1 and S2 are honest, and Pβˆ— has the input m.

  • β– 

    Scenario 1: In this scenario, S3 is the set of corrupt parties, and the parties in S3 immediately crash. The parties in S1 must terminate despite never hearing from S3.

  • β– 

    Scenario 2: In this scenario, QC is the set of corrupt parties, and the messages from S3 are delayed. The parties in S1 cannot afford to wait for messages from S3, because for them this scenario is indistinguishable from Scenario 1. Hence, they must all terminate. Furthermore, they must output m because at most q honest parties quit before some honest party terminates and because the honest sender Pβˆ— never quits.

In the next two scenarios, the parties in S2 and S3 are honest, and Pβˆ— has the input mβ€².

  • β– 

    Scenario 3: In this scenario, S1 is the set of corrupt parties, and the parties in S1 immediately crash. The parties in S3 must terminate despite never hearing from S1.

  • β– 

    Scenario 4: In this scenario, QC is the set of corrupt parties, and the messages from S1 are delayed. Being in the same predicament as the parties in S1 in Scenario 2, the parties in S3 must all terminate with the output mβ€² without waiting for messages from S1.

Finally, consider Scenario 5, where the adversary successfully executes a split-brain attack.

  • β– 

    Scenario 5: In this scenario, S2 is the set of corrupt parties. The parties in S2 act towards S1 as if Pβˆ— has the input m and the messages from S3 are delayed, and act towards S2 as if Pβˆ— has the input mβ€² and the messages from S1 are delayed. Moreover, the communication between S1 and S3 is indefinitely delayed. The parties in S1 output m as they cannot distinguish this scenario from Scenario 2. Likewise, the parties in S3 output mβ€² as they cannot distinguish this scenario from Scenario 4. This violates consistency.

β—€

References

  • [1] Ittai Abraham. Living with asynchrony: Bracha’s reliable broadcast. Decentralized Thoughts, 2020. URL: https://decentralizedthoughts.github.io/2020-09-19-living-with-asynchrony-brachas-reliable-broadcast/.
  • [2] Ittai Abraham, Yonatan Amit, and Danny Dolev. Optimal resilience asynchronous approximate agreement. In Proceedings of the 8th International Conference on Principles of Distributed Systems, OPODIS ’04, pages 229–239, Berlin, Heidelberg, 2004. Springer-Verlag. doi:10.1007/11516798_17.
  • [3] Ittai Abraham, Gilad Asharov, Arpita Patra, and Gilad Stern. Perfectly secure asynchronous agreement on a core set in constant expected time. Cryptology ePrint Archive, Paper 2023/1130, 2023. URL: https://eprint.iacr.org/2023/1130.
  • [4] Ittai Abraham, Philipp Jovanovic, Mary Maller, Sarah Meiklejohn, Gilad Stern, and Alin Tomescu. Reaching consensus for asynchronous distributed key generation. In Proceedings of the 2021 ACM Symposium on Principles of Distributed Computing, PODC ’21, pages 363–373, New York, NY, USA, 2021. Association for Computing Machinery. doi:10.1145/3465084.3467914.
  • [5] Ittai Abraham and Gilad Stern. Information Theoretic HotStuff. In Quentin Bramas, Rotem Oshman, and Paolo Romano, editors, 24th International Conference on Principles of Distributed Systems (OPODIS 2020), volume 184 of Leibniz International Proceedings in Informatics (LIPIcs), pages 11:1–11:16, Dagstuhl, Germany, 2021. Schloss Dagstuhl – Leibniz-Zentrum fΓΌr Informatik. doi:10.4230/LIPIcs.OPODIS.2020.11.
  • [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 Proceedings of the 2022 ACM Symposium on Principles of Distributed Computing, PODC ’22, pages 399–417, New York, NY, USA, 2022. Association for Computing Machinery. doi:10.1145/3519270.3538475.
  • [7] Michael Backes and Christian Cachin. Reliable broadcast in a computational hybrid model with byzantine faults, crashes, and recoveries. In 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings., pages 37–46, 2003. doi:10.1109/DSN.2003.1209914.
  • [8] Michael Ben-Or, Ran Canetti, and Oded Goldreich. Asynchronous secure computation. In Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing, STOC ’93, pages 52–61, New York, NY, USA, 1993. Association for Computing Machinery. doi:10.1145/167088.167109.
  • [9] Erica Blum, Jonathan Katz, and Julian Loss. Synchronous consensus with optimal asynchronous fallback guarantees. In Theory of Cryptography, pages 131–150, Cham, Switzerland, 2019. Springer International Publishing. doi:10.1007/978-3-030-36030-6_6.
  • [10] Gabriel Bracha. Asynchronous byzantine agreement protocols. Information and Computation, 75(2):130–143, 1987. doi:10.1016/0890-5401(87)90054-X.
  • [11] Christian Cachin. Secure distributed computing. Γ‰cole Polytechnique FΓ©dΓ©rale de Lausanne, 2009. URL: https://dcl.epfl.ch/site/_media/education/sdc_byzconsensus.pdf.
  • [12] Ran Canetti and Tal Rabin. Fast asynchronous byzantine agreement with optimal resilience. In Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing, STOC ’93, pages 42–51, New York, NY, USA, 1993. Association for Computing Machinery. doi:10.1145/167088.167105.
  • [13] Annick Chopard, Martin Hirt, and Chen-Da Liu-Zhang. On communication-efficient asynchronous mpc with adaptive security. In Theory of Cryptography: 19th International Conference, TCC’21, pages 35–65, Berlin, Heidelberg, 2021. Springer-Verlag. doi:10.1007/978-3-030-90453-1_2.
  • [14] Ran Cohen, Pouyan Forghani, Juan Garay, Rutvik Patel, and Vassilis Zikas. Concurrent asynchronous byzantine agreement inΒ expected-constant rounds, revisited. In Theory of Cryptography, pages 422–451, Cham, Switzerland, 2023. Springer Nature Switzerland. doi:10.1007/978-3-031-48624-1_16.
  • [15] Andrei Constantinescu, Diana Ghinea, Roger Wattenhofer, and Floris Westermann. Convex Consensus with Asynchronous Fallback. In Dan Alistarh, editor, 38th International Symposium on Distributed Computing (DISC 2024), volume 319 of Leibniz International Proceedings in Informatics (LIPIcs), pages 15:1–15:23, Dagstuhl, Germany, 2024. Schloss Dagstuhl – Leibniz-Zentrum fΓΌr Informatik. doi:10.4230/LIPIcs.DISC.2024.15.
  • [16] Sourav Das, Sisi Duan, Shengqi Liu, Atsuki Momose, Ling Ren, and Victor Shoup. Asynchronous consensus without trusted setup or public-key cryptography. Cryptology ePrint Archive, Paper 2024/677, 2024. Appeared in ACM CCS ’24. doi:10.1145/3658644.3670327.
  • [17] MichaelΒ J. Fischer, NancyΒ A. Lynch, and MichaelΒ S. Paterson. Impossibility of distributed consensus with one faulty process. In Proceedings of the 2nd ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, PODS ’83, pages 1–7, New York, NY, USA, 1983. Association for Computing Machinery. doi:10.1145/588058.588060.
  • [18] Luciano Freitas, Petr Kuznetsov, and Andrei Tonkikh. Distributed Randomness from Approximate Agreement. In Christian Scheideler, editor, 36th International Symposium on Distributed Computing (DISC 2022), volume 246 of Leibniz International Proceedings in Informatics (LIPIcs), pages 24:1–24:21, Dagstuhl, Germany, 2022. Schloss Dagstuhl – Leibniz-Zentrum fΓΌr Informatik. doi:10.4230/LIPIcs.DISC.2022.24.
  • [19] Diana Ghinea, Chen-Da Liu-Zhang, and Roger Wattenhofer. Optimal synchronous approximate agreement with asynchronous fallback. In Proceedings of the 2022 ACM Symposium on Principles of Distributed Computing, PODC ’22, pages 70–80, New York, NY, USA, 2022. Association for Computing Machinery. doi:10.1145/3519270.3538442.
  • [20] Diana Ghinea, Chen-Da Liu-Zhang, and Roger Wattenhofer. Multidimensional approximate agreement with asynchronous fallback. In Proceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA ’23, pages 141–151, New York, NY, USA, 2023. Association for Computing Machinery. doi:10.1145/3558481.3591105.
  • [21] Hammurabi Mendes and Maurice Herlihy. Multidimensional approximate agreement in byzantine asynchronous systems. In Proceedings of the Forty-Fifth Annual ACM Symposium on Theory of Computing, STOC ’13, pages 391–400, New York, NY, USA, 2013. Association for Computing Machinery. doi:10.1145/2488608.2488657.
  • [22] Mose MizrahiΒ Erbes and Roger Wattenhofer. Asynchronous approximate agreement with quadratic communication, 2024. arXiv:2408.05495, doi:10.48550/arXiv.2408.05495.
  • [23] Atsuki Momose and Ling Ren. Multi-threshold byzantine fault tolerance. In Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security, CCS ’21, pages 1686–1699, New York, NY, USA, 2021. Association for Computing Machinery. doi:10.1145/3460120.3484554.
  • [24] Thomas Nowak and Joel Rybicki. Byzantine Approximate Agreement on Graphs. In Jukka Suomela, editor, 33rd International Symposium on Distributed Computing (DISC 2019), volume 146 of Leibniz International Proceedings in Informatics (LIPIcs), pages 29:1–29:17, Dagstuhl, Germany, 2019. Schloss Dagstuhl – Leibniz-Zentrum fΓΌr Informatik. doi:10.4230/LIPIcs.DISC.2019.29.
  • [25] I.Β S. Reed and G.Β Solomon. Polynomial codes over certain finite fields. Journal of the Society for Industrial and Applied Mathematics, 8(2):300–304, 1960. doi:10.1137/0108018.
  • [26] Gilad Stern and Ittai Abraham. Gather with binding and verifiability. Decentralized Thoughts, 2024. URL: https://decentralizedthoughts.github.io/2024-01-09-gather-with-binding-and-verifiability/.
  • [27] NitinΒ H. Vaidya and VijayΒ K. Garg. Byzantine vector consensus in complete graphs. In Proceedings of the 2013 ACM Symposium on Principles of Distributed Computing, PODC ’13, pages 65–73, New York, NY, USA, 2013. Association for Computing Machinery. doi:10.1145/2484239.2484256.

Appendix A Strongly Terminating k-slot Consensus

In the protocol Π𝗄⁒-β’π—Œπ—…π—ˆπ— below, we use the termination procedure from [22] to upgrade any live k-slot consensus protocol Π𝗄⁒-⁒𝗅𝗂𝗏𝖾 into a strongly terminating one. Strong termination is the combination of local termination (some honest party terminates) and global termination (if some honest party terminates, every honest party terminates), and Π𝗄⁒-β’π—Œπ—…π—ˆπ— ensures global termination with READY quorums. If some honest party terminates, then it has received 2⁒t+1 READY messages, at least t+1 of which are honest, and so every honest party receives t+1 honest READY messages, multicasts READY, and receives 2⁒t+1 READY messages. Furthermore, the first honest party who multicasts READY does so upon receiving some Π𝗄⁒-⁒𝗅𝗂𝗏𝖾 output z from 2⁒t+1 parties, which means that every honest party can set z as its output upon receiving z from t+1 honest parties.

Theorem 6.

Suppose Π𝗄⁒-⁒𝗅𝗂𝗏𝖾 achieves validity, k-consistency and liveness when t<n3. Then, Π𝗄⁒-β’π—Œπ—…π—ˆπ— achieves validity, k-consistency and strong termination when t<n3.

Proof.

k-Consistency and Validity.

An honest party must receive z from t+1 parties (at least one of which is honest) to output z, and for any z, the first honest party who multicasts z must have output z from Π𝗄⁒-⁒𝗅𝗂𝗏𝖾. Hence, every honest Π𝗄⁒-β’π—Œπ—…π—ˆπ— output is the Π𝗄⁒-⁒𝗅𝗂𝗏𝖾 output of some honest party. The k-consistency and validity of Π𝗄⁒-β’π—Œπ—…π—ˆπ— thus follow from the k-consistency and validity of Π𝗄⁒-⁒𝗅𝗂𝗏𝖾.

Strong Termination.

To prove strong termination, we prove local termination and global termination. Local termination guarantees that if the honest parties all eventually acquire inputs, then some honest party terminates. Global termination guarantees that if some honest party terminates, then all honest parties terminate.

For the sake of contradiction, consider an execution of Π𝗄⁒-β’π—Œπ—…π—ˆπ— where local termination fails. Every honest party provides an input to Π𝗄⁒-⁒𝗅𝗂𝗏𝖾, and hence every honest party obtains a Π𝗄⁒-⁒𝗅𝗂𝗏𝖾 output. By the k-consistency of Π𝗄⁒-⁒𝗅𝗂𝗏𝖾 there exists some z such that every honest Π𝗄⁒-⁒𝗅𝗂𝗏𝖾 output is either z or z+1kβˆ’1. By the pigeonhole principle there exists some zβ€²βˆˆ{z,z+1kβˆ’1} such that at least ⌈nβˆ’t2βŒ‰β‰₯t+1 honest parties output zβ€² from Π𝗄⁒-⁒𝗅𝗂𝗏𝖾. At least t+1 honest parties multicast zβ€², and this suffices for every honest Pi to receive zβ€² from t+1 parties, set yi←zβ€² if yi=βŠ₯ and multicast zβ€². Since all honest parties multicast zβ€², all honest parties can receive zβ€² from 2⁒t+1 parties and thus multicast READY. Finally, since all honest parties multicast READY, all honest parties can receive READY from 2⁒t+1 parties and thus terminate.

Now, let us show global termination. If some honest party terminates, then it must have received READY from 2⁒t+1 parties, at least t+1 of which are honest. Hence, every honest party multicasts READY, at the latest upon receiving READY from t+1 parties, and so any honest Pi who sets yiβ‰ βŠ₯ becomes able to terminate by receiving READY from 2⁒t+1 parties. Furthermore, the first honest party who multicasts READY does so when it has received some z from 2⁒t+1 parties, at least t+1 of which are honest. Since t+1 honest parties multicast z, every honest Pj can receive z from t+1 parties and set yj←z. β—€

Appendix B The Live Gather Protocol

Below, we present Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾, the most efficient live Gather protocol we are aware of [15]. It achieves the bit complexity π’ͺ⁒(ℓ⁒n2+n3⁒log⁑n) when instantiated with the state-of-the-art standard BRB protocol Π𝖫𝖑𝖱𝖑 with the bit complexity π’ͺ⁒(ℓ⁒n+n2⁒log⁑n) [6].

Theorem 7.

Π𝖦𝗍𝗁𝗋 is a secure Gather protocol with liveness when t<n3.

Proof.

Consistency and Validity.

The consistency and validity of Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 follow from the consistency and validity of Π𝖫𝖑𝖱𝖑0,1,…,Π𝖫𝖑𝖱𝖑0,n.

Liveness.

Since all honest parties broadcast their inputs, every honest Pi terminates nβˆ’t input broadcasts, and thus broadcasts W0i. All honest parties terminate all honest W0 set broadcasts, and if some honest Pi broadcasts W0i, then, by the global termination of Π𝖫𝖑𝖱𝖑, every honest Pj terminates all input broadcasts terminated by Pi, obtains W0jβŠ‡W0i, and adds Pi to W1j. This means that every honest Pi adds every honest Pj to W1i, and therefore that eventually |W1i|β‰₯nβˆ’t holds and Pi multicasts W1i. Afterwards, every honest Pj adds Pi to W2j after receiving W1i from Pi because eventually W1jβŠ‡W1i holds, due to the fact that whenever Pi adds any Pk to W1i, eventually Pj adds Pk to W1j as well since eventually W0jβŠ‡W0i holds and since Pj terminates Pk’s W0 set broadcast with the same W0 set as Pi. So, since every honest party adds every honest party to its W2 set, eventually |W2i|β‰₯nβˆ’t holds for every honest Pi. Finally, we conclude that every honest Pi obtains |W0i|β‰₯nβˆ’t, |W1i|β‰₯nβˆ’t and |W2i|β‰₯nβˆ’t, which leads to Pi outputting Xi.

Common Core.

Let β„‹ be the set of the first nβˆ’t honest parties Pi who obtain |W1i|=nβˆ’t. For each Piβˆˆβ„‹, the set W1i which Pi multicasts contains nβˆ’t parties, at least nβˆ’2⁒t of which are in β„‹. Hence, βˆ‘Piβˆˆβ„‹|W1iβˆ©β„‹|β‰₯(nβˆ’2⁒t)⁒(nβˆ’t).

There exists some Pkβˆˆβ„‹ included in the multicast W1 sets of at least nβˆ’2⁒t parties in β„‹. For contradiction, suppose otherwise. Then, for each Pjβˆˆβ„‹, less than nβˆ’2⁒t parties in β„‹ have W1 sets which include Pj. This implies βˆ‘Pjβˆˆβ„‹|{Piβˆˆβ„‹:Pj∈W1i}|<(nβˆ’2⁒t)⁒(nβˆ’t), which contradicts βˆ‘Pjβˆˆβ„‹|{Piβˆˆβ„‹:Pj∈W1i}|=βˆ‘Piβˆˆβ„‹|W1iβˆ©β„‹|β‰₯(nβˆ’2⁒t)⁒(nβˆ’t).

Suppose some honest Pi outputs from Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾. Consider the set W0k at the instant when Pk broadcasts it. Since at least nβˆ’2⁒tβ‰₯t+1 honest parties include Pk in the W1 sets which they multicast, Pi must have added some honest Pj to W2i from whom Pi received some W1jβŠ‡{Pk}. This implies W1iβŠ‡{Pk}, and W1iβŠ‡{Pk} implies W0kβŠ†W0i={Pjβˆˆπ’«:βˆƒ(m,Pj)∈Xi}. So, W0k is a common core. β—€

Appendix C Skipped Proofs

Theorem 3.

Π𝖦𝗍𝗁𝗋 is a secure binding Gather protocol with strong termination when t<n3.

Proof.

As we did for Π𝗄⁒-β’π—Œπ—…π—ˆπ—, we split strong termination into local and global termination.

Consistency and Validity.

Suppose some honest Pi includes some (mj,Pj) in its output set Qi. This requires gijβ‰₯34; hence, by the validity of Π𝟧⁒-β’π—Œπ—…π—ˆπ—, there exists some (unique, by the consistency of Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾) mjβ€² such that some honest parties have (mjβ€²,Pj) in their Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 output sets. We show below that mj=mjβ€². Note that this gives us consistency because if some Pk has some (mjβ€²β€²,Pj)∈Qk, then we have mjβ€²=mj=mjβ€²β€². We also get validity: If Pj is honest, then mjβ€²=mj must be the input of Pj by the validity of Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾.

Let (s1,…,sn)β†π–€π—‡π–Όπ—ˆπ–½π–Ύβ’(mjβ€²). The party Pi obtains mj via π–³π—‹π—’π–£π–Ύπ–Όπ—ˆπ–½π–Ύβ’(Mj,1,…,Mj,n), where Mj,k is either βŠ₯, or the non-βŠ₯ jth symbol in the MINE vector Pk sends to Pi. Assume now that if the latter is the case and Pk is honest, then Mj,k=sk. This implies that in any π–³π—‹π—’π–£π–Ύπ–Όπ—ˆπ–½π–Ύ attempt the vector (Mj,1,…,Mj,n) contains with respect to mjβ€² at most t incorrect symbols (from corrupt parties) and at most t missing symbols. Thus, the correctness of π–³π—‹π—’π–£π–Ύπ–Όπ—ˆπ–½π–Ύ ensures that π–³π—‹π—’π–£π–Ύπ–Όπ—ˆπ–½π–Ύβ’(Mj,1,…,Mj,n)∈{mjβ€²,βŠ₯} always holds.

It remains to prove the assumption that if Mj,kβ‰ βŠ₯ and Pk is honest, then Mj,k=sk. If Mj,kβ‰ βŠ₯ and Pk is honest, then Mj,k is a non-βŠ₯ symbol repeated at least t+1 times in the jth column of the Y matrix of Pk. Hence, some honest Pq must have sent Pk a message ⟨YOURS,(S1,k,…,Sn,k)⟩ with Sj,k=Mj,k. The party Pq must have had (mjβ€²,Pj)∈Xq and computed (Sj,1,…,Sj,n)β†π–€π—‡π–Όπ—ˆπ–½π–Ύβ’(mjβ€²). Therefore, we conclude that Mj,k=Sj,k=sk.

Global Termination.

If some honest party terminates, then it has received READY from 2⁒t+1 parties. We show below that for all honest parties to terminate, it suffices for some honest party to receive READY from 2⁒t+1 parties.

If an honest party has received READY from 2⁒t+1 parties, then at least t+1 honest parties have multicast READY. Every honest party becomes able to multicast READY by receiving READY from t+1 parties, and so every honest party receives READY from 2⁒t+1 parties.

The first honest party who multicasts READY must have done so because it has received YOURS vectors from 2⁒t+1 parties. Hence, there must exist at least t+1 happy parties Pi such that Pi has terminated all Π𝟧⁒-β’π—Œπ—…π—ˆπ— instances and there exists some (mj,Pj)∈Xi whenever gijβ‰₯14. Furthermore, because the happy parties have terminated all Π𝟧⁒-β’π—Œπ—…π—ˆπ— instances, the strong termination of Π𝟧⁒-β’π—Œπ—…π—ˆπ— implies that every honest party terminates every Π𝟧⁒-β’π—Œπ—…π—ˆπ— instance.

Suppose some honest Pi has gijβ‰₯24 for some j. Then, every happy Pk has gkjβ‰₯14 and thus has some (mj,Pj)∈Xk. This mj is the same for all happy parties by the consistency of standard BRB. Hence, every happy Pk computes (s1,…,sn)β†π–€π—‡π–Όπ—ˆπ–½π–Ύβ’(mj) and sends Pi a YOURS vector with the jth symbol si. The party Pi can thus find si to be the non-βŠ₯ symbol repeated at least t+1 times in the jth column of its matrix Y. This happens eventually for any j where gijβ‰₯24; hence, every honest party eventually multicasts some MINE vector.

Finally, suppose some honest Pi has gijβ‰₯34 for some j. Then, every honest Pk has gkjβ‰₯24, which means that the jth symbol of the MINE vector which Pk multicasts is the non-βŠ₯ symbol sk, which (as we showed while proving consistency) is such that (s1,…,sn)=π–€π—‡π–Όπ—ˆπ–½π–Ύβ’(mj) for some mj that is consistent for all honest parties. Since Pi can eventually store sk as Mj,k, eventually Pi’s vector (Mj,1,…,Mj,n) contains nβˆ’t correct symbols with respect to mj, π–³π—‹π—’π–£π–Ύπ–Όπ—ˆπ–½π–Ύβ’(Mk,1,…,Mk,n) outputs mj, and Pi inserts (mj,Pj) to Qi.

In the end, every honest Pi terminates Π𝖦𝗍𝗁𝗋 after terminating every Π𝟧⁒-β’π—Œπ—…π—ˆπ— instance, multicasting READY and receiving READY from 2⁒t+1 parties, multicasting some MINE vector and inserting some (mj,Pj) to Qi whenever gijβ‰₯34. This gives us global termination.

Local Termination.

For contradiction, suppose no honest party terminates. Then, every honest Pi eventually outputs some Zi from Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 and thus provides inputs to all Π𝟧⁒-β’π—Œπ—…π—ˆπ— instances. Hence, the honest parties terminate all Π𝟧⁒-β’π—Œπ—…π—ˆπ— instances. For any honest Pi, if for some j it is the case that gijβ‰₯14, then by the validity of Π𝟧⁒-β’π—Œπ—…π—ˆπ— some honest party must have terminated the standard BRB instance in Π𝖦𝗍𝗁𝗋𝖫𝗂𝗏𝖾 with which Pj broadcasts its input, and hence Pi terminates this BRB instance and inserts some (mj,Pj) to Xi as well. So, every honest Pi eventually becomes happy and sends out YOURS vectors. Consequently, every honest party receives YOURS vectors from 2⁒t+1 parties and multicasts READY, and then every honest party receives READY from 2⁒t+1 parties. As we showed to prove global termination, for all honest parties to terminate it suffices for some honest party to receive READY from 2⁒t+1 parties. So, we reach the contradictory conclusion that all honest parties terminate. β—€

Theorem 4.

Π𝖠𝗇𝗒 is secure when 4⁒t+q<n.

Proof.

Consistency.

We show that there exist no distinct vβ‰ βŠ₯ and vβ€²β‰ βŠ₯ such that some honest parties multicast ⟨READY,v⟩ while others multicast ⟨READY,vβ€²βŸ©. As in Π𝖑𝗋𝖺𝖼𝗁𝖺 and Ξ π–°π—Žπ—‚π—, the first honest party who multicasts ⟨READY,v⟩ for any particular vβ‰ βŠ₯ must have done so upon receiving enough ECHO messages to form an ECHO quorum on v. For the sake of contradiction, let Pi and Pj be the first honest parties who respectively multicast ⟨READY,vi⟩ and ⟨READY,vj⟩ for some distinct viβ‰ βŠ₯ and vjβ‰ βŠ₯, let β„‹ be a set of nβˆ’t honest parties, and let f be the number of parties in β„‹ who multicast ⟨ECHO,βŠ₯⟩. For each k∈{i,j}, let

  • β– 

    bk be the number of ⟨ECHO,vk⟩ messages from parties in β„‹ counted in Pk’s quorum,

  • β– 

    ck be the number of ⟨ECHO,vk⟩ messages from parties outside β„‹ counted in Pk’s quorum,

  • β– 

    dk be the number of ⟨ECHO,βŠ₯⟩ messages from parties in β„‹ counted in Pk’s quorum,

  • β– 

    ek be the number of ⟨ECHO,βŠ₯⟩ messages from parties outside β„‹ counted in Pk’s quorum.

For each k∈{i,j}, we have dk≀f and ck+ek≀t. For the quorum of Pk to be of sufficient size, we must have bk+ck>max⁑(t,n+tβˆ’dkβˆ’ek2), which implies bk>n+tβˆ’dkβˆ’ek2βˆ’ckβ‰₯n+tβˆ’dkβˆ’2⁒(ck+ek)2β‰₯nβˆ’tβˆ’f2. However, β„‹ consists of f honest parties who multicast ⟨ECHO,βŠ₯⟩ and thus contribute to neither bi nor bj, and nβˆ’tβˆ’f honest parties who contribute to at most one of bi and bj since an honest party cannot send ⟨ECHO,vi⟩ to Pi and ⟨ECHO,vj⟩ to Pj. This gives us bi+bj≀nβˆ’tβˆ’f, which contradicts bi>nβˆ’tβˆ’f2∧bj>nβˆ’tβˆ’f2. Finally, consistency follows because in order to output vβ‰ βŠ₯, an honest party must receive ⟨READY,v⟩ from t+1 parties, at least one of which is honest.

Validity.

For some honest party to output vβ‰ βŠ₯, there must exist a first honest Pi who multicasts ⟨READY,v⟩. To do so, Pi must receive ⟨ECHO,v⟩ from at least t+1 parties, at least one of which is honest. This can happen only after the sender Pβˆ— sends ⟨INIT,v⟩ to some honest party. Now suppose Pβˆ— is honest. If Pβˆ— acquires an input vβˆ—, then it multicasts ⟨INIT,vβˆ—βŸ©, and this makes vβˆ— the unique possible non-βŠ₯ output. If Pβˆ— quits before acquiring an input, then it multicasts ⟨INIT,⊀⟩, and thus ⊀ becomes the unique possible non-βŠ₯ output.

Local Termination.

For contradiction, suppose that the sender Pβˆ— is honest, that it either acquires an input or quits before doing so, that not all honest parties quit, and that despite all the preceding no honest party terminates. We separately consider the case where at least t+q+1 honest parties quit, and the case where at most t+q honest parties quit. Note that an honest party does not quit without multicasting a READY message.

  • β– 

    Suppose at least t+q+1 honest parties quit. Because an honest party multicasts QUIT when it quits, every honest party either quits, or eventually receives QUIT from t+q+1 parties and thus becomes able to multicast a READY message.

  • β– 

    Suppose f≀t+q honest parties quit. The sender Pβˆ— eventually multicasts ⟨INIT,vβˆ—βŸ©, where vβˆ— is either its input or ⊀. Then, at least nβˆ’tβˆ’f honest parties multicast ⟨ECHO,vβˆ—βŸ©. Since we have nβˆ’tβˆ’f>(n2+4⁒t+q2)βˆ’tβˆ’(f2+t+q2)=n+tβˆ’f2β‰₯nβˆ’q2>2⁒t, every honest party either quits, or eventually receives ⟨ECHO,vβˆ—βŸ© from sufficiently many parties to multicast a READY message.

In both cases, every honest party multicasts a READY message, which means that every honest party either quits, or terminates after receiving READY messages from nβˆ’t parties.

Global Termination.

If an honest party terminates, then it has received READY messages from nβˆ’t parties, at least nβˆ’2⁒tβ‰₯2⁒t+q+1 of which are honest. Since there is some vβ‰ βŠ₯ such that every honest READY message is on either v or βŠ₯, either there are at least t+1 honest parties who multicast ⟨READY,v⟩, or there are at least t+q+1 honest parties who multicast ⟨READY,βŠ₯⟩. In either case, every honest party can multicast a READY message either before quitting, or after receiving sufficiently many honest READY messages. So, every honest party either quits, or terminates after receiving READY messages from nβˆ’t parties.

Robustness.

Suppose at most q honest parties have quit when some honest Pi terminates for the first time. Then, an honest Pj can multicast ⟨READY,βŠ₯⟩ before Pi terminates only if it quits, as Pj cannot receive QUIT or ⟨READY,βŠ₯⟩ from t+q+1 parties before Pi terminates. So, Pi terminates with at most t corrupt READY messages, at most q honest ⟨READY,βŠ₯⟩ messages, and at least nβˆ’2⁒tβˆ’q honest READY messages not on βŠ₯. Since for some vβ‰ βŠ₯ every honest READY message is on either v or βŠ₯, there are at least nβˆ’2⁒tβˆ’q honest parties who multicast ⟨READY,v⟩ for some v. Hence, any honest Pj (including Pi) can terminate only after receiving at least nβˆ’3⁒tβˆ’qβ‰₯t+1 honest ⟨READY,v⟩ messages and setting yj←v. β—€