Abstract 1 Introduction 2 Model & Definitions 3 Overview & Contributions 4 Edge Agreement in a Tree 5 Edge Agreement in Infinite Paths 6 Termination 7 Extension to Real Numbers References Appendix A Graded Consensus Protocols Appendix B The Termination Protocol 𝗧𝗲𝗿𝗺 Appendix C Skipped Proofs

Asynchronous Approximate Agreement with Quadratic Communication

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

We study approximate agreement in an asynchronous network of n parties, up to t of which are byzantine. This an agreement task where the parties obtain approximately equal inputs in the convex hull of their inputs. In an asynchronous network, it can be solved with the optimal resilience t<n3 by forcing the parties to reliably broadcast their messages and thus preventing inconsistent byzantine behavior. This costs Θ(n2) messages per reliable broadcast, or Θ(n3) messages per protocol iteration.

In this work, we forgo reliable broadcast to achieve asynchronous approximate agreement against t<n3 faults with quadratic communication. In a tree with the maximum degree Δ and the centroid decomposition height h, we achieve edge agreement (agreement on two adjacent vertices) in at most 6h+1 rounds with 𝒪(n2) messages of size 𝒪(logΔ+logh) per round. We do this by designing a 6-round multivalued 2-graded consensus protocol and using it to construct a recursive edge agreement protocol. Then, we achieve edge agreement in the infinite path , again by using 2-graded consensus. Finally, we show that our edge agreement protocol enables approximate agreement in (with outputs that are at most some small parameter ε>0 apart) in 6log2Mε+𝒪(loglogMε) rounds with 𝒪(n2) messages of size 𝒪(loglogMε) per round, where M is the maximum non-byzantine input magnitude.

Keywords and phrases:
Approximate agreement, byzantine fault tolerance, communication complexity
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
Related Version:
Brief Announcement: https://doi.org/10.4230/LIPIcs.DISC.2025.61 [27]
Editors:
Andrei Arusoaie, Emanuel Onica, Michael Spear, and Sara Tucci-Piergiovanni

1 Introduction

We consider a fully connected asynchronous network of n message-passing parties P1,,Pn. Up to t of these parties suffer from byzantine faults, while the rest are honest.

In an approximate (convex) agreement problem, the parties output approximately equal values in the convex hull of their inputs. The most classical example is approximate agreement in , where the inputs/outputs are in , and for some parameter ε>0 the following hold:

  • validity: Each honest party output is between the minimum and maximum honest inputs.

  • 𝜺-agreement: If any honest parties Pi and Pj output yi and yj, then |yiyj|ε.

Approximate agreement in was introduced in 1985 by Dolev, Lynch, Pinter, Stark and Weihl [14]. Like byzantine agreement, in synchronous networks it is possible against t<n2 faults with setup (public key infrastructure to enable message signing) [21], but only possible when t<n3 if perfect (signature-free) security is desired [14] or the network is asynchronous. What sets approximate agreement apart is that it is determinism-friendly. While deterministic byzantine agreement takes t+1 rounds in synchrony [13] and is impossible against just one crash in asynchrony [17], approximate agreement does not share these limitations. Thus, approximate agreement protocols are customarily and preferably deterministic.

In [14], Dolev et al. achieved ε-agreement in with a perfectly secure synchronous protocol secure against t<n3 corruptions. Simplifying things slightly, in their protocol the parties estimate the spread S of their inputs (the maximum difference between any two inputs), and run for log2Sε rounds. In each round each party sends its value to every other party, and this is enough for the parties to halve the spread of their values. After log2Sε rounds, the spread is at most 2log2(S/ε)εS of what it initially was, and thus ε-agreement is achieved. They presented an asynchronous version of this protocol as well, but only with the resilience t<n5 as the parties can no longer wait to receive the value of each honest party in every iteration.

Asynchronous approximate agreement in with the optimal resilience t<n3 was first achieved by Coan in 1988 [10], who designed a simple protocol like the one above that tolerated t<n3 crash faults, and then upgraded this simple protocol into a byzantine fault tolerant one. He obtained this upgrade by using Bracha’s reliable broadcast [8] to prevent the byzantine parties from transmitting different values to different parties, and by introducing a scheme to ensure that the parties ignore any values that could not have been sent by protocol-following parties. This upgrade has the drawback of turning the base protocol’s raw broadcasts into reliable broadcasts, causing a Θ(n)-fold communication increase as reliable broadcast requires Ω(n2) messages for deterministic [15] or strongly adaptive [2] security against t=Ω(n) faults. This means that the upgraded protocol costs Θ(n3) messages per iteration.

Later in 2004, Abraham, Amit and Dolev achieved a similar result: A cubic-complexity asynchronous protocol for approximate agreement in with the optimal resilience t<n3. This protocol has an advantage over the previous ones: Its input spread estimation is fault tolerant, which means that its round complexity scales with the logarithm of the spread of only the honest parties’ inputs, rather than the spread of all inputs including the byzantine ones. Abraham et al. obtained this protocol by developing the witness technique, which involves each party reliably broadcasting a value and obtaining at least nt reliably broadcast values, with the guarantee that every two parties obtain the values of at least nt common parties. Since then, most asynchronous approximate agreement protocols have depended on this technique. Some examples are [1, 21] for agreement in , [16, 22, 26] for agreement in d when d2, and [11, 29] for agreement in graphs (trees, chordal graphs, cycle-free semilattices).

The optimally resilient protocols above cost Θ(n3) messages per round due to their use of reliable broadcast. However, asynchronous approximate agreement is possible with Θ(n2) messages per round, as shown by the protocol in [14] which tolerates t<n5 faults. So, we ask: Is there an asynchronous approximate agreement protocol that optimally tolerates t<n3 faults with only a quadratic (proportional to n2) amount of communication?

In this work, we answer this question affirmatively by forgoing reliable broadcast. First, we achieve edge agreement in finite trees [29] (agreement on two adjacent vertices) with the optimal resilience t<n3 via multivalued 2-graded consensus iterations. Then, we extend our protocol to achieve edge agreement in the infinite path . Finally, we achieve ε-agreement in by reducing it to edge agreement in . Our final protocol for ε-agreement in takes 6log2Mε+𝒪(loglogMε) rounds (where M is the maximum honest input magnitude) with 𝒪(n2) messages of size 𝒪(loglogMε) sent per round, which means that its total communication complexity is quadratic in n. Note that we do not require the parties to know M in advance for this.

Our work is inspired by [23], which achieves exact convex agreement in (on a single integer) with byzantine agreement iterations in a synchronous network. We instead achieve edge agreement in (on two adjacent integers) with iterations of graded consensus, which is a much simpler primitive than byzantine agreement, especially in asynchronous networks.

2 Model & Definitions

We consider an asynchronous network of n message-sending parties P1,P2,,Pn which are fully connected via reliable and authenticated channels. An adversary corrupts up to t<n3 parties, making them byzantine, and it takes control of these parties. The adversary adaptively chooses the parties it wants to corrupt during protocol execution, depending on the parties’ internal states and all sent messages. If a party is never corrupted, then we call it honest.

The parties do not have synchronized clocks. The adversary can schedule messages as it sees fit, and it is only required to eventually deliver messages with honest senders. If a party sends a message, then the adversary may corrupt the party instead of delivering the message.

We say that a party multicasts m when it sends m to every party. By corrupting a party that is multicasting a message, the adversary may deliver the message to only some parties.

Our protocols are live; i.e., they achieve liveness. That is, if the honest parties all acquire inputs and all run forever, then they all output. However, in Section 6, we explain a low-cost way to upgrade our live protocols into terminating versions that allow the parties to halt.

To define asynchronous round complexity, we imagine an external clock. If a protocol runs in R rounds, then it is live or terminating, and the time elapsed between when every honest party running the protocol knows its input and when every honest party outputs/terminates is at most RΔ, where Δ is the maximum honest message delay in the protocol’s execution. Note that this definition matches the notion defined as “time complexity” in [4].

Edge Agreement in a Tree

In edge agreement in a tree graph T=(V,E), each party Pi acquires an input vertex viV, and outputs a vertex yiV. We want the following properties:

  • edge agreement: Every two honest output vertices are either equal or adjacent in T.

  • convex validity: For every honest output y, there exist some (possibly equal) honest inputs vy and vy such that y is on the path which connects vy and vy in T.

Edge agreement in a tree generalizes edge agreement in a path, which is essentially the same task as approximate agreement in an interval in , but with the input/output domain restricted to the integers (with adjacent integers representing adjacent path vertices).

Graded Consensus

In k-graded consensus, each party Pi acquires an input vi in an input domain , and outputs some value-grade pair (yi,gi)(×{1,,k}){(,0)}. The following must hold:

  • agreement: If any honest parties Pi and Pj output (yi,gi) and (yj,gj), then |gigj|1, and if min(gi,gj)1, then yi=yj.

  • intrusion tolerance: If (y,g)(,0) is an honest output, then y is an honest input.

  • validity: If the honest parties have a common input m, then they all output (m,k).

Figure 1: Observe that k-graded consensus with the input domain is the same problem as edge agreement in the spider tree with the center (,0) and the path ((m,1),,(m,k)) attached to it for each m when the parties can only have the tree’s leaves as edge agreement inputs, with each leaf input (m,k) in bijection with the k-graded consensus input m [4]. Note that this equivalence requires intrusion tolerance, which some works (e.g. [9]) do not include as a graded consensus property.

In this work, we use both binary 2-graded consensus (with ||=2) and multivalued 2-graded consensus (with ||>2). For the latter, there is a 9-round protocol in the literature that costs 𝒪(n2) messages of size 𝒪(log||) [4]. This protocol is enough for our asymptotic complexity results. However, it achieves a property called binding [4] that we do not need, and without this property, 6 rounds suffice. We show this in the appendix by constructing a family of multivalued 2k-graded consensus protocols 𝖦𝖢20,𝖦𝖢21,𝖦𝖢22,𝖦𝖢23, which each take 3k+3 rounds, with 𝒪(n2) messages of size 𝒪(logk+log||) per round. We obtain this family by constructing a 1-graded consensus protocol 𝖦𝖢1, and by repeatedly grade-doubling it.111Repeated grade-doubling is a standard method to achieve 2k-graded consensus in 𝒪(k) rounds [18, 5, 25], though note that synchronous networks allow kk-graded consensus in 𝒪(k) rounds [20].

3 Overview & Contributions

Our first contribution is a new protocol for edge agreement in finite trees. Against byzantine faults, this problem was first studied by Nowak and Rybicki [29]. It generalizes both edge agreement in finite paths (the discrete version of ε-agreement in [0,1]) and graded consensus.

Nowak and Rybicki achieve edge agreement in a finite tree T=(V,E) of diameter D with log2D+1 constant-round witness technique iterations and thus Θ(n3logD(log|V|+logn)) bits of communication, where the logn term arises from the party ID values that identify each witness technique reliable broadcast’s sender party. Meanwhile, we achieve edge agreement in at most 6h(T)+1 rounds, where h(T) is a property which we formally define in Section 4 as the maximum of the heights of T’s centroid decompositions [30]. The integer value h(T) can be anywhere in [log2D,log2|V|], which means that our protocol’s round complexity is for some trees (though not for spider trees, trees with 𝒪(D) vertices such as paths etc.) worse than Nowak and Rybicki’s. However, our rounds only cost 𝒪(n2) messages, each of size at most 𝒪(logΔ+log(h(T))) where Δ is T’s maximum degree. So, our protocol requires roughly n times less communication when h(T)log2D.

In Section 4, we present a parametrized recursive protocol 𝖳𝖢(T) for edge agreement in a given finite tree T. On a high level, it works as follows:

  1. 1.

    If T has 1 or 2 vertices, then each party outputs its input vertex. This is the base case.

  2. 2.

    If T has s3 vertices, then the parties let σ be a centroid vertex of T (whose deletion from T results in a forest whose components all have at most s/2 vertices), and let w1,,wd be σ’s neighbors sorted by vertex index. Then, they run 2-graded consensus, where each party’s input is either σ (if its edge agreement input is σ) or some neighbor wk of σ (if its edge agreement input is in Hk, which is how we refer to the tree component of T{σ} that contains wk). If the parties reach consensus on σ, then they output σ. Otherwise, if they reach consensus on some neighbor wk of σ, then the parties with input vertices outside Hk adopt the new input wk, and we reduce the task to edge agreement in the subtree Hk.

There is a snag. The explanation above only works if the parties actually reach unanimous agreement on either σ or one of its neighbors wk. However, 2-graded consensus does not guarantee this, as some parties might output (,0) from it. What allows us to overcome this issue is that if anybody outputs (,0), then the parties all learn that they ran 2-graded consensus with differing inputs, and thus learn that σ is a safe output vertex w.r.t. convex validity.

Table 1: Comparison of protocols for asynchronous ε-agreement in when the parties have inputs in [0,1]. If v𝗅𝗈 and v𝗁𝗂 are the minimum and maximum honest inputs, then S=v𝗁𝗂v𝗅𝗈 and M=v𝗁𝗂. To simplify the comparisons, we assume for [14], [10], [1] and [5] that the inputs are multiples of ε.
Threshold Bits Sent / Round Round Complexitya Relaxationb Source
t<n5 𝒪(n2log1ε) 𝒪(log1ε) 0 [14]
t<n3 𝒪(n3lognε) 𝒪(log1ε) 0 [10]
t<n3 𝒪(n3lognε)c 𝒪(logSε) 0 [1]
t<n3 𝒪(n2min(Sε,nlog1ε)) 𝒪(log(log(1/ε)min(1/ε,n)ε)) S [5]
t<n3 𝒪(n2loglogMε)d 𝒪(logMε) 0 this work
  • a

    The round complexities of [14] and [10] depend on the spread of all inputs, including byzantine ones. In the domain [0,1], this spread is at most 1, which gives us the round complexity 𝒪(log1ε).

  • b

    The relaxation is how far an honest output is allowed to be from the honest input range [v𝗅𝗈,v𝗁𝗂].

  • c

    The first few rounds of [1] estimate the spread S, and this costs Θ(n4log1ε) bits of communication. However, this can be reduced to Θ(n3lognε) with modern reliable broadcast protocols [3].

  • d

    The loglogMε factor here is for tags that distinguish messages sent in different protocol iterations.

Our approach for finite trees corresponds to binary search when the tree is a path. For example, the parties reach edge agreement in the path (0,,8) by either directly agreeing on 4, or by reducing the problem to edge agreement in either (0,3) or (5,,8).

Binary search does not support the infinite path . Fortunately, 2-graded consensus also enables exponential search. In Section 5, we present a protocol for edge agreement in that on a high level works as follows (with some complications that we skip over for now due to our use of 2-graded consensus instead of byzantine agreement).

  1. 1.

    First, the parties reach 2-graded consensus on whether they prefer to agree on the left path (,1,0) or the right path =(0,1,), with each party preferring iff its input is in . Below, we explain what the parties then do if they decide to agree in . Otherwise, they follow the same steps, but with mirrored (sign-flipped) inputs and outputs.

  2. 2.

    The parties run exponential search with the phases k=0,1,; where in each phase k they reach 2-graded consensus on if they have inputs in the left path (2k1,,2k+11) or the right path (2k+1,). If they decide on the left path, then they reach edge agreement in it using our protocol for edge agreement in finite trees. Otherwise, if they decide on the right path, then they increment the phase counter k and continue exponential search.

  3. 3.

    Instead of directly using exponential search for edge agreement in , we take inspiration from [6], and design a two-stage protocol that is asymptotically twice as round-efficient. Roughly speaking, the parties run the protocol we described above based on exponential search to approximately agree on some k such that the path (2k1,,2k+11) contains safe output values w.r.t. convex validity, and then they reach edge agreement in this path.

When the maximum honest input magnitude is M (when the honest input that is most distant from 0 is either M or M), our protocol for edge agreement in takes 6log2M+𝒪(loglogM) rounds, with 𝒪(n2) messages of size 𝒪(loglogM) per round. In Section 7, we reduce ε-agreement in to edge agreement in to show that this implies ε-agreement in in 6log2Mε+𝒪(loglogMε) rounds with 𝒪(n2logMε) messages and 𝒪(n2logMεloglogMε) bits of communication in total. Note that factor 6 in the round complexity here is due to us using our 6-round 2-graded consensus protocol. If for any other r we used a r-round protocol instead, like the 2-round 2-graded consensus protocol in [4] that tolerates t<n5 faults, then this factor would be r instead.

In terms of message and communication (though not round) complexity, our protocol for ε-agreement in is more efficient than that of Abraham et al. [1], who achieve ε-agreement in with 𝒪(logSε) constant-round witness technique iterations (where S is the honest input spread, i.e. the maximum difference of any honest inputs), and with Θ(n3logSε) messages in total.

Another notable protocol is Delphi, by Bandarupalli, Bhat, Bagchi, Kate, Liu-Zhang and Reiter [5]. To efficiently achieve ε-agreement with -bit inputs in , they assume an input distribution (normal distribution for the following), and when the honest input spread is S they achieve ε-agreement in 𝒪(log(SεlogSε)+log(λlogn)) rounds with 𝒪(n2Sε(log(SεlogSε)+log(λlogn))) bits of communication, while relaxing validity by allowing outputs outside the range of the honest inputs by at most S. They use the parameter λ here to assume bounds on the honest inputs that hold except with a probability negligible in λ, and allow their protocol to fail if these bounds are violated. In comparison, we achieve ε-agreement in without relaxing validity or assuming any input bounds. As Table 1 shows, our protocol is also more efficient, in particular since Delphi requires a cubic amount of communication per round when Snε.

4 Edge Agreement in a Tree

In d, a set Zd is straight-line convex if for all z1,z2Z it contains the line segment (the shortest path in d) that connects z1 and z2. This definition translates to convexity on a tree T=(V,E), where a set ZV is convex if for all z1,z2Z the set Z contains all the vertices on the shortest path (the only path) between z1 and z2 [29, 11]. Hence, we can define convex hulls on T, where the convex hull Z of any vertex set ZV is the set that consists of the vertices in Z and every other vertex vV that is on the path between some z1,z2Z.

For edge agreement, the convex validity property is that when the honest parties have the set of inputs X, they obtain outputs in X. To achieve this, we rely on the following fact:

Proposition 1.

For every tree T=(V,E), ZV and YZ it holds that YZ.

Proof.

Observe that for any tree T=(V,E) and any ZV, the graph T[Z] (the subgraph of T induced by Z) is a connected union of paths from T, which makes T[Z] a tree itself. For any YZ, the tree T[Z] contains every y1,y2Y, and as T[Z] is a tree it also contains the path which connects y1 and y2. That is, T[Z] contains every vertex in Y.

Every finite tree T has a set of centroid vertices (either one vertex or two adjacent ones) such that if one deletes a centroid vertex σ from T, then every component tree of the resulting forest T{σ} has at most half as many vertices as T [24, 30]. For any finite tree T, one can recursively define a centroid decomposition of T to be a rooted tree T with the following properties (helpfully visualized in [30]):

  • The root of T is a centroid vertex σ of T.

  • If in T the centroid σ has exactly d neighbors w1,,wd for any d0, then in T the root σ has exactly d child subtrees W1,,Wd, such that for all k{1,,d} the subtree Wk is a centroid decomposition of the tree component that contains wk in the forest T{σ}.

Finally, let us define the centroid decomposition height h(T) of a finite tree T=(V,E) to be the maximum height of any centroid decomposition of T. The recursive definition of a centroid decomposition above allows one to prove by induction that h(T)log2|V| (where |V| is the number of vertices), and this bound is tight if T is a path and |V| is a power of 2. However, there are trees that have low centroid decomposition heights despite having many vertices. For example, if T is a star, then h(T)=1 no matter how many vertices T has, as removing a star’s unique centroid (its center vertex) leaves behind a forest of isolated vertices.

Below, we present a recursive protocol 𝖳𝖢(T) based on centroid decomposition for edge agreement in a finite tree T. If T has at most two vertices, then each party Pi just outputs its input vertex. Otherwise, the parties let σ be the minimum-index centroid of T, and run our 2-graded consensus protocol 𝖦𝖢2 to either directly output σ, or to reduce edge agreement in T to edge agreement in a component tree T of T{σ}, handled with a recursive 𝖳𝖢(T) instance. The recursion depth is at most h(T) since each recursive call represents a step from a vertex to its child in a centroid decomposition of T whose height is upper bounded by h(T).

The idea behind 𝖳𝖢(T) when T has 3 or more vertices is that either there is a component Hk of T{σ} that contains every honest input vertex vi, or there is no such component.

  • In the former case where there is such a component, every honest party Pi runs 𝖦𝖢2 with the input k, outputs (k,2) from it, lets (vi𝗇𝖾𝗑𝗍,Ti𝗇𝖾𝗑𝗍)=(vi,Hk), and obtains its final output from a recursive 𝖳𝖢(Hk) instance which it runs with the input vi𝗇𝖾𝗑𝗍=vi. Thus, edge agreement in T is reduced to edge agreement in Hk, which the parties reach via 𝖳𝖢(Hk).

  • In the latter case where there is no such component, there are some honest inputs vi and vj such that either σ{vi,vj} or vi and vj are in different components of T{σ}. So, σ is on the path which connects vi and vj in T, which makes it a safe output vertex w.r.t. convex validity. Moreover, if some honest party Pi outputs (k,g) from 𝖦𝖢2 for some k{,0} and either g=1 or Pi’s 𝖳𝖢(T) input vi is not in Hk, then some but not all of the honest parties have inputs in Hk, which means that wk is a safe output vertex w.r.t. convex validity as it is incident to the edge that connects Hk with the rest of the tree. With these in mind, we assign each 𝖦𝖢2 output a behavior such that no matter which two adjacent 𝖦𝖢2 outputs the parties settle on, they behave in a compatible manner that leads to edge agreement.

Figure 2: Let T be the tree depicted above with the unique centroid σ and the subtrees H1, H2, H3 (the components of T{σ}). If the parties run 𝖳𝖢(T), then each party with the input σ runs 𝖦𝖢2 with the input 0, and each party Pi with an input viσ lets its 𝖦𝖢2 input be the index k{1,2,3} such that viHk. If for some k{1,2,3} every input vi is in Hk, then the parties all run 𝖦𝖢2 with the input k and thus output (k,2) from it. Otherwise, σ is in the convex hull of the input vertices vi.
Theorem 2.

For any finite tree T, suppose the honest parties run 𝖳𝖢(T) with input vertices in T. Then, they reach edge agreement in T based on their input vertices in at most 6h(T) rounds if they have a common input vertex, and in at most 6h(T)+1 rounds otherwise.

Proof.

Below, we show for any finite tree T that if 𝖳𝖢(H) works well (in accordance with the theorem) for every tree H such that h(H)<h(T), then 𝖳𝖢(T) also works well. So, by strong induction on h(T), 𝖳𝖢(T) works well for every finite tree T, no matter what h(T)0 is.

In the base case where T has at most 2 vertices, the parties reach edge agreement in 0 rounds by outputting their inputs. This is what happens when h(T)=0, as h(T)=0 iff T is a vertex. For the rest of the proof, suppose T has at least 3 vertices, which implies h(T)1.

Let σ be the minimum-index centroid vertex of T with the neighbors w1,,wd sorted by vertex index, and let H1,,Hd be the corresponding tree components of T{σ} such that Hj contains wj for all j. Observe that h(T) is greater than h(Hj) for all j, as T has some centroid decomposition rooted at σ, with d child subtrees W1,,Wd attached to σ where each subtree Wj is a centroid decomposition of Hj of height h(Hj). So, our inductive assumption tells us that 𝖳𝖢(Hj) works well for all j{1,,d}.

First, let us consider the simpler scenario, which is when there exists some k{1,d} such that the subtree Hk contains every honest input vertex. In this scenario, the honest parties all run 𝖦𝖢2 with the input k, and thus all output (k,2) from it. Then, each honest party Pi sets (vi𝗇𝖾𝗑𝗍,Ti𝗇𝖾𝗑𝗍)=(vi,Hk), runs a common instance of 𝖳𝖢(Ti𝗇𝖾𝗑𝗍)=𝖳𝖢(Hk) with the other parties where its input is vi𝗇𝖾𝗑𝗍=vi, and obtains its final output from this recursive 𝖳𝖢(Hk) instance. Therefore, edge agreement in T follows from edge agreement in Hk, which the parties reach via 𝖳𝖢(Hk). The round complexity of 𝖳𝖢(T) here is at most that of 𝖦𝖢2 and 𝖳𝖢(Hk) added together; which is always at most 6+6h(Hk)+16h(T)+1, and is at most 6+6h(Hk)6h(T) if the honest parties run 𝖳𝖢(T) (and thus 𝖳𝖢(Hk)) with a common input. Note that the honest parties do not output σ on Line 21 in this scenario since none of them obtain the grade 0 from 𝖦𝖢2, which means that none of them multicast CENTER and thus that none of them receive the message CENTER from t+1 parties.

Now, let us consider the more complicated scenario where none of the subtrees H1,,Hd contains every honest input vertex. Then, there exist some distinct honest inputs vi and vj such that either σ{vi,vj}, or vi and vj are in different components of T{σ}. In either case, σ is on the path that connects vi and vj in T, which means that σ is in the convex hull of the honest inputs. In addition, if for some k{1,,d} an honest party Pi outputs (k,g) from 𝖦𝖢2 and either g=1 or Pi’s input vi is not in Hk, then some but not all of the honest parties have inputs in Hk (the “some” part by 𝖦𝖢2’s intrusion tolerance and the “not all” part by either Pi’s grade being below 2 or by Pi’s input not being in Hk), and this places wk inside the convex hull of the honest inputs since wk is on every path in T that connects the honest inputs in Hk with the honest inputs outside Hk. With these in mind, let us consider all the ways a 𝖳𝖢(T) execution can go, depending on the honest parties’ 𝖦𝖢2 outputs.

  • It could happen that the honest parties all output (k,2) or (k,1) from 𝖦𝖢2 for some k{1,,d}, with at least one outputting (k,2). This situation is similar to the one we considered previously, except for the fact that some honest parties Pi (those with inputs outside Hk and those with the 𝖦𝖢2 grade 1) set vi𝗇𝖾𝗑𝗍=wk instead of setting vi𝗇𝖾𝗑𝗍=vi. By Proposition 1, them doing this does not impact convex validity, as the convex hull V of the honest 𝖳𝖢(T) input vertices V=Pi is honest{vi} is a superset of the convex hull of {wk}VV. So, edge agreement in T follows from edge agreement in Hk (in at most 6+6h(Hk)+16h(T)+1 rounds), because after running 𝖦𝖢2, the honest parties all run 𝖳𝖢(Hk) with safe inputs in Hk and all obtain their final outputs from 𝖳𝖢(Hk). Again in this case, the parties do not output σ on Line 21 since none of them multicast CENTER.

  • It could happen that the honest parties all obtain 𝖦𝖢2 outputs in {(,0),(0,1),(0,2)}. Then, every honest party outputs σ, either directly on Line 9 or Line 15 after outputting from 𝖦𝖢2, or even earlier by receiving t+1 CENTER messages. In either case, the honest parties reach exact agreement on the safe vertex σ, in at most 66h(T)+1 rounds.

  • Finally, it could happen that the honest parties all output (k,1) or (,0) from 𝖦𝖢2 for some k{1,,d}, with at least one outputting (k,1). Then, every honest party Pi that runs 𝖳𝖢(Ti𝗇𝖾𝗑𝗍) does so with the tree Ti𝗇𝖾𝗑𝗍 set to Hk and with the input vertex vi𝗇𝖾𝗑𝗍=wk. For the honest parties that output (k,1) from 𝖦𝖢2, this follows from Line 11 and Line 12. Meanwhile, for an honest party that outputs (,0) and thus sets (vi𝗇𝖾𝗑𝗍,Ti𝗇𝖾𝗑𝗍)=(wk,Hk) on Line 17 upon receiving the message (KVAL,k) from t+1 parties; this follows from k being equal to k due to every honest KVAL message being on k and this making k the only value on which a party can receive t+1 KVAL messages. From all of these, we conclude that the honest parties can only output the safe vertex σ (on Line 15 or 21), or output σ’s safe neighbor wk after outputting wk from 𝖳𝖢(Hk), which the honest parties can only run with the input wk. It remains to show liveness. Observe that since nt2t+1, either t+1 honest parties output (,0) from 𝖦𝖢2, or t+1 honest parties output (k,1) from 𝖦𝖢2.

    • If the former happens, then t+1 honest parties multicast CENTER after outputting (,0) from 𝖦𝖢2. Hence, after one round following 𝖦𝖢2 (i.e. 76h(T)+1 rounds after 𝖳𝖢(T) begins), every honest party becomes able to output σ on Line 21.

    • If the latter happens, then t+1 honest parties multicast KVAL,k after outputting (k,1) from 𝖦𝖢2. So, after one round following 𝖦𝖢2 (i.e. 76h(T)+1 rounds after 𝖳𝖢(T) begins), the honest parties all learn k and start running 𝖳𝖢(Hk) with the common input wk. Every honest party outputs wk from 𝖳𝖢(Hk) once 7+6h(Hk)6h(T)+1 rounds have passed, and thus outputs σ or wk from 𝖳𝖢(T) in at most 6h(T)+1 rounds.

Complexity of 𝗧𝗖(𝑻).

The round complexity of 𝖳𝖢(T) is at most 6h(T)+1, by Theorem 2. If T’s maximum degree is Δ, then in each of 𝖳𝖢(T)’s at most h(T) recursive iterations the 𝖦𝖢2 instance is run with inputs in {0,1,,Δ} and the KVAL messages carry values in {1,,Δ}. This means that each iteration costs 𝒪(n2) messages, each of size at most 𝒪(logΔ+log(h(T))), where the log(h(T)) term is due to the iteration ID tags which distinguish different iterations’ messages from each other. So, 𝖳𝖢(T)’s total message complexity is 𝒪(n2h(T)), and its total communication complexity is 𝒪(n2h(T)(logΔ+log(h(T)))) bits. Finally, for when we need edge agreement in paths, note that h(T)=q if T is a path of length 2q for any q0.

An Alternative Way.

A recent work has reduced edge agreement in a finite tree T=(V,E) to two instances of edge agreement in paths of length 𝒪(|V|) [19]. If one uses this reduction with our 𝖳𝖢 protocol serving as the path edge agreement protocol, then edge agreement in a finite tree T=(V,E) costs 𝒪(log|V|) rounds, 𝒪(n2log|V|) messages and 𝒪(n2log|V|loglog|V|) bits of communication. The drawback of using the reduction here is that it can cost Θ(log|V|) rounds even if h(T)=o(log|V|). For example, the spider tree Tk, for multivalued k-graded consensus with the input domain (the tree defined in Figure 1’s caption) has ||k+1 vertices, which means that the reduction allows edge agreement in Tk, in Θ(log||+logk) rounds, while 𝖳𝖢(Tk,) only takes 𝒪(logk) rounds because h(Tk,)=𝒪(logk).

5 Edge Agreement in Infinite Paths

In this section, we achieve edge agreement in the infinite paths and . First, we achieve edge agreement in with a protocol based on exponential search where we again use 𝖦𝖢2 to repeatedly shrink the agreement domain. Then, we build upon this protocol so that the parties need roughly half as many rounds to reach edge agreement when they have very large inputs. Finally, we upgrade edge agreement in to edge agreement with one initial 𝖦𝖢2 iteration.

5.1 Edge Agreement in

We begin with a sequence of protocols 𝖤𝗑𝗉0,𝖤𝗑𝗉1,, with each protocol 𝖤𝗑𝗉j allowing the parties to reach edge agreement in the infinite path (2j1,). In 𝖤𝗑𝗉j, we use 𝖦𝖢2 to reduce edge agreement in (2j1,) to edge agreement in either the left path (2j1,,2j+11), which the parties can reach via 𝖳𝖢, or the right path (2j+11,), which the parties can recursively222Note that one could recast the recursive protocol sequence 𝖤𝗑𝗉0,𝖤𝗑𝗉1, as a single iterative protocol. reach via 𝖤𝗑𝗉j+1. At some point, this recursion ends: When the parties run 𝖤𝗑𝗉0 with inputs in {0,,M} for some M0, there is eventually some qlog2(max(M,1)) such that in 𝖤𝗑𝗉q (which recursively appears in 𝖤𝗑𝗉0) the parties do not prefer the right path (2q+11,) as they have inputs below 2q+1, and consequently they reach edge agreement in the finite left path (2q1,,2q+11).

Figure 3: A depiction of how each party behaves in 𝖤𝗑𝗉j, depending on the party’s 𝖦𝖢𝟤 output. The crucial observation is that the parties always obtain 𝖦𝖢2 outputs that are adjacent in the figure. Note that a party can output 2j+11 by receiving t+1 CENTER messages before it outputs from 𝖦𝖢2.
Theorem 3.

For any positive integer q and any 0j<q, suppose the honest parties run 𝖤𝗑𝗉j with inputs in {2j1,,2q1}. Then, they reach edge agreement in the path based on their inputs in at most 6(j+1) rounds if they have the common input 2j1 and in at most 12q6j5 rounds otherwise.

We prove Theorem 3 in the appendix, with a proof similar to the one of Theorem 2. Note that the value q in the theorem is not something that the parties need to know to run 𝖤𝗑𝗉j.

Complexity of 𝗘𝘅𝗽𝟎.

Consider an 𝖤𝗑𝗉0 execution with the maximum honest input M. Let q=log2(max(M,1))+1, i.e., let q be the least positive integer such that every honest input is below 2q. There is a minimum k{0,,q1} such that in 𝖤𝗑𝗉k (recursively a subprotocol of 𝖤𝗑𝗉0 if k>0), the parties do not set 𝗌𝗂𝖽𝖾=RIGHT and therefore do not run 𝖤𝗑𝗉k+1. So, the 𝖤𝗑𝗉0 execution consists of the 𝖦𝖢2 instances and the LEFT/CENTER/RIGHT multicasts of 𝖤𝗑𝗉0,𝖤𝗑𝗉1,,𝖤𝗑𝗉k, plus the 𝖳𝖢((2k1,,2k+11)) instance of 𝖤𝗑𝗉k. These total up to 𝒪(n2q)=𝒪(n2logM) messages, each of size 𝒪(logq)=𝒪(loglogM) due to the message tags since for all j0 one can assign 𝒪(logj)-bit tags to 𝖤𝗑𝗉j and to its 𝖦𝖢2 and 𝖳𝖢 subprotocols. Meanwhile, the round complexity is at most 12q5=12log2M+𝒪(1), by Theorem 3.

5.2 Nearly Halving the Round Complexity

The protocol 𝖤𝗑𝗉0 is based on exponential search, which is a search algorithm to find a target value x with approximately 2log2x checks for different choices of v whether vx or not. Each such check roughly corresponds to a 6-round 𝖦𝖢2 instance in 𝖤𝗑𝗉0, and thus 𝖤𝗑𝗉0 takes 12log2M+𝒪(1) rounds by the simple fact that 26=12. However, it is possible to almost halve the number of checks. The strategy for this, from [6], is to accelerate exponential search by using it to find q=log2(x+1) instead of x, and then, knowing that 2q1x2q+12, to run binary search with the lower and upper bounds 2q1 and 2q+12 to find x.

Below, we use an analogous strategy in our protocol 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭) for edge agreement in , where we let 𝖠𝗀𝗋𝖭 be any protocol for edge agreement in , and accelerate 𝖠𝗀𝗋𝖭 by using it in a two-stage manner. In 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭), the parties roughly speaking use 𝖠𝗀𝗋𝖭 to agree on some k such that the path (2k1,,2k+11) intersects the convex hull of the honest inputs, with each party Pi with the input vi wanting k to be log2(vi+1). Then, each party with an input outside this path adopts a new safe value in the path (the path endpoint closest to its value), and finally the parties run 𝖳𝖢 to reach edge agreement in the path. Naturally, we face the issue that 𝖠𝗀𝗋𝖭 does not guarantee agreement on a single k, which means that the parties might output different (though adjacent) k values from it and therefore behave differently after outputting from 𝖠𝗀𝗋𝖭. Luckily, by making each party Pi let its 𝖠𝗀𝗋𝖭 input be what it wants 5k to be (5log2(vi+1)) rather than what it wants k to be, we can ensure that the discrepancy between how each party behaves after outputting from 𝖠𝗀𝗋𝖭 is sufficiently small.

Theorem 4.

Suppose 𝖠𝗀𝗋𝖭 is a live protocol for edge agreement in which for some function f takes at most f(M) rounds when the honest parties run it with inputs in {0,,M}. Then, 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭) is a live protocol for edge agreement in that takes at most f(5log2(M+1))+6log2(M+1)+1 rounds when the honest parties run it with inputs in {0,,M}.

We prove Theorem 4 in the appendix, with a proof similar to the one of Theorem 2. Though 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭) does not explicitly use graded consensus, it depends on the same core idea as 𝖳𝖢 and 𝖤𝗑𝗉: The parties reach graded consensus on how to behave, and thus they behave well together. We do not need an actual graded consensus protocol in 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭) to implement this idea as the “grades” in 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭) are provided directly by 𝖠𝗀𝗋𝖭, in the form of the ri value which a party Pi obtains as the remainder when it divides its 𝖠𝗀𝗋𝖭 output by 5.

With 𝟤-𝖲𝗍𝖾𝗉 one can obtain a sequence of protocols Π1=𝖤𝗑𝗉0,Π2=𝟤-𝖲𝗍𝖾𝗉(Π1),Π3=𝟤-𝖲𝗍𝖾𝗉(Π2), for edge agreement in , with each protocol Πk corresponding to the algorithm Bk in [6]. Letting fk(M) be Πk’s round complexity depending on the maximum honest input M, we have f1(M)=12log2M+𝒪(1) and fk+1(M)=fk(5log2(M+1))+6log2(M+1)+1 for all k1. One can show by induction that fk(M)=6(L(k)(M)+j=1kL(j)(M))+𝒪(k) for all k1, where L(1)(v)=log2(v+1) and L(k)(v)=L(L(k1)(v)) for all k2.

The protocol Π2=𝟤-𝖲𝗍𝖾𝗉(𝖤𝗑𝗉0) above notably takes 12+𝒪(loglogMlogM)=12+o(1) times as many rounds as Π1=𝖤𝗑𝗉0, and only 1+o(1) times as many rounds as the protocols Π3,Π4, beyond it. Therefore, in the rest of the paper we use 𝟤-𝖲𝗍𝖾𝗉(𝖤𝗑𝗉0) for edge agreement in .

Complexity of 𝟮-𝗦𝘁𝗲𝗽(𝗘𝘅𝗽𝟎).

Consider a 𝟤-𝖲𝗍𝖾𝗉(𝖤𝗑𝗉0) execution with the maximum honest input M, and let q=log2(M+1). The initial 𝖤𝗑𝗉0 in 𝟤-𝖲𝗍𝖾𝗉(𝖤𝗑𝗉0) costs 12log2q+𝒪(1) rounds, 𝒪(n2logq) messages and 𝒪(n2logqloglogq) bits of communication in total. Then, in 𝟤-𝖲𝗍𝖾𝗉(𝖤𝗑𝗉0)’s remaining 6q+1 rounds, each party Pi runs an instance of 𝖳𝖢. Due to 𝖦𝖢2 and thus 𝖳𝖢 being fully symmetric protocols with balanced communication, each party Pi (with an 𝖤𝗑𝗉0 output zi that is upper bounded by 5q) sends 𝒪(nzi)=𝒪(nq) messages and 𝒪(nzilogzi)=𝒪(nqlogq) bits to the others in 𝖳𝖢. So, we conclude that 𝟤-𝖲𝗍𝖾𝗉(𝖤𝗑𝗉0) takes 12log2q+6q+𝒪(1)=6log2M+12log2log2M+𝒪(1) rounds, with 𝒪(n2q)=𝒪(n2logM) messages and 𝒪(n2qlogq)=𝒪(n2logMloglogM) bits of communication in total.

5.3 Edge Agreement in

As before, let 𝖠𝗀𝗋𝖭 be a protocol for edge agreement in . Observe that the parties can reach edge agreement in (,1,0) by mirroring their inputs (multiplying them by 1), running 𝖠𝗀𝗋𝖭 with their mirrored inputs, and mirroring their 𝖠𝗀𝗋𝖭 outputs. This allows the protocol 𝖠𝗀𝗋𝖹(𝖠𝗀𝗋𝖭) above for edge agreement in , where the parties run 𝖦𝖢2 with the input 1 if they have negative 𝖠𝗀𝗋𝖹 inputs and the input 1 otherwise, and afterwards use their 𝖦𝖢2 outputs to determine how they should run 𝖠𝗀𝗋𝖭. Note that [23] upgrades agreement in to agreement in similarly, though with byzantine agreement instead of 2-graded consensus.

Theorem 5.

If 𝖠𝗀𝗋𝖭 is a live protocol for edge agreement in , then 𝖠𝗀𝗋𝖹(𝖠𝗀𝗋𝖭) is a live protocol for edge agreement in .

We prove Theorem 5 in the appendix, with a proof similar to the one of Theorem 2.

Complexity.

When the honest parties run 𝖠𝗀𝗋𝖹(𝖠𝗀𝗋𝖭) with inputs in {M,,M} for some M0, they run 𝖦𝖢2, and then run 𝖠𝗀𝗋𝖭 with inputs upper bounded by M. So, the 𝖠𝗀𝗋𝖹 outer shell adds an overhead of 6 rounds, 𝒪(n2) messages and 𝒪(n2) bits of communication to 𝖠𝗀𝗋𝖭. If 𝖠𝗀𝗋𝖭=𝟤-𝖲𝗍𝖾𝗉(𝖤𝗑𝗉0), then 𝖠𝗀𝗋𝖹(𝖠𝗀𝗋𝖭)’s complexity is 6log2M+𝒪(loglogM) rounds, 𝒪(n2logM) messages and 𝒪(n2logMloglogM) bits of communication.

6 Termination

Our edge agreement and graded consensus protocols do not terminate. They require every honest party to run forever, and lose liveness if any honest party ever halts. Fortunately, there is a simple 3-round quadratic-complexity protocol 𝖳𝖾𝗋𝗆 which can address this shortcoming. We present it in the appendix. It is the same termination procedure as the one on page 18 in [28], with only cosmetic changes. It relies on the fact that edge agreement implies agreement on at most two values, i.e., implies that that for some y and y everybody outputs y or y. Note that unlike our other protocols, 𝖳𝖾𝗋𝗆 does not require every honest party to acquire an input.

Theorem 6.

In any 𝖳𝖾𝗋𝗆 execution where the maximum honest message delay is Δ and the honest parties only acquire inputs in some set {y,y}, if by some time T either every honest party acquires an input in {y,y} or some honest party terminates 𝖳𝖾𝗋𝗆, then by the time T+3Δ every honest party terminates 𝖳𝖾𝗋𝗆 with an output that is an honest party’s input.

We prove Theorem 6 in the appendix, with a proof similar to one of Theorem 6 in [28].

For any edge agreement protocol Π, there is an edge agreement protocol 𝖳𝖾𝗋𝗆Π in which the parties reach edge agreement with Π and terminate with 𝖳𝖾𝗋𝗆. In it, the parties run Π with their inputs, run 𝖳𝖾𝗋𝗆 by using their Π outputs as their 𝖳𝖾𝗋𝗆 inputs and terminate the whole protocol upon terminating 𝖳𝖾𝗋𝗆, letting their 𝖳𝖾𝗋𝗆 outputs be their final outputs. The composed protocol 𝖳𝖾𝗋𝗆Π inherits Π’s agreement and validity properties since each honest 𝖳𝖾𝗋𝗆 output is some honest party’s Π output. Moreover, if Π achieves liveness in k rounds, then 𝖳𝖾𝗋𝗆Π terminates in k+3 rounds. This is because after k rounds, either every honest has output from Π and thus acquired a 𝖳𝖾𝗋𝗆 input, or some honest party has terminated 𝖳𝖾𝗋𝗆. Either way, the honest parties all terminate 𝖳𝖾𝗋𝗆 within k+3 rounds of every honest party acquiring a Π input. Note that some honest parties might terminate 𝖳𝖾𝗋𝗆 before k rounds have passed and stop running Π before everybody outputs from Π. This might cause Π to lose its liveness, meaning that some honest parties might never output from Π and thus never acquire 𝖳𝖾𝗋𝗆 inputs. This is not an issue because if some honest party terminates 𝖳𝖾𝗋𝗆, then every honest party terminates 𝖳𝖾𝗋𝗆, even if not every honest party acquires a 𝖳𝖾𝗋𝗆 input.

In 𝖳𝖾𝗋𝗆, each honest party multicasts one constant-size READY message and at most one ECHO,v message for each honest input v. So, the overhead of terminating an edge agreement protocol Π with 𝖳𝖾𝗋𝗆 is 3 rounds and 𝒪(n2) messages which each carry honest Π outputs.

Termination for edge agreement in .

If the parties terminate with 𝖳𝖾𝗋𝗆 after reaching edge agreement in with inputs of magnitude at most M, then each honest 𝖳𝖾𝗋𝗆 input is an integer in {M,,M}, with an 𝒪(logM)-bit representation. So, for any live protocol 𝖠𝗀𝗋𝖹 for edge agreement in , 𝖳𝖾𝗋𝗆𝖠𝗀𝗋𝖹 is a terminating protocol for edge agreement in which costs 3 more rounds, 𝒪(n2) more messages and 𝒪(n2logM) more bits of communication than 𝖠𝗀𝗋𝖹.

Termination for edge agreement in trees.

If the parties run 𝖳𝖾𝗋𝗆 to terminate after they reach edge agreement in a tree T=(V,E), then each honest 𝖳𝖾𝗋𝗆 input is a vertex in V, with an 𝒪(log|V|)-bit representation. So, 𝖳𝖾𝗋𝗆𝖳𝖢(T) is a terminating version of 𝖳𝖢(T) that costs 3 rounds, 𝒪(n2) messages and 𝒪(n2log|V|) bits of communication more than 𝖳𝖢(T). Note that 𝖳𝖾𝗋𝗆 here does not asymptotically cost more communication than 𝖳𝖢(T) because we have h(T)=Ω(logΔ|V|), where Δ is T’s maximum degree. To see why, let hΔ(k) for any k1 be the minimum value h(T) can have for any tree T of maximum degree at most Δ2 with at least k vertices, and observe that hΔ(k)1+hΔ(k1Δ) for all k2 as removing a centroid of degree at most Δ from a tree with at least k2 vertices creates a forest whose largest component has at least k1Δ vertices. By induction, this implies hΔ(Δk)k for all k0.

7 Extension to Real Numbers

Termination is harder for approximate agreement in . As approximate agreement in does not entail agreement on two values, 𝖳𝖾𝗋𝗆 alone cannot directly provide termination. So, to achieve approximate agreement in with termination, we reduce it to edge agreement in .

Theorem 7.

For all ε>0, ε-agreement in with the maximum honest input magnitude M can be reduced to edge agreement in with the maximum honest input magnitude 2Mε12.

Proof.

We reduce 2-agreement in with the maximum honest input magnitude M to edge agreement in with the maximum honest input magnitude M12. This reduction implies the theorem since the parties can reach ε-agreement in by multiplying their inputs by 2ε, reaching 2-agreement, and dividing their outputs by 2ε.

Each party Pi rounds its 2-agreement input vi to the nearest integer vi, rounding towards 0 in the case of ties. Then, the parties reach edge agreement in with their rounded integers of magnitude at most M12, and each party Pi obtains some edge agreement output yi. For all honest parties Pi and Pj it holds that |yiyj|1 and that vayivb, where a and b are respectively the indices of the honest parties with the minimum and maximum edge agreement inputs. Observe that this implies va12vayivbvb+12 for all honest Pi.

Afterwards, each party Pi uses its 2-agreement input vi to convert yi into its 2-agreement output yi by letting yi=min(yi+12,vi) if yivi, and yi=max(yi12,vi) otherwise. That is, Pi obtains yi by moving from yi towards its input vi by a distance of at most 12. For all honest Pi and Pj it holds that min(va,vi)yimax(vb,vi), which implies validity, and that |yiyj||yiyi|+|yiyj|+|yjyj|12+1+12=2, which implies 2-agreement.

As we can achieve edge agreement in in 6log2M+𝒪(loglogM) rounds with 𝒪(n2logM) messages and 𝒪(n2logMloglogM) bits of communication, the reduction enables ε-agreement in in 6log2Mε+𝒪(loglogMε) rounds with 𝒪(n2logMε) messages and 𝒪(n2logMεloglogMε) bits of communication. Note that M here is (as always in this paper) not a parameter which must be known in advance, but a dynamic value that depends on the honest parties’ inputs.

Our reduction allows the parties to reach ε-agreement in by only sending each other discrete messages. So, it allows approximate agreement without any value rounding errors. In contrast, protocols where the parties send values in [14, 1, 21, 5] must in order to avoid rounding errors assume that the inputs in fit -bit strings, with affecting complexity.

Future Work.

It remains open to design a protocol for ε-agreement in that tolerates t<n3 faults with quadratic communication in 𝒪(logSε) rounds, where S is the honest input spread. Our protocol takes 𝒪(logMε) rounds, where possibly MS, while [1] takes 𝒪(logSε) rounds but requires cubic communication. In fact, this task is open even for the synchronous setting. The classical synchronous protocol in [14] takes as many rounds as the adversary wants since its complexity scales with the the spread of all inputs, including byzantine ones. Solving this issue remains open, especially in the asynchronous setting where a new approach seems necessary.

References

  • [1] 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.
  • [2] Ittai Abraham, T-H. Hubert Chan, Danny Dolev, Kartik Nayak, Rafael Pass, Ling Ren, and Elaine Shi. Communication complexity of byzantine agreement, revisited. In Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, PODC ’19, pages 317–326, New York, NY, USA, 2019. Association for Computing Machinery. doi:10.1145/3293611.3331629.
  • [3] 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.
  • [4] Hagit Attiya and Jennifer L. Welch. Multi-Valued Connected Consensus: A New Perspective on Crusader Agreement and Adopt-Commit. In 27th International Conference on Principles of Distributed Systems (OPODIS 2023), volume 286 of Leibniz International Proceedings in Informatics (LIPIcs), pages 6:1–6:23, Dagstuhl, Germany, 2024. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.OPODIS.2023.6.
  • [5] Akhil Bandarupalli, Adithya Bhat, Saurabh Bagchi, Aniket Kate, Chen-Da Liu-Zhang, and Michael K. Reiter. Delphi: Efficient Asynchronous Approximate Agreement for Distributed Oracles. In 2024 54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), pages 456–469, Los Alamitos, CA, USA, June 2024. IEEE Computer Society. doi:10.1109/DSN58291.2024.00051.
  • [6] Jon Louis Bentley and Andrew Chi-Chih Yao. An almost optimal algorithm for unbounded searching. Information Processing Letters, 5(3):82–87, 1976. doi:10.1016/0020-0190(76)90071-5.
  • [7] Erica Blum, Jonathan Katz, and Julian Loss. Synchronous consensus with optimal asynchronous fallback guarantees. In Theory of Cryptography — TCC 2019, Cham, Switzerland, 2019. Springer International Publishing. doi:10.1007/978-3-030-36030-6_6.
  • [8] Gabriel Bracha. Asynchronous byzantine agreement protocols. Information and Computation, 75(2), 1987. doi:10.1016/0890-5401(87)90054-X.
  • [9] Jing Chen and Silvio Micali. Algorand: A secure and efficient distributed ledger. Theor. Comput. Sci., 777(C):155–183, July 2019. doi:10.1016/j.tcs.2019.02.001.
  • [10] B. A. Coan. A compiler that increases the fault tolerance of asynchronous protocols. IEEE Trans. Comput., 37(12):1541–1553, December 1988. doi:10.1109/12.9732.
  • [11] Andrei Constantinescu, Diana Ghinea, Roger Wattenhofer, and Floris Westermann. Convex Consensus with Asynchronous Fallback. In 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.
  • [12] Giovanni Deligios and Mose Mizrahi Erbes. Closing the efficiency gap between synchronous and network-agnostic consensus. In Advances in Cryptology – EUROCRYPT 2024, pages 432–461, Cham, 2024. Springer Nature Switzerland. doi:10.1007/978-3-031-58740-5_15.
  • [13] D. Dolev and H. R. Strong. Authenticated algorithms for byzantine agreement. SIAM Journal on Computing, 12(4):656–666, 1983. doi:10.1137/0212045.
  • [14] Danny Dolev, Nancy A. Lynch, Shlomit S. Pinter, Eugene W. Stark, and William E. Weihl. Reaching approximate agreement in the presence of faults. J. ACM, 33(3):499–516, May 1986. doi:10.1145/5925.5931.
  • [15] Danny Dolev and Rüdiger Reischuk. Bounds on information exchange for byzantine agreement. J. ACM, 32(1):191–204, January 1985. doi:10.1145/2455.214112.
  • [16] Maya Dotan, Gilad Stern, and Aviv Zohar. Validated byzantine asynchronous multidimensional approximate agreement, 2022. doi:10.48550/arXiv.2211.02126.
  • [17] Michael J. Fischer, Nancy A. Lynch, and Michael S. Paterson. Impossibility of distributed consensus with one faulty process. J. ACM, 32(2):374–382, April 1985. doi:10.1145/3149.214121.
  • [18] Matthias Fitzi, Chen-Da Liu-Zhang, and Julian Loss. A new way to achieve round-efficient byzantine agreement. In Proceedings of the 2021 ACM Symposium on Principles of Distributed Computing, PODC ’21, pages 355–362, New York, NY, USA, 2021. Association for Computing Machinery. doi:10.1145/3465084.3467907.
  • [19] Marc Fuchs, Diana Ghinea, and Zahra Parsaeian. Brief announcement: Towards round-optimal approximate agreement on trees. In Proceedings of the ACM Symposium on Principles of Distributed Computing, PODC ’25, pages 54–57, New York, NY, USA, 2025. Association for Computing Machinery. doi:10.1145/3732772.3733555.
  • [20] Diana Ghinea, Vipul Goyal, and Chen-Da Liu-Zhang. Round-optimal byzantine agreement. In Advances in Cryptology – EUROCRYPT 2022, pages 96–119, Cham, 2022. Springer International Publishing. doi:10.1007/978-3-031-06944-4_4.
  • [21] 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.
  • [22] 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.
  • [23] Diana Ghinea, Chen-Da Liu-Zhang, and Roger Wattenhofer. Communication-optimal convex agreement. In Proceedings of the ACM Symposium on Principles of Distributed Computing, PODC ’25, pages 39–49, New York, NY, USA, 2025. Association for Computing Machinery. doi:10.1145/3732772.3733551.
  • [24] Camille Jordan. Sur les assemblages de lignes. Journal für die reine und angewandte Mathematik, 70:185–190, 1869. URL: http://eudml.org/doc/148084.
  • [25] Simon Holmgaard Kamp. A new way to achieve round-efficient asynchronous byzantine agreement. Cryptology ePrint Archive, Paper 2025/143, 2025. URL: https://eprint.iacr.org/2025/143.
  • [26] Hammurabi Mendes, Maurice Herlihy, Nitin Vaidya, and Vijay K. Garg. Multidimensional agreement in byzantine systems. Distrib. Comput., 28(6):423–441, December 2015. doi:10.1007/s00446-014-0240-5.
  • [27] Mose Mizrahi Erbes and Roger Wattenhofer. Brief Announcement: Asynchronous Approximate Agreement with Quadratic Communication. In Dariusz R. Kowalski, editor, 39th International Symposium on Distributed Computing (DISC 2025), volume 356 of Leibniz International Proceedings in Informatics (LIPIcs), pages 61:1–61:7, Dagstuhl, Germany, 2025. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.DISC.2025.61.
  • [28] Mose Mizrahi Erbes and Roger Wattenhofer. Quit-Resistant Reliable Broadcast and Efficient Terminating Gather. In 28th International Conference on Principles of Distributed Systems (OPODIS 2024), volume 324 of Leibniz International Proceedings in Informatics (LIPIcs), pages 15:1–15:22, Dagstuhl, Germany, 2025. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.OPODIS.2024.15.
  • [29] Thomas Nowak and Joel Rybicki. Byzantine Approximate Agreement on Graphs. In 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.
  • [30] A simple introduction to centroid decomposition. A Simple Blog, 2020. Accessed: 2025-08-15. URL: https://robert1003.github.io/2020/01/16/centroid-decomposition.html.

Appendix A Graded Consensus Protocols

In this section, we design a family of 2k-graded consensus protocols 𝖦𝖢20,𝖦𝖢21,𝖦𝖢22, that support inputs in {0,1} for any public length parameter 1. The complexity of each protocol 𝖦𝖢2k is 3k+3 rounds, 𝒪(kn2) messages and 𝒪(kn2(+logk)) bits of communication. To obtain these protocols we begin with the 3-round 𝖦𝖢1, and then for all k1 obtain 𝖦𝖢2k by grade-doubling 𝖦𝖢2k1 in 3 rounds. While we only use 𝖦𝖢2 in this paper, note that grades above 2 can also be useful, as 2k-graded consensus forms the “expand” part of the “expand-and-extract” paradigm of achieving byzantine agreement with an 𝒪(2k) error probability [18].

As 2k-graded consensus is a special case of edge agreement with the centroid decomposition height k+1 (see Figure 1), our edge agreement protocol 𝖳𝖢 is also a 2k-graded consensus protocol, but one that takes up to 6k+7 rounds. The more restricted definition of 2k-graded consensus allow us to achieve it in 3k+3 rounds instead. This is the round complexity of the binary 2k-graded consensus protocol in [5], and it is for all k0 lower than the round complexity of any previous multivalued 2k-graded consensus protocol which we know of that tolerates t<n3 faults with perfect security. Note that 2k-graded consensus can be achieved in less rounds than 3k+3 if t<n5 (k+1 rounds [14, 4]) or if the parties can use a cryptographic setup (k+2 rounds, [25]). If in our edge agreement protocols we replaced 𝖦𝖢2 with a faster r-round 2-graded consensus protocol, then our edge agreement protocols would become 6r times faster, excluding some constant round complexity terms that would not change.

A.1 1-Graded Consensus

Below is our live 3-round multivalued 1-graded consensus protocol 𝖦𝖢1.

This protocol is based on the 4-round protocol 𝖠𝖶𝖢 in [12]. Our addition is the list of sets Vi1,,Vi, which 𝖠𝖶𝖢 does not have. While according to 𝖠𝖶𝖢 a party Pi would output (,0) upon observing that Wik={0,1} for some k, in 𝖦𝖢1 a party Pi outputs (,0) upon observing that Vik={0,1}. As the parties fill their V sets more readily than their W sets (due to Line 7 having a weaker condition than Line 11), the V sets let us shave off one round.

Theorem 8.

𝖦𝖢1 is a secure 3-round 1-graded consensus protocol with liveness.

Proof.

The simplest property is intrusion tolerance. It follows from the fact that if an honest party outputs (v,1) for any v, then v is the party’s input, which makes it an honest input.

Agreement is also simple. Suppose there are two honest parties P and P who respectively output (v,1) and (v,1). Then, P has received nt proposals on v, while P has received nt proposals on v. Hence, there are n2tt+1 parties, or at least one honest party, who have sent P a proposal on v and P a proposal on v. This implies that v=v because an honest party can only propose one value. The reason why this is true is that an honest party Pi only proposes a value when it adds a bit to one of its W sets Wi1,,Wi and after doing so observes that |Wi1|==|Wi|=1, which can happen only once.

For validity, suppose the honest parties have a common input v=b1b{0,1}. In this case, they echo v (multicast ECHO,v), and they do not echo since they do not receive t+1 echoes on values other than v. For all k{1,,}, since no honest party echoes or a string with the kth bit 1bk, the bit bk is the only bit that any honest party Pi can add to Vik or Wik. Consequently, an honest party can neither output (,0) on Line 10 nor propose anything other than v. This means that an honest party can only output after receiving nt proposals on v, which leads to the party outputting v since it has the input v.

Finally, for liveness in 3 rounds, suppose that by some time T every honest party acquires its input and thus echoes it. We show via case analysis that every honest party outputs by the time T+3Δ, where Δ is the maximum honest message delay that the adversary causes.

  1. 1.

    The easier case is if there is no input that t+1 honest parties have. Then, by the time T+Δ, every honest party receives n2tt+1 echo messages on inputs that are not its own, and therefore becomes able to output .

  2. 2.

    Suppose instead that some v=b1b{0,1} is the input of t+1 honest parties. By the time T+Δ, all the honest parties with inputs other than v receive t+1 echoes on v and thus echo . Then, by the time T+2Δ, for each k{1,,} each honest party Pi receives nt2t+1 echoes that are on or v (which has the kth bit bi), and thus adds bi to Wik. So, by the time T+2Δ, either every honest party Pi observes that Wik={bk} for all k, or some honest party Pi obtains Wik={0,1}. In the former case, the honest parties all propose v, which by the time T+3Δ leads to them all receiving nt proposals on v and thus becoming able to output (v,1) or (,0). In the latter case, the honest party Pi with Wik={0,1} has by the time T+2Δ for both bits b{0,1} received echo messages on or on strings with the kth bit b from nt parties (t+1 or more of which are honest). Hence, by the time T+3Δ, for both bits b{0,1} every honest party Pj receives from t+1 honest parties echoes on or on strings with the kth bit b, which means that Pj obtains Vjk={0,1} and becomes able to output (,0).

Complexity.

The round complexity is 3, as proven above. The message complexity is 𝒪(n2) as each party multicasts at most 3 messages (an echo on , an echo on its input and a proposal), and the communication complexity is 𝒪(n2) bits. Note that the communication is balanced evenly between the parties: Each party sends 𝒪(n) messages and 𝒪(n) bits to the others.

A.2 Grade Doubling

We achieve grade-doubling with a proposal protocol we call 𝖯𝗋𝗈𝗉. In proposal, each party Pi acquires an input vi in an input domain , and outputs a set YiM of size 1 or 2. To work properly, a proposal protocol requires there to exist a set S of size 2 (which the parties might not know in advance) such that the honest parties only acquire inputs in S. If there exists such a set S, a proposal protocol achieves liveness with the following safety properties:

  • agreement: If Yi and Yj are honest output sets, then YiYj.

  • validity: For every honest output set Yi, every yYi is an honest party’s input.

With binary inputs, proposal is equivalent to binary 1-graded consensus. Suppose the parties run a proposal protocol with inputs in {0,1}. If they run it with a common input bit b then they all output {b} from it, and otherwise for some bit b they each output {b} or {0,1} from it. These output guarantees are exactly those of binary 1-graded consensus when we map the proposal outputs {0},{0,1},{1} to the 1-graded consensus outputs (0,1),(,0),(1,1). However, when there are more than two possible inputs, a binary 1-graded consensus protocol cannot be used, whereas a proposal protocol still works with output guarantees comparable to those of 1-graded consensus as long as the honest parties happen to run it with at most two inputs a and b, even if the parties with the input a do not know what b is and vice versa.

Our 3-round proposal protocol 𝖯𝗋𝗈𝗉 is based on the 4-round protocol 𝖠𝖯𝗋𝗈𝗉 in [12], which is in turn based on the protocol Π𝗉𝗋𝗈𝗉ts in [7]. Again, we shave off one round. While according to 𝖠𝖯𝗋𝗈𝗉’s design a party Pi would need to receive 2t+1 echoes on a value v to add v to its set Vi, below in 𝖯𝗋𝗈𝗉 the party Pi adds v to Vi after receiving t+1 echoes on v. This change makes it easier for Pi to add values to Vi, obtain |Vi|=2 and output Vi.

Note that using proposal to double grades is not a new invention. The BinAA protocol in [5] essentially uses proposal (therein called weak binary value broadcast) for this purpose.

Theorem 9.

𝖯𝗋𝗈𝗉 is a secure 3-round proposal protocol with liveness.

Proof.

Below, we assume that there exists a set S={a,b} such that the honest parties only acquire inputs in S. Without this, the agreement and liveness properties would be lost.

If an honest party echoes a value v, then v must be some honest party’s input. Otherwise, the first honest party that echoes v would have to have received t+1 echoes on v, at least one being from an honest party who contradictorily echoed v earlier. For any value v that is not any honest party’s input, the fact that no honest party echoes v means that the honest parties cannot output sets that contain v (i.e., that we have validity), due to the following:

  1. 1.

    An honest party Pi cannot add v to its set Vi, as Pi would need to receive t+1 echoes on v to do this. Therefore, if Pi outputs Vi when |Vi|=2, then vVi.

  2. 2.

    An honest party Pi cannot propose v, as Pi would need to receive 2t+1 echoes on v to do this. This means that an honest party Pj cannot output {v}, as Pj would have to receive ntt+1 proposals on v to do this.

As for agreement, observe that by the validity property the honest parties can only output non-empty subsets of S={a,b}, as their inputs are all in S. So, we only need to show that if some honest parties P and P respectively output {v} and {v} for some v,vS, then v=v. Again, this follows from a traditional quorum intersection argument. If we have such parties P and P, then P has received nt proposals on v, while P has received nt proposals on v. So, there are n2tt+1 parties, or at least one honest party, who have sent P a proposal on v and P a proposal on v. This implies v=v as an honest party can only propose once.

It remains to show liveness in 3 rounds. As we did for 𝖦𝖢1, let us suppose that by some time T every honest party has acquired an input in {a,b}=S and thus echoed it. Let us show that every honest party outputs by the time T+3Δ, where Δ is the maximum honest message delay that the adversary causes. Since there exists some vS that is at least nt2t+1 honest parties’ input, we know that by the time T+Δ every honest party receives t+1 echoes on v and thus echoes v even if v is not its input. Then, by the time T+2Δ, every honest party receives nt2t+1 echoes on v. Finally, this is followed by one of the two cases below, in both of which the honest parties all output by the time T+3Δ.

  1. 1.

    It could be the case that no honest party proposes any vv by the time T+2Δ. Then, by the time T+2Δ every honest party proposes v after receiving 2t+1 echoes on v. Consequently, by the time T+3Δ, every honest party receives nt proposals on v, which allows the party to output v if it did not output earlier.

  2. 2.

    It could be the case that some honest party Pi proposes some vv by the time T+2Δ. Then, at the time T+2Δ the party Pi must have received 2t+1 echoes on v, with at least t+1 of these echoes being from honest parties. Since both v and v get echoed by at least t+1 honest parties by the time T+2Δ, we conclude that by the time T+3Δ every honest party Pj gains the ability to output Vj={v,v}=S after it receives t+1 echoes on both v and v and thus adds both v and v to Vj.

Complexity.

The round complexity is 3, as proven above. The message complexity is 𝒪(n2) as each party multicasts at most 3 messages (two echoes and one proposal), with each honest party echo/proposal carrying an honest party’s input. Again, the communication is balanced.

With 𝖯𝗋𝗈𝗉, it is simple to grade-double 𝖦𝖢2k1 into 𝖦𝖢2k. All we need to do is sequentially compose 𝖦𝖢2k1 and 𝖯𝗋𝗈𝗉, and interpret 𝖯𝗋𝗈𝗉 outputs as 𝖦𝖢2k outputs.

Theorem 10.

For all k0, 𝖦𝖢2k is a secure 2k-graded consensus protocol with liveness.

Proof.

Naturally, this theorem follows by induction on k. The base case k=0 is the protocol 𝖦𝖢1, which we have already proven secure. Below, we consider k1, where we obtain 𝖦𝖢2k by sequentially composing 𝖦𝖢2k1 and 𝖯𝗋𝗈𝗉.

The honest parties begin by running 𝖦𝖢2k1 with their inputs. So, for some honest input v and some grade g{0,,2k11} they each output either (v,g) or (v,g+1) from 𝖦𝖢2k1, where v= if g=0 and v=v if g1. Afterwards, they run 𝖯𝗋𝗈𝗉 with inputs in {(v,g),(v,g+1)}, and therefore either they all output {(v,g)} or {(v,g),(v,g+1)} from 𝖯𝗋𝗈𝗉 and thus all output (v,2g) or (v,2g+1) from 𝖦𝖢2k, or they all output {(v,g),(v,g+1)} or {(v,g+1)} from 𝖯𝗋𝗈𝗉 and thus all output (v,2g+1) or (v,2g+2) from 𝖦𝖢2k. Either way, 𝖦𝖢2k achieves liveness, intrusion tolerance and agreement.

If the honest parties run 𝖦𝖢2k with a common input v, then they all run 𝖦𝖢2k1 with the input v, output (v,2k1) from it, run 𝖯𝗋𝗈𝗉 with the input (v,2k1), output {(v,2k1)} from it, and finally output (v,2k) from 𝖦𝖢2k. Hence, 𝖦𝖢2k achieves validity as well.

Complexity.

As 𝖦𝖢2k consists of one 3-round 𝖦𝖢1 instance followed by k sequential 3-round 𝖯𝗋𝗈𝗉 iterations, 𝖦𝖢2k’s round complexity is 3k+3 and its message complexity is 𝒪(kn2). When the parties run 𝖦𝖢2k with -bit inputs, they run 𝖦𝖢1 with inputs in {0,1}, and so 𝖦𝖢1 costs 𝒪(n2) bits of communication. Then, for each j{1,,k} they run the jth 𝖯𝗋𝗈𝗉 iteration with inputs that are 2j1-graded consensus outputs in ({0,1}×{1,,2j1}){(,0)}, of size 𝒪(+logj)=𝒪(+logk), and so the jth 𝖯𝗋𝗈𝗉 iteration costs 𝒪(n2(+logk)) bits of communication. Overall, we see that 𝖦𝖢2k’s communication complexity is 𝒪(kn2(+logk)) bits, with the logk term here also covering the 𝖯𝗋𝗈𝗉 iterations’ ID tags. Note that the communication in 𝖦𝖢2k is balanced, as both 𝖦𝖢1 and 𝖯𝗋𝗈𝗉 have balanced communication.

Appendix B The Termination Protocol 𝗧𝗲𝗿𝗺

Theorem 6.

In any 𝖳𝖾𝗋𝗆 execution where the maximum honest message delay is Δ and the honest parties only acquire inputs in some set {y,y}, if by some time T either every honest party acquires an input in {y,y} or some honest party terminates 𝖳𝖾𝗋𝗆, then by the time T+3Δ every honest party terminates 𝖳𝖾𝗋𝗆 with an output that is an honest party’s input.

Proof.

Suppose an honest party Pi outputs some v from 𝖳𝖾𝗋𝗆. Then, Pi has received t+1 echoes on v, at least one of which is honest. An honest party only echoes a value if the value is its input or it receives t+1 echoes on the value (at least one of which is honest), which means that the first honest party who echoed v did so because its input is v. So, we see that the honest parties can only output honest party inputs from 𝖳𝖾𝗋𝗆.

As for termination in 3 rounds, let Δ be the maximum honest message delay the adversary causes. We first prove a fact we will use later: If every honest party multicasts READY by some time T, then every honest party terminates by the time T+Δ. To see why, suppose every honest party multicasts READY by some time T. At the time T, the first honest party who has multicast READY has done so because it has received 2t+1 echoes on some v, at least t+1 of which are honest. So, by the time T+Δ every honest party Pi receives t+1 honest echoes on v, which allows Pi to set yiv if yi=. Moreover, since every honest party multicasts READY by the time T, every honest party Pi receives nt2t+1 honest READY messages by the time T+Δ, which allows Pi to terminate 𝖳𝖾𝗋𝗆 by the time T+Δ with an output yi.

Now, let us show that if an honest party Pi terminates by some time T, then every honest party terminates by the the time T+2Δ. This is because if Pi terminates by the time T, it does so after receiving READY from 2t+1 parties, at least t+1 of which are honest. Since at least t+1 honest parties multicast READY by the time T, every honest party receives t+1 honest READY messages and therefore multicasts READY by the time T+Δ, and consequently every honest party terminates by the time T+2Δ.

Finally, suppose that by some time T every honest party acquires an input. We want to show that every honest party terminates by the time T+3Δ. If some honest party terminates by the time T+Δ, then this follows from what we have proven above; so, suppose no honest party terminates by the time T+Δ. By the time T, every honest party echoes its input in {y,y}, and so there exists some y{y,y} that at least nt2t+1 honest parties echo. By the time T+Δ, every honest party receives t+1 echoes on y before terminating, and thus echoes y even if it has not acquired the input y. By the time T+2Δ, every honest party receives nt2t+1 echoes on y, and thus multicasts READY. Finally, by the time T+3Δ, every honest party terminates 𝖳𝖾𝗋𝗆.

Appendix C Skipped Proofs

Theorem 3.

For any positive integer q and any 0j<q, suppose the honest parties run 𝖤𝗑𝗉j with inputs in {2j1,,2q1}. Then, they reach edge agreement in the path based on their inputs in at most 6(j+1) rounds if they have the common input 2j1 and in at most 12q6j5 rounds otherwise.

Proof.

To prove the theorem, we pick any arbitrary q1, and by induction prove for each j{q1,q2,,0} (in this order) that 𝖤𝗑𝗉j is a protocol for edge agreement in the path (2j1,,2q1) that takes at most 6(j+1) rounds if run with the common input 2j1 and at most 12q6j5 rounds otherwise.

Note that for any j0, if no honest party obtains the grade 0 from 𝖦𝖢2 in 𝖤𝗑𝗉j, then no honest party multicasts CENTER, and thus no honest party outputs 2j+11 on Line 22 upon receiving CENTER from t+1 parties. We use this fact in the rest of the proof below.

The induction’s base case is q=j+11, where each honest party Pi runs 𝖤𝗑𝗉j with an input vi{2j1,,2j+11}. In this base case, the honest parties all input LEFT to 𝖦𝖢2, and thus all output (LEFT,2) from it. Then, each honest party Pi sets 𝗌𝗂𝖽𝖾=LEFT, sets vi𝗇𝖾𝗑𝗍=min(vi,2j+11)=vi, runs 𝖳𝖢((2j1,,2j+11)) with the other parties with the input vi𝗇𝖾𝗑𝗍=vi, and finally lets its 𝖳𝖢 output be its final output. So, 𝖤𝗑𝗉j’s security follows from 𝖳𝖢’s security, and 𝖤𝗑𝗉j takes at most 6+6j+1=12q6j5 rounds: 6 rounds due to 𝖦𝖢2 and 6j+1 rounds due to 𝖳𝖢 (since 𝖳𝖢 is run on a path of length 2j). However, if the honest parties have a common input, then 𝖳𝖢 only takes 6j rounds, and thus 𝖤𝗑𝗉j takes 6(j+1) rounds instead of 6(j+1)+1.

Now, let us consider the cases that might arise when the honest parties run 𝖤𝗑𝗉j with inputs in {2j1,,2q1} for any j{q2,q3,,0}, with the inductive assumption that 𝖤𝗑𝗉j+1 provides edge agreement in (2j+11,,2q1) in at most 6(j+2) rounds when run with the common input 2j+11 and at most 12q6(j+1)5 rounds otherwise.

  1. 1.

    It could be the case that every honest input is less than 2j+1. This case is identical to the base case above: The honest parties reach edge agreement in at most 6(j+1) rounds if they have a common input and in at most 6(j+1)+1<12q6j5 rounds otherwise.

  2. 2.

    It could be the case that every honest input is at least 2j+1. Then, the honest parties all run 𝖦𝖢2 with the input RIGHT, and thus all output (RIGHT,2) from it. Then, each honest party Pi sets 𝗌𝗂𝖽𝖾=RIGHT, sets vi𝗇𝖾𝗑𝗍=max(vi,2j+11)=vi, runs 𝖤𝗑𝗉j+1 with the other parties for edge agreement in the path (2j+11,,2q1) with the input vi𝗇𝖾𝗑𝗍=vi, and finally lets its 𝖤𝗑𝗉j+1 output be its final output. Hence, 𝖤𝗑𝗉j’s security follows from 𝖤𝗑𝗉j+1’s security, and 𝖤𝗑𝗉j takes at most 12q6j5 rounds: 6 rounds due to the initial 𝖦𝖢2, and max(6(j+2),12q6(j+1)5)=12q6(j+1)5 rounds due to 𝖤𝗑𝗉j+1. The last equality here follows from the fact that 12q12j+24.

  3. 3.

    The most challenging case is when some honest inputs are below 2j+1, while others or not. In this case, the parties run 𝖦𝖢2 with different inputs, and so for some k{LEFT,RIGHT} they either all output (k,2) or (k,1) from 𝖦𝖢2, or all output (k,1) or (,0) from 𝖦𝖢2. Below, we say that the corresponding protocol for the graded consensus value k=LEFT is 𝖳𝖢((2j1,,2j+11)), while the corresponding protocol for k=RIGHT is 𝖤𝗑𝗉j+1.

    1. (a)

      The case where the parties output (k,2) or (k,1) from 𝖦𝖢2 for some k{LEFT,RIGHT} is like the two cases we considered above where they all output (k,2) from 𝖦𝖢2, except for that some honest parties run the corresponding protocol with the input vi𝗇𝖾𝗑𝗍=vi while some others run it with the input vi𝗇𝖾𝗑𝗍=2j+11. As some honest inputs are below 2j+11 while others or not, 2j+11 is in the convex hull of the honest inputs, which means that some honest parties switching their inputs to it does not impact convex validity. So, the honest parties reach edge agreement in at most 12q6j5 rounds by running 𝖦𝖢2 in 6 rounds and then running the corresponding protocol in at most max(6j+1,max(6(j+2),12q6(j+1)5))=12q6(j+1)5 rounds.

    2. (b)

      If the honest parties all output (k,1) or (k,) from 𝖦𝖢2 for some k{LEFT,RIGHT}, then every honest party Pi sets vi𝗇𝖾𝗑𝗍=2j+11, which ensures that the honest parties can only run 𝖳𝖢 or 𝖤𝗑𝗉j+1 with the input 2j+11 and thus only output 2j+11 from them. Hence, an honest party that outputs from 𝖤𝗑𝗉j can only output the valid value 2j+11, no matter if it outputs on Line 12, 17, 20 or 22. What remains to show is liveness. For this, observe that since nt2t+1, there are either t+1 honest parties that output (,0) from 𝖦𝖢2, or t+1 honest parties that output (k,1) from 𝖦𝖢2.

      1. (i)

        In the former case, the t+1 honest parties that output (,0) from 𝖦𝖢2 multicast CENTER, and so, after one round (i.e. 7<12q6j5 rounds after 𝖤𝗑𝗉j begins) every honest party becomes able to output 2j+11 on Line 22.

      2. (ii)

        In the latter case, the t+1 honest parties that output (k,1) from 𝖦𝖢2 multicast k{LEFT,RIGHT} before running the corresponding protocol, and this allows the honest parties that output (,0) from 𝖦𝖢2 to also set 𝗌𝗂𝖽𝖾=k and run the corresponding protocol, albeit with one additional round of delay compared to the parties that output (k,1) from 𝖦𝖢2. Therefore, every honest party that does not output 2j+11 on Line 22 eventually outputs 2j+11 by outputting this from the corresponding protocol. The corresponding protocol (which the honest parties run with the common input 2j+11) is either 𝖳𝖢, which takes at most 6j rounds, or 𝖤𝗑𝗉j+1, which takes at most 6(j+2) rounds. So, every honest party outputs in at most 6+1+6(j+2)=12(j+2)6j512q6j5 rounds. Here, the first 6 rounds are due to 𝖦𝖢2, the following 7th round is due to the honest parties that output (,0) from 𝖦𝖢2 needing one extra round to learn k, and the final 6(j+2)12q6j12 rounds are due to the corresponding protocol.

Theorem 4.

Suppose 𝖠𝗀𝗋𝖭 is a live protocol for edge agreement in which for some function f takes at most f(M) rounds when the honest parties run it with inputs in {0,,M}. Then, 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭) is a live protocol for edge agreement in that takes at most f(5log2(M+1))+6log2(M+1)+1 rounds when the honest parties run it with inputs in {0,,M}.

Proof.

Let V={log2(vi+1):Pi is honest}, let q1=minV, and let q2=maxV. Observe that vi{2q11,,2q2+11} for every honest party Pi and that q2=log2(M+1) if the maximum honest input is M. The honest parties run 𝖠𝗀𝗋𝖭 with inputs in {5q1,,5q2}, and so they output adjacent integers in {5q1,,5q2} from it, in at most f(5q2) rounds.

If q1=q2, then the honest parties all run 𝖠𝗀𝗋𝖭 with the common input 5q2, and thus they all output 5q2 from it. Consequently, each honest party Pi sets (ki,ri)=(q2,0) and obtains its final output from a common instance of 𝖳𝖢((2q21,,2q2+11)) which it runs with the input vi𝗇𝖾𝗑𝗍=min(max(vi,2q21),2q2+11)=vi{2q21,,2q2+11}. Edge agreement thus follows from 𝖳𝖢, in 6q2+1 more rounds.

For the rest of the proof, we assume q1<q2. Observe that the boundary values q1 and q2 arise from some honest inputs vi,vj being such that log2(vi+1)=q1 and log2(vj+1)=q2. These equalities respectively imply vi<2q1+11 and vj2q21, which means that every integer in {2q1+11,,2q21} is in the convex hull of the honest parties’ inputs.

When an honest party Pi outputs 5ki+ri from 𝖠𝗀𝗋𝖭, it lets vi𝗇𝖾𝗑𝗍=min(max(vi,2ki1),2ki+11) if ri=0, and lets vi𝗇𝖾𝗑𝗍=2ki+11 otherwise. Let us show that in every possible case Pi chooses a valid vi𝗇𝖾𝗑𝗍; that is, Pi sets vi𝗇𝖾𝗑𝗍 to a value which is inside the convex hull of the honest inputs. If ri=0, then q1kiq2, and there are three cases we must consider: If vi<2ki1 then vi𝗇𝖾𝗑𝗍=2ki1 is valid since 2ki1 is between the valid values vi and 2q21, if vi>2ki+11 then vi𝗇𝖾𝗑𝗍=2ki+11 is valid since 2ki+11 is between the valid values 2q1+11 and vi, and finally if 2ki1vi2ki+11 then vi𝗇𝖾𝗑𝗍=vi is valid as well. Meanwhile, if ri>0, then by 5q15ki+ri5q2 we have q1kiq21, which makes vi𝗇𝖾𝗑𝗍=2ki+11{2q1+11,,2q21} valid.

Convex validity follows from the fact that every honest party Pi either directly outputs the valid value 2ki+11 or obtains its output from a 𝖳𝖢 instance for which the honest parties can only acquire valid inputs. Note that the honest parties do not run 𝖳𝖢 with out-of-range inputs: The value 2ki+11 which a party Pi inputs to 𝖳𝖢((2ki1,,2ki+11)) if ri{1,2} or 𝖳𝖢((2ki+11,,2ki+21)) if ri{3,4} is in range for both 𝖳𝖢((2ki1,,2ki+11)) and 𝖳𝖢((2ki+11,,2ki+11)), and the value min(max(vi,2ki1),2ki+11) which a party Pi inputs to 𝖳𝖢((2ki1,,2ki+11)) if ri=0 is in-range as well.

The initial 𝖠𝗀𝗋𝖭 guarantees that there exists some v=5k+r where q1kq21 and 0r4 such that every honest party outputs either v or v+1 from it. Based on this, let us prove the edge agreement and liveness properties of 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭) via case analysis on r.

  1. 1.

    If r=0, then the honest parties all run 𝖳𝖢((2k1,,2k+11)) with in-range valid inputs, and obtain their final outputs from it. Edge agreement in thus follows from 𝖳𝖢((2k1,,2k+11)), in 6k+1 more rounds.

  2. 2.

    If r=1, then the honest parties all run 𝖳𝖢((2k1,,2k+11)) with the common input 2k+11, and thus all output 2k+11 from it in 6k rounds. The honest parties Pi that have ri=1 output 2k+11 from 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭) after they output 2k+11 from 𝖳𝖢, while those that have ri=2 output 2k+11 directly after they output from 𝖠𝗀𝗋𝖭.

  3. 3.

    If r=2, then every honest party Pi has ri{2,3}, which leads to it directly outputting 2k+11 after it outputs from 𝖠𝗀𝗋𝖭. The fact that the honest parties Pi with ri=2 run 𝖳𝖢((2k1,,2k+11)) while those with ri=3 run 𝖳𝖢((2k+11,,2k+21)) is not an issue as none of the honest parties care about their 𝖳𝖢 outputs.

  4. 4.

    If r=3, then the honest parties run 𝖳𝖢((2k+11,,2k+21)) with the common input 2k+11, and thus all output 2k+11 from it in 6(k+1) rounds. The honest parties Pi that have ri=4 output 2k+11 from 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭) after they output 2k+11 from 𝖳𝖢, while those that have ri=3 output 2k+11 directly after they output from 𝖠𝗀𝗋𝖭.

  5. 5.

    If r=4, then every honest party Pi (both if (ki,ri)=(k,r) and if (ki,ri)=(k+1,0)) runs 𝖳𝖢((2k+11,,2k+21)) with an in-range valid input, and obtains its final output from it. Edge agreement thus follows from 𝖳𝖢((2k+11,,2k+21)), in 6(k+1)+1 more rounds.

Note that in all the cases above, 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭) takes at most 6q2+1 rounds after 𝖠𝗀𝗋𝖭. Hence, 𝟤-𝖲𝗍𝖾𝗉(𝖠𝗀𝗋𝖭) takes at most f(5q2)+6q2+1 rounds. This is the round complexity stated in the theorem since q2=log2(M+1) by definition.

Theorem 5.

If 𝖠𝗀𝗋𝖭 is a live protocol for edge agreement in , then 𝖠𝗀𝗋𝖹(𝖠𝗀𝗋𝖭) is a live protocol for edge agreement in .

Proof.

If the honest parties all have inputs in , then every honest party Pi runs 𝖦𝖢2 with the input 1, outputs (1,2) from 𝖦𝖢2, lets vi𝗇𝖾𝗑𝗍=max(0,1vi)=vi, runs 𝖠𝗀𝗋𝖭 with the input vi𝗇𝖾𝗑𝗍=vi, and finally outputs 1y=y from 𝖠𝗀𝗋𝖹(𝖠𝗀𝗋𝖭) when it outputs y from 𝖠𝗀𝗋𝖭. Thus, 𝖠𝗀𝗋𝖹(𝖠𝗀𝗋𝖭)’ security follows from 𝖠𝗀𝗋𝖭’s security.

Similarly, if the honest parties all have negative inputs, then every honest party Pi runs 𝖦𝖢2 with the input 1, outputs (1,2) from 𝖦𝖢2, lets vi𝗇𝖾𝗑𝗍=max(0,1vi)=vi, runs 𝖠𝗀𝗋𝖭 with the input vi𝗇𝖾𝗑𝗍=vi, and finally outputs 1y=y from 𝖠𝗀𝗋𝖹(𝖠𝗀𝗋𝖭) when it outputs y from 𝖠𝗀𝗋𝖭. Again, 𝖠𝗀𝗋𝖹(𝖠𝗀𝗋𝖭)’s security follows from 𝖠𝗀𝗋𝖭’s security. This is because by symmetry 𝖠𝗀𝗋𝖭 behaves as an edge agreement protocol for (,1,0) when the parties mirror (sign-flip) their inputs for it and outputs from it.

Finally, there is the case where some honest parties have negative inputs while others do not. In this case, the honest parties run 𝖦𝖢2 with different inputs, and so for some k{1,1} they either all output (k,2) or (k,1) from 𝖦𝖢2, or all output (k,1) or (,0) from 𝖦𝖢2. The case where they all output (k,2) or (k,1) from 𝖦𝖢2 is similar to the cases above, though with some honest parties Pi running 𝖠𝗀𝗋𝖭 with the input vi𝗇𝖾𝗑𝗍=0 rather than vi𝗇𝖾𝗑𝗍=kvi. As 0 is in the convex hull of the honest inputs, this does not impact validity, and the honest parties safely reach edge agreement via 𝖠𝗀𝗋𝖭, with input/output mirroring if k=1 and without mirroring if k=1. Meanwhile, if the honest parties all output (k,1) or (,0) from 𝖦𝖢2, then they all run 𝖠𝗀𝗋𝖭 with the input 0. So, the honest parties with the 𝖦𝖢2 output (k,1) output k0=0 from 𝖠𝗀𝗋𝖹(𝖠𝗀𝗋𝖭) after outputting 0 from 𝖠𝗀𝗋𝖭, while those with the 𝖦𝖢2 output (,0) output 0 from 𝖠𝗀𝗋𝖹(𝖠𝗀𝗋𝖭) directly without caring about their 𝖠𝗀𝗋𝖭 outputs.