Skip to main content

Advertisement

Log in

On the Round Complexity of Randomized Byzantine Agreement

  • Research Article
  • Published:
Journal of Cryptology Aims and scope Submit manuscript

Abstract

We prove lower bounds on the round complexity of randomized Byzantine agreement (BA) protocols, bounding the halting probability of such protocols after one and two rounds. In particular, we prove that: 1. BA protocols resilient against n/3 [resp., n/4] corruptions terminate (under attack) at the end of the first round with probability at most o(1) [resp., \(1/2+ o(1)\)]. 2. BA protocols resilient against a fraction of corruptions greater than 1/4 terminate at the end of the second round with probability at most \(1-\Theta (1)\). 3. For a large class of protocols (including all BA protocols used in practice) and under a plausible combinatorial conjecture, BA protocols resilient against a fraction of corruptions greater than 1/3 [resp., 1/4] terminate at the end of the second round with probability at most o(1) [resp., \(1/2 + o(1)\)]. The above bounds hold even when the parties use a trusted setup phase, e.g., a public-key infrastructure (PKI). The third bound essentially matches the recent protocol of Micali (ITCS’17) that tolerates up to n/3 corruptions and terminates at the end of the third round with constant probability.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

Notes

  1. A pseudorandom function that provides a non-interactively verifiable proof for the correctness of its output.

  2. Unlike the aforementioned protocols that use “simple” preprocess and “light-weight” cryptographic tools, the protocol of Rabin [66] uses a heavy, per execution, setup phase (consisting of Shamir sharing of a random coin for every potential round) that we do not know how to cast as a public-randomness protocol.

  3. When considering locally consistent adversaries, the impossibility of BA for \(t\ge n/3\) does not apply.

  4. The attack holds even without assuming Conjecture 1.5 when considering strongly adaptive corruptions [40], in which an adversary sees all messages sent by honest parties in any given round and, based on the messages’ content, decides whether to corrupt a party (and alter its message or sabotage its delivery) or not. Similarly, the conjecture is not required if each party is limited to tossing a single unbiased coin. These extensions are not formally proved in this paper.

  5. We remark that it is rather easy to show that \(\delta \ge 2^{-n}\), which is not good enough for our purposes.

  6. The alphabet \(\Sigma \) is not necessarily Boolean, and there are a couple of subtleties in defining balls.

  7. In the above, we have chosen to ignore a crucial subtlety. In an execution of the protocol, it may be the case that there is a suitable message (according to \({ \varvec{v}}_0\) or \({ \varvec{v}}_1\)) to prevent halting, yet the adversary cannot determine which one to send. In further sections, we address this issue by taking a random partition of \({\overline{{\mathcal {C}}}}\) (rather than an arbitrary one). By doing so, we introduce an error-term of \(1/2^{n-t}\) when we upper bound the halting probability \(\gamma \).

  8. In Sect. 2.2, halting was close to 1 and thus the randomness was necessarily ambiguous regarding the output.

  9. In the jargon of Boolean functions analysis, since every large set has a o(n)-size index-set of influence almost one, it follows that some projection on a constant fraction of indices is almost full.

  10. A more general definition would allow the parameter \(\alpha \) (and the parameters \(\beta ,\gamma \) below) to depend on the protocol’s security parameter. But in this paper we focus on the case that \(\alpha \) is a fixed value.

References

  1. I. Abraham, T.H. Chan, D. Dolev, K. Nayak, R. Pass, L. Ren, E. Shi, Communication complexity of Byzantine agreement, revisited, in Proceedings of the 38th Annual ACM Symposium on Principles of Distributed Computing (PODC) (2019a), pp. 317–326)

  2. I. Abraham, S. Devadas, D. Dolev, K. Nayak, L. Ren, Synchronous Byzantine agreement with expected O(1) rounds, expected o(n\({}^{\text{2)}}\) communication, and optimal resilience, in Financial Cryptography and Data Security (2019b)

  3. H. Attiya, K. Censor, Tight bounds for asynchronous randomized consensus. J. ACM, 55(5):20:1–20:26 (2008)

  4. H. Attiya, K. Censor-Hillel, Lower bounds for randomized consensus under a weak adversary. SIAM J. Comput. 39(8):3885–3904 (2010)

    Article  MathSciNet  Google Scholar 

  5. Z. Bar-Joseph, M. Ben-Or, A tight lower bound for randomized synchronous consensus, in Proceedings of the 17th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 193–199 (1998)

  6. M. Ben-Or, Another advantage of free choice: completely asynchronous agreement protocols (extended abstract), in Proceedings of the 2nd Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 27–30 (1983)

  7. M. Ben-Or, N. Linial, Collective coin flipping, robust voting schemes and minima of banzhaf values, in Proceedings of the 26th Annual Symposium on Foundations of Computer Science (FOCS), pp. 408–416 (1985)

  8. M. Ben-Or, S. Goldwasser, A. Wigderson, Completeness theorems for non-cryptographic fault-tolerant distributed computation (extended abstract), in Proceedings of the 20th Annual ACM Symposium on Theory of Computing (STOC), pp. 1–10 (1988)

  9. M. Ben-Or, E. Pavlov, V. Vaikuntanathan, Byzantine agreement in the full-information model in o(log n) rounds, in Proceedings of the 38th Annual ACM Symposium on Theory of Computing (STOC), pp. 179–186 (2006)

  10. E. Ben-Sasson, A. Chiesa, M. Green, E. Tromer, M. Virza, Secure sampling of public parameters for succinct zero knowledge proofs, in IEEE Symposium on Security and Privacy, pp. 287–304 (2015)

  11. M. Blum, P. Feldman, S. Micali, Non-interactive zero-knowledge and its applications (extended abstract), in Proceedings of the 20th Annual ACM Symposium on Theory of Computing (STOC), pp. 103–112 (1988)

  12. J. Bourgain, J. Kahn, G. Kalai, Influential coalitions for Boolean functions, in CoRR, 2014. arXiv:1409.3033

  13. S. Bowe, A. Gabizon, M.D. Green, A multi-party protocol for constructing the public parameters of the pinocchio zk-snark, in Financial Cryptography and Data Security FC, pp. 64–77 (2018)

  14. E. Boyle, R. Cohen, A. Goel, Breaking the o(\(\surd \) n)-bit barrier: Byzantine agreement with polylog bits per party, in Proceedings of the 40th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 319–330 (2021)

  15. G. Bracha, An asynchronou [(n-1)/3]-resilient consensus protocol, in Proceedings of the 3rd Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 154–162 (1984)

  16. M. Castro, B. Liskov. Practical Byzantine fault tolerance, in Proceedings of the Third USENIX Symposium on Operating Systems Design and Implementation (OSDI), pp. 173–186 (1999)

  17. D. Chaum, C. Crépeau, I. Damgård, Multiparty unconditionally secure protocols (extended abstract), in Proceedings of the 20th Annual ACM Symposium on Theory of Computing (STOC), pp. 11–19 (1988)

  18. J. Chen, S. Micali, Algorand, in CoRR, 2016. arXiv:1607.01341

  19. B. Chor, B.A. Coan, A simple and efficient randomized Byzantine agreement algorithm, in Fourth Symposium on Reliability in Distributed Software and Database Systems, SRDS, pp. 98–106 (1984)

  20. B. Chor, M. Merritt, D.B. Shmoys, Simple constant-time consensus protocols in realistic failure models. J. ACM, 36(3):591–614 (1989)

    Article  MathSciNet  Google Scholar 

  21. R. Cohen, S. Coretti, J.A. Garay, V. Zikas, Probabilistic termination and composability of cryptographic protocols, in Advances in Cryptology – CRYPTO 2016, part III, pp. 240–269 (2016)

  22. R. Cohen, S. Coretti, J. Garay, V. Zikas, Round-preserving parallel composition of probabilistic-termination cryptographic protocols, in Proceedings of the 44th International Colloquium on Automata, Languages, and Programming (ICALP), pp. 37:1–37:15 (2017)

  23. R. Cohen, I. Haitner, N. Makriyannis, M. Orland, A. Samorodnitsky, On the round complexity of randomized byzantine agreement, in Proceedings of the 33st International Symposium on Distributed Computing (DISC), pp. 12:1–12:17 (2019)

  24. D. Dolev, R. Strong, Authenticated algorithms for Byzantine agreement. SIAM J. Comput. 12(4):656–666 (1983)

    Article  MathSciNet  Google Scholar 

  25. D. Dolev, R. Reischuk, H.R. Strong, Early stopping in Byzantine agreement. J. ACM, 37(4):720–741 (1990)

    Article  MathSciNet  Google Scholar 

  26. P. Feldman, S. Micali. An optimal probabilistic protocol for synchronous Byzantine agreement. SIAM J. Comput. 26(4):873–933 (1997)

    Article  MathSciNet  Google Scholar 

  27. M.J. Fischer, N.A. Lynch, A lower bound for the time to assure interactive consistency. Inf. Process. Lett. 14(4):183–186 (1982)

    Article  MathSciNet  Google Scholar 

  28. M.J. Fischer, N.A. Lynch, M. Merritt, Easy impossibility proofs for distributed consensus problems, in Proceedings of the 23th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 59–70 (1985)

  29. M. Fitzi, J.A. Garay. Efficient player-optimal protocols for strong and differential consensus, in Proceedings of the 22th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 211–220 (2003)

  30. M. Fitzi, J.B. Nielsen, On the number of synchronous rounds sufficient for authenticated Byzantine agreement, in Proceedings of the 23th International Symposium on Distributed Computing (DISC), pp. 449–463 (2009)

  31. E. Friedgut, Boolean functions with low average sensitivity depend on few coordinates. Combinatorica 18(1):27–35 (1998)

    Article  MathSciNet  Google Scholar 

  32. J.A. Garay, Y. Moses, Fully polynomial Byzantine agreement in t+1 rounds, in Proceedings of the 25th Annual ACM Symposium on Theory of Computing (STOC), pp. 31–41 (1993)

  33. J.A. Garay, J. Katz, C. Koo, R. Ostrovsky, Round complexity of authenticated broadcast with a dishonest majority, in Proceedings of the 48th Annual Symposium on Foundations of Computer Science (FOCS), pp. 658–668 (2007)

  34. R. Gennaro, S. Jarecki, H. Krawczyk, and T. Rabin. Secure distributed key generation for discrete-log based cryptosystems, in Advances in Cryptology – EUROCRYPT ’99, pp. 295–310 (1999)

  35. Y. Gilad, R. Hemo, S. Micali, G. Vlachos, N. Zeldovich, Algorand: Scaling Byzantine agreements for cryptocurrencies, in Proceedings of the 26th Symposium on Operating Systems Principles (SOSP), pp. 51–68 (2017)

  36. O. Goldreich, S. Micali, A. Wigderson, How to play any mental game or a completeness theorem for protocols with honest majority, in Proceedings of the 19th Annual ACM Symposium on Theory of Computing (STOC), pp. 218–229 (1987)

  37. O. Goldreich, S. Goldwasser, N. Linial, Fault-tolerant computation in the full information model. SIAM J. Comput. 27(2):506–544 (1998)

    Article  MathSciNet  Google Scholar 

  38. S. Goldwasser, S. Micali, R.L. Rivest, A digital signature scheme secure against adaptive chosen-message attacks. SIAM J. Comput. 17(2):281–308 (1988)

    Article  MathSciNet  Google Scholar 

  39. S. Goldwasser, E. Pavlov, V. Vaikuntanathan, Fault-tolerant distributed computing in full-information networks, in Proceedings of the 47th Annual Symposium on Foundations of Computer Science (FOCS), pp. 15–26 (2006)

  40. S. Goldwasser, Y.T. Kalai, S. Park, Adaptively secure coin-flipping, revisited, in Proceedings of the 42th International Colloquium on Automata, Languages, and Programming (ICALP), part II, pp. 663–674 (2015)

  41. J. Groth, R. Ostrovsky, A. Sahai, New techniques for noninteractive zero-knowledge. J. ACM 59(3):11:1–11:35 (2012)

  42. V. Hadzilacos, Connectivity requirements for Byzantine agreement under restricted types of failures. Distrib. Comput. 2(2):95–103 (1987)

    Article  Google Scholar 

  43. D. Hofheinz, T. Jager, Verifiable random functions from standard assumptions, in Proceedings of the 13th Theory of Cryptography Conference, TCC 2016-A, part I, pp. 336–362 (2016)

  44. J. Kahn, G. Kalai, N. Linial, The influence of variables on Boolean functions (extended abstract), in Proceedings of the 29th Annual Symposium on Foundations of Computer Science (FOCS), pp. 68–80 (1988)

  45. B.M. Kapron, D. Kempe, V. King, J. Saia, V. Sanwalani, Fast asynchronous Byzantine agreement and leader election with full information, in Proceedings of the Nineteenth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA, pp. 1038–1047 (2008)

  46. A.R. Karlin, A.C. Yao, Probabilistic lower bounds for Byzantine agreement and clock synchronization. Unpublished manuscript (1984)

  47. J. Katz, C. Koo, On expected constant-round protocols for Byzantine agreement, in Advances in Cryptology – CRYPTO 2006, pp. 445–462 (2006)

    MathSciNet  MATH  Google Scholar 

  48. V. King, J. Saia, Byzantine agreement in polynomial expected time: [extended abstract], in Proceedings of the 45th Annual ACM Symposium on Theory of Computing (STOC), pp. 401–410 (2013)

  49. J. Kubiatowicz, D. Bindel, Y. Chen, S.E. Czerwinski, P.R. Eaton, D. Geels, R. Gummadi, S.C. Rhea, H. Weatherspoon, W. Weimer, C. Wells, B.Y. Zhao, Oceanstore: An architecture for global-scale persistent storage, in ASPLOS-IX Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 190–201 (2000)

  50. L. Lamport, R.E. Shostak, M.C. Pease, The Byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3):382–401 (1982)

    Article  Google Scholar 

  51. A.B. Lewko, The contest between simplicity and efficiency in asynchronous Byzantine agreement, in Proceedings of the 25th International Symposium on Distributed Computing (DISC), pp. 348–362 (2011)

  52. A.B. Lewko, M. Lewko, On the complexity of asynchronous agreement against powerful adversaries, in Proceedings of the 32th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 280–289 (2013)

  53. Y. Lindell, A. Lysyanskaya, T. Rabin, On the composition of authenticated Byzantine agreement. J. ACM, 53(6):881–917 (2006)

    Article  MathSciNet  Google Scholar 

  54. S. Micali, Very simple and efficient Byzantine agreement, in Proceedings of the 8th Annual Innovations in Theoretical Computer Science (ITCS) conference, pp. 6:1–6:1 (2017)

  55. S. Micali, V. Vaikuntanathan, Optimal and player-replaceable consensus with an honest majority. Unpublished manuscript (2017)

  56. S. Micali, M.O. Rabin, S.P. Vadhan, Verifiable random functions, in Proceedings of the 40th Annual Symposium on Foundations of Computer Science (FOCS), pp. 120–130 (1999)

  57. E. Mossel, R. O’Donnell, O. Regev, J. E. Steif, and B. Sudakov. Non-interactive correlation distillation, inhomogeneous Markov chains, and the reverse Bonami-Beckner inequality. Israel Journal of Mathematics, 154(1):299–336 (2006)

    Article  MathSciNet  Google Scholar 

  58. E. Mossel, K. Oleszkiewicz, A. Sen, On reverse hypercontractivity. Geom. Funct. Anal. 23(3):1062–1097 (2013)

    Article  MathSciNet  Google Scholar 

  59. G. Neiger, S. Toueg, Automatically increasing the fault-tolerance of distributed algorithms. J. Algorithms 11(3):374–419 (1990)

    Article  MathSciNet  Google Scholar 

  60. R. O’Donnell, Analysis of Boolean Functions (Cambridge University Press, Cambridge, 2014)

    Book  Google Scholar 

  61. R. Pass and E. Shi. Hybrid consensus: Efficient consensus in the permissionless model, in Proceedings of the 31st International Symposium on Distributed Computing (DISC), pp. 39:1–39:16 (2017)

  62. R. Pass, E. Shi, Thunderella: Blockchains with optimistic instant confirmation, in Advances in Cryptology – EUROCRYPT 2018, part II, pp. 3–33 (2018)

  63. M.C. Pease, R.E. Shostak, L. Lamport, Reaching agreement in the presence of faults. J. ACM 27(2):228–234 (1980)

    Article  MathSciNet  Google Scholar 

  64. T.P. Pedersen, Non-interactive and information-theoretic secure verifiable secret sharing, in Advances in Cryptology – CRYPTO ’91, pp. 129–140 (1991)

  65. B. Pfitzmann, M. Waidner, Unconditional Byzantine agreement for any number of faulty processors, in Proceedings of the 9th Annual Symposium on Theoretical Aspects of Computer Science (STACS), pp. 339–350 (1992)

  66. M.O. Rabin, Randomized Byzantine generals, in Proceedings of the 24th Annual Symposium on Foundations of Computer Science (FOCS), pp. 403–409 (1983)

  67. M. Santha, U.V. Vazirani, Generating quasi-random sequences from slightly-random sources (extended abstract), in Proceedings of the 25th Annual Symposium on Foundations of Computer Science (FOCS), pp. 434–440 (1984)

  68. R. Turpin, B.A. Coan, Extending binary Byzantine agreement to multivalued Byzantine agreement. Inf. Process. Lett. 18(2):73–76 (1984)

    Article  Google Scholar 

  69. A.C. Yao, Protocols for secure computations (extended abstract), in Proceedings of the 23th Annual Symposium on Foundations of Computer Science (FOCS), pp. 160–164 (1982)

Download references

Acknowledgements

We would like to thank Rotem Oshman, Juan Garay, Ehud Friedgut, and Elchanan Mossel for very helpful discussions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ran Cohen.

Additional information

Communicated by Alon Rosen.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A preliminary version of this work appeared in DISC’19 [23].

Ran Cohen: Research supported in part by NSF Grant No. 2055568. Some of this work was done while the author was a post-doc at Tel Aviv University, supported by ERC starting Grant 638121.

Iftach Haitner: Member of the Check Point Institute for Information Security. Research supported by Israel Science Foundation Grant 666/19. Research supported by ERC starting Grant 638121.

Nikolaos Makriyannis: This work was done while the author was a post-doc at Technion, supported by ERC advanced Grant 742754. Research supported by ERC starting Grant 638121.

Matan Orland: Research supported by ERC starting Grant 638121.

Alex Samorodnitsky: Research partially supported by ISF Grant 1724/15.

Locally Consistent Security to Malicious Security

Locally Consistent Security to Malicious Security

In this section, we formally state and prove Theorem 1.6 and show how to compile any BA protocol that is secure against locally consistent adversaries into a protocol that is secure against malicious adversaries. That is, we prove the following theorem:

Theorem A.1

(Theorem 1.6, restated) Let \(\Pi \) be a \((t,\alpha ,\beta ,q,\gamma )\)-\(\mathsf {BA}\) against locally consistent adversaries for \(q=O(\log {n})\) and assume the existence of verifiable random functions and existentially unforgeable digital signatures under an adaptive chosen-message attack. Then,

  1. 1.

    labelthm:localspstospsmalspsgeneric Assuming in addition the existence of non-interactive zero-knowledge proofs, there exist a ppt protocol-compiler \(\mathsf {Comp}(\cdot )\) such that \(\Pi '=\mathsf {Comp}(\Pi )\) is a \((t,\alpha -{\text {neg}}(\kappa ),\beta -{\text {neg}}(\kappa ),q,\gamma -{\text {neg}}(\kappa ))\)-\(\mathsf {BA}\) in the PKI model, resilient to malicious adversaries.

  2. 2.

    There exists a ppt protocol-compiler \(\mathsf {Comp}_\mathsf {PR}(\cdot )\) such that if \(\Pi \) is a public-randomness protocol, then \(\Pi '=\mathsf {Comp}_\mathsf {PR}(\Pi )\) is a \((t,\alpha -{\text {neg}}(\kappa ),\beta -{\text {neg}}(\kappa ),q,\gamma -{\text {neg}}(\kappa ))\)-\(\mathsf {BA}\) in the PKI model, resilient to malicious adversaries.

In Sect. A.1, we define the cryptographic primitives used in the compiler, and in Sect. A.2, we construct the compiler and prove its security.

1.1 Preliminaries

The compiler makes use of verifiable random functions (VRF) [56], digital signatures, and non-interactive zero-knowledge proofs, as defined below.

1.1.1 Verifiable Random Functions

We follow the definition of VRF from [43].

Definition A.2

(VRF) A verifiable random function is a tuple of polynomial-time algorithms \(\Pi =(\mathsf {VRF.Gen},\mathsf {VRF.Eval},\mathsf {VRF.Verify})\) of the following form.

  • \(\mathsf {VRF.Gen}(1^\kappa )\rightarrow ( sk , vk )\). On input the security parameter, the key-generation algorithm outputs a secret key \( sk \) and a public verification key \( vk \).

  • \(\mathsf {VRF.Eval}( sk ,x)\rightarrow (y,\pi )\). On input the secret key and an input \(x\in \{0,1\}^\kappa \), the evaluation algorithm outputs a value \(y\in {\mathcal {S}}\) (for a finite set \({\mathcal {S}}\)) and a proof \(\pi \).

  • \(\mathsf {VRF.Verify}( vk ,x,y,\pi )\rightarrow b\). On input the verification key, an input \(x\in \{0,1\}^\kappa \), an output \(y\in {\mathcal {S}}\), and a proof \(\pi \), the deterministic verification algorithm outputs a bit \(b\in \{0,1\}\).

We require the following properties:

  • Correctness. For \(( sk , vk )\leftarrow \mathsf {VRF.Gen}(1^\kappa )\) and \(x\in \{0,1\}^\kappa \) it holds that if \((y,\pi )\leftarrow \mathsf {VRF.Eval}( sk ,x)\) then \(\mathsf {VRF.Verify}( vk ,x,y,\pi )=1\).

  • Unique provability. For all strings \(( sk , vk )\) (not necessarily generated by \(\mathsf {VRF.Gen}\)) and all \(x\in \{0,1\}^\kappa \), there exists no \((y_0,\pi _0,y_1,\pi _1)\) such that \(y_0\ne y_1\) and \(\mathsf {VRF.Verify}( vk ,x,y_0,\pi _0)=\mathsf {VRF.Verify}( vk ,x,y_1,\pi _1)=1\).

  • Pseudorandomness. For any ppt adversary \(\mathsf {A} =(\mathsf {A} _1,\mathsf {A} _2)\) it holds that

    $$\begin{aligned} \left| \Pr _{}\left[ \mathsf {Expt} ^\mathsf {VRF} _{\Pi ,\mathsf {A}}(\kappa )=1\right] -\frac{1}{2}\right| \le {\text {neg}}(\kappa ), \end{aligned}$$

    for the experiment \(\mathsf {Expt} ^\mathsf {VRF} \) defined below:

\(\mathsf {Expt} ^\mathsf {VRF} _{\Pi ,\mathsf {A}}(\kappa )\)

\({\mathcal {O}}_\mathsf {eval} (x)\)

\(( sk , vk )\leftarrow \mathsf {VRF.Gen}(1^\kappa )\)

\((y,\pi )\leftarrow \mathsf {VRF.Eval}( sk ,x)\) return \((y,\pi )\)

\((x^*,\mathsf{state})\leftarrow \mathsf {A} _1^{{\mathcal {O}}_\mathsf {eval} (\cdot )}( vk )\)

 

\((y_0,\pi )\leftarrow \mathsf {VRF.Eval}( sk ,x^*)\)

 

\(y_1\leftarrow _R {\mathcal {S}}\)

 

\(b\leftarrow _R \{0,1\}\)

 

\(b'\leftarrow \mathsf {A} _2^{{\mathcal {O}}_\mathsf {eval} (\cdot )}(\mathsf{state},y_b)\)

 

return 1 if and only if \(b=b'\)

 

   and \(\mathsf {A} \) didn’t query \(x^*\)

 

1.1.2 Digital Signatures

We consider the standard notion of existentially unforgeable signatures under an adaptive chosen-message attack [38].

Definition A.3

(Digital signatures) A digital signatures scheme is a tuple of polynomial-time algorithms \(\Pi =(\mathsf {DS.Gen},\mathsf {DS.Sign},\mathsf {DS.Verify})\) of the following form.

  • \(\mathsf {DS.Gen}(1^\kappa )\rightarrow ( sk , vk )\). On input the security parameter, the key-generation algorithm outputs a secret signing key \( sk \) and a public verification key \( vk \).

  • \(\mathsf {DS.Sign}( sk ,m)\rightarrow \sigma \). On input the signing key and a message m, the signing algorithm outputs a signature \(\sigma \).

  • \(\mathsf {DS.Verify}( vk ,m,\sigma )\rightarrow b\). On input the verification key, a message m, and a signature \(\sigma \), the deterministic verification algorithm outputs a bit \(b\in \{0,1\}\).

We require the following properties:

  • Correctness. For \(( sk , vk )\leftarrow \mathsf {DS.Gen}(1^\kappa )\) and a message m it holds that if \(\sigma \leftarrow \mathsf {DS.Sign}( sk ,m)\) then \(\mathsf {DS.Verify}( vk ,m,\sigma )=1\).

  • Existentially unforgeable under an adaptive chosen-message attack. For any ppt adversary \(\mathsf {A} \) it holds that

    $$\begin{aligned} \left| \Pr _{}\left[ \mathsf {Expt} ^\mathsf {Sig} _{\Pi ,\mathsf {A}}(\kappa )=1\right] \right| \le {\text {neg}}(\kappa ), \end{aligned}$$

    for the experiment \(\mathsf {Expt} ^\mathsf {Sig} \) defined below:

\(\mathsf {Expt} ^\mathsf {Sig} _{\Pi ,\mathsf {A}}(\kappa )\)

\({\mathcal {O}}_\mathsf {sign} (m)\)

\(( sk , vk )\leftarrow \mathsf {DS.Gen}(1^\kappa )\)

\(\sigma \leftarrow \mathsf {DS.Sign}( sk ,m)\) return \(\sigma \)

\((m,\sigma )\leftarrow \mathsf {A} ^{{\mathcal {O}}_\mathsf {sign} (\cdot )}( vk )\)

 

return 1 if and only if \(\mathsf {DS.Verify}( vk ,m,\sigma )=1\)

 

   and \(\mathsf {A} \) didn’t query m

 

1.1.3 Non-interactive Zero-Knowledge Proofs

A non-interactive zero-knowledge proof [11] is a single-message protocol that allow a prover to convince a verifier the a certain common statement belongs to a language, without disclosing any additional information. We follow the definition from [41].

Definition A.4

(NIZK) Let \({\mathcal {R}} \) be an \(\text {NP}\)-relation and let \({\mathcal {L}} _{\mathcal {R}} \) be the language consisting of the statements in \({\mathcal {R}} \). A non-interactive zero-knowledge proof system for \({\mathcal {R}} \) is a tuple of polynomial-time algorithms \(\Pi =(\mathsf {NIZK.Gen},\mathsf {NIZK.Prover},\mathsf {NIZK.Verifier})\) of the following form:

  • \(\mathsf {NIZK.Gen}(1^\kappa )\rightarrow \mathsf {crs} \). On input the security parameter, the setup-generation algorithm outputs a common reference string \(\mathsf {crs} \).

  • \(\mathsf {NIZK.Prover}(\mathsf {crs},x,w)\rightarrow \varphi \). On input the \(\mathsf {crs} \), a statement x, and a witness w such that \((x,w)\in {\mathcal {R}} \), the prover algorithm outputs a proof string \(\varphi \).

  • \(\mathsf {NIZK.Verifier}(\mathsf {crs},x,\varphi )\rightarrow b\). On input the \(\mathsf {crs} \), a statement x, and a proof \(\varphi \), the verification algorithm outputs a bit \(b\in \{0,1\}\).

We require the following properties:

  • Correctness. A proof system is complete if an honest prover with a valid witness can convince an honest verifier. For \((x,w)\in {\mathcal {R}} \) it holds that

    $$\begin{aligned} \Pr _{}\left[ \mathsf {NIZK.Verifier}(\mathsf {crs},x,\varphi )=1 \mid \mathsf {crs} \leftarrow \mathsf {NIZK.Gen}(1^\kappa ), \varphi \leftarrow \mathsf {NIZK.Prover}(\mathsf {crs},x,w)\right] =1. \end{aligned}$$
  • Statistical soundness. A proof system is sound if it is infeasible to convince an honest verifier when the statement is false. For all polynomial-size families \(\{x_\kappa \}\) of statements \(x_\kappa \notin {\mathcal {L}} _{\mathcal {R}} \) and all adversaries \(\mathsf {A} \) it holds that

    $$\begin{aligned} \Pr _{}\left[ \left[ \mathsf {NIZK.Verifier}(\mathsf {crs},x_\kappa ,\varphi )=1 \mid \mathsf {crs} \leftarrow \mathsf {NIZK.Gen}(1^\kappa ) \varphi \leftarrow \mathsf {A} (\mathsf {crs},x_\kappa )\right] =1.\right] \end{aligned}$$
  • Computational (adaptive, multi-theorem) zero knowledge. A proof system is zero-knowledge if the proofs do not reveal any information about the witnesses. There exists a polynomial-time simulator \(\mathsf {S} _{\mathsf {nizk}}xspace=(\mathsf {S} _{\mathsf {nizk}}xspace^1, \mathsf {S} _{\mathsf {nizk}}xspace^2)\), where \(\mathsf {S} _{\mathsf {nizk}}xspace^1\) returns a simulated \(\mathsf {crs}\) together with a simulation trapdoor \(\tau \) that enables \(\mathsf {S} _{\mathsf {nizk}}xspace^2\) to simulate proofs without having access to the witness. That is, for every non-uniform polynomial-time adversary \(\mathsf {A} \) it holds that

    $$\begin{aligned}&\bigg |\Pr _{}\left[ \mathsf {A} ^{{\mathsf {P}}_\mathsf {crs} (\cdot ,\cdot )}(\mathsf {crs})=1 \mid \mathsf {crs} \leftarrow \mathsf {NIZK.Gen}(1^\kappa )\right] \\&\qquad -\Pr _{}\left[ \mathsf {A} ^{\mathsf {S} _{\mathsf {crs},\tau }(\cdot ,\cdot )}(\mathsf {crs})= 1 \mid (\mathsf {crs},\tau )\leftarrow \mathsf {S} _{\mathsf {nizk}}xspace^1(1^\kappa )\right] \bigg |\\&\quad \le {\text {neg}}(\kappa ), \end{aligned}$$

    where \(\mathsf {S} _{\mathsf {crs},\tau }(x,w)=\mathsf {S} _{\mathsf {nizk}}xspace^2(\mathsf {crs},\tau ,x)\) for \((x,w)\in {\mathcal {R}} \) and \({\mathsf {P}}_\mathsf {crs} (x,w)=\mathsf {NIZK.Prover}(\mathsf {crs},x,w)\).

1.1.4 Next-Message Functions

An n-party protocol is represented by a set \(\{\mathsf {next-msg}_{i\rightarrow j}\}_{i,j\in [n]}\) of next-message functions, a set \(\{\mathsf {output}_i\}_{i\in [n]}\) of output functions, and a distribution D for generating setup information. Initially, the setup information is sampled as \((\mathsf {setup}_1,\ldots ,\mathsf {setup}_n)\leftarrow D\) and every party \(\mathsf {P} _i\) receives \(\mathsf {setup}_i\) before the protocol begins. The view of a party \(\mathsf {P} _i\) in the \(r\)’th round, denoted \(\textsf {view}_i^r\), consists of: its input bit \(x_i\), its setup information \(\mathsf {setup}_i\), its random coin tosses \(\rho _i=(\rho _i^1,\ldots ,\rho _i^r)\) (where \(\rho _i^{r'}\) are the tossed coins for round \(r'\)) and the incoming messages \((m^{r'}_{1\rightarrow i}, \ldots , m^{r'}_{n\rightarrow i})\) for every \(r'<r\), where \(m^{r'}_{j\rightarrow i}\) is the message received from \(\mathsf {P} _j\) in round \(r'\). Given \(\mathsf {P} _i\)’s view in the \(r\)’th round, the function \(\mathsf {next-msg}_{i\rightarrow j}(\textsf {view}_i^r)\) outputs the message \(m^r_{i\rightarrow j}\) to be sent by \(\mathsf {P} _i\) to \(\mathsf {P} _j\), except for the last round, where it outputs \(\bot \); in that case the output function \(\mathsf {output}(\textsf {view}_i^r)\) produces the output value y. Without loss of generality we assume that a message \(m^r_{i\rightarrow j}\) is of the form (rijm); looking ahead, this will ensure that two messages in the protocol will not have the same signature.

1.1.5 The PKI Model

The compiled protocol is designed to work in the public-key infrastructure (PKI) model, where a trusted third party generates private/public keys for the parties before the protocol begins. In our setting, we will require a PKI for VRF, digital signatures, and \({{\textsf {NIZK}}}\), meaning that the trusted party operates as follows:

  1. 1.

    For every \(i\in [n]\), compute VRF keys \((\mathsf {sk}^{\mathsf {vrf}}_i,\mathsf {vk}^{\mathsf {vrf}}_i)\leftarrow \mathsf {VRF.Gen}(1^\kappa )\).

  2. 2.

    For every \(i\in [n]\), compute signature keys \((\mathsf {sk}^{\mathsf {ds}}_i,\mathsf {vk}^{\mathsf {ds}}_i)\leftarrow \mathsf {DS.Gen}(1^\kappa )\).

  3. 3.

    Compute \(\mathsf {crs} \leftarrow \mathsf {NIZK.Gen}(1^\kappa )\).

  4. 4.

    Send to every party \(\mathsf {P} _i\) the secret keys \((\mathsf {sk}^{\mathsf {vrf}}_i,\mathsf {sk}^{\mathsf {ds}}_i)\) as well as all the public keys \(\mathsf {crs} \), \((\mathsf {vk}^{\mathsf {vrf}}_1,\ldots ,\mathsf {vk}^{\mathsf {vrf}}_n)\) and \((\mathsf {vk}^{\mathsf {ds}}_1,\ldots ,\mathsf {vk}^{\mathsf {ds}}_n)\).

1.2 The Compiler

Given a protocol that is secure against locally consistent adversaries, the main idea of the compiler is to limit the capabilities of a malicious adversary attacking the compiled protocol to those of a locally consistent one. This is achieved by proving an honest behavior via the cryptographic tools described above (VRF, digital signatures, and NIZK proofs) in a similar way to the GMW compiler [36]. Unlike GMW, where all consistency proofs are carried out over a broadcast channel to ensure a consistent view between the honest parties, in our case the consistency proofs are done over pairwise channels, so they only guarantee local consistency.

We start by defining the NP relations that will be used for the zero-knowledge proofs. Each instance consists of a message between a pair of parties (say from \(\mathsf {P} _i'\) to \(\mathsf {P} _j'\)) and the witness is the internal state of \(\mathsf {P} _i'\) used to generate the message (the input, the random coins, and all incoming messages) along with a “proof of correctness,” i.e., that the random coins were properly generated using the VRF, that the incoming messages that \(\mathsf {P} _i'\) received from every \(\mathsf {P} _k'\) were signed by \(\mathsf {P} _k'\), and in turn were proven to be generated correctly (i.e., that each \(\mathsf {P} _k'\) used the correct random coins generated by the VRF and its incoming messages were signed by the senders). Note that this recursive step in the verification is required for proving locally consistent behaviour, since if both \(\mathsf {P} _i'\) and \(\mathsf {P} _k'\) are corrupt, then \(\mathsf {P} _k'\) can send an arbitrary message to \(\mathsf {P} _i'\) and sign it (in this case the NIZK proof from \(\mathsf {P} _k'\) to \(\mathsf {P} _i'\) will not verify). When \(\mathsf {P} _i'\) sends its message to an honest \(\mathsf {P} _j'\), it is not enough that \(\mathsf {P} _i'\) proves that the messages from \(\mathsf {P} _k'\) are properly signed, but \(\mathsf {P} _i'\) must also prove that \(\mathsf {P} _k'\) provided a NIZK proof asserting that its messages were generated by consistent random coins and correct incoming messages according to the next-message function. For this reason we consider \(q=O(\log {n})\)

The Relation \({\mathcal {R}} ^r_{i\rightarrow j}\). We will consider the following set of NP relations, where for \(i,j\in [n]\) and an integer r, the relation \({\mathcal {R}} ^r_{i\rightarrow j}\) is parametrized by an n-party protocol \(\Pi \) (represented by \(\{\mathsf {next-msg}_{i\rightarrow j}\}_{i,j\in [n]}\) and \(\{\mathsf {output}_i\}_{i\in [n]}\)), a \({{\textsf {VRF}}} \) scheme, a \({{\textsf {DS}}} \) scheme, and a \({{\textsf {NIZK}}}\) scheme, as well as:

  • A vector of VRF verification keys \((\mathsf {vk}^{\mathsf {vrf}}_1,\ldots ,\mathsf {vk}^{\mathsf {vrf}}_n)\).

  • A vector of signature verification keys \((\mathsf {vk}^{\mathsf {ds}}_1,\ldots ,\mathsf {vk}^{\mathsf {ds}}_n)\).

  • A \({{\textsf {NIZK}}}\) common reference string \(\mathsf {crs} \).

The instance consists of a message \((m_{i\rightarrow j}^r,\sigma _{i\rightarrow j}^r,\pi _i^r)\) (the message from \(\mathsf {P} _i\) to \(\mathsf {P} _j\)). The witness consists of:

  • A bit \(x_i\in \{0,1\}\) and a string \(\mathsf {setup}_i\).

  • A vector of random coins \((\rho _i^1,\ldots ,\rho _i^r)\).

  • For \(r'\in [r-1]\) and \(k\in [n]\), a message \({ \varvec{m}}^{r'}_{k\rightarrow i}=(m^{r'}_{k\rightarrow i},\sigma ^{r'}_{k\rightarrow i},\pi ^{r'}_k,\varphi _{k\rightarrow i}^{r'})\) (\(\mathsf {P} _i\)’s incoming messages).

The instance/witness pair is in the relation \({\mathcal {R}} ^r_{i\rightarrow j}\) if the following holds:

  1. 1.

    For every \(r'\in [r]\) it holds that \(\mathsf {VRF.Verify}(\mathsf {vk}^{\mathsf {vrf}}_i,(i,r'),\rho _i^{r'},\pi _i^{r'})=1\).

  2. 2.

    \(\mathsf {DS.Verify}(\mathsf {vk}^{\mathsf {ds}}_i,m^r_{i\rightarrow j},\sigma ^r_{i\rightarrow j})=1\).

  3. 3.

    For \(r'\in [r-1]\) and \(k\in [n]\) it holds that \(\mathsf {NIZK.Verifier}(\mathsf {crs},(m^{r'}_{k\rightarrow i},\sigma ^{r'}_{k\rightarrow i},\pi _k^{r'}),\varphi _{k\rightarrow i}^{r'})=1\) with respect to the relation \({\mathcal {R}} ^{r'}_{k\rightarrow i}\).

  4. 4.

    Set \(\textsf {view}_i^1=(x_i,\mathsf {setup}_i,\rho _i^1)\) and for \(1<r'\le r\) set \(\textsf {view}_i^{r'}=(\textsf {view}_i^{r'-1},m_{1\rightarrow i}^{r'-1},\ldots ,m_{n\rightarrow i}^{r'-1},\rho _i^{r'})\). Then, it holds that \(m_{i\rightarrow j}^r=\mathsf {next-msg}_{i\rightarrow j}(\textsf {view}_i^r)\).

The compiled protocol. Having defined the relations \(\{{\mathcal {R}} ^r_{i\rightarrow j}\}\), we are ready to present the compiler for a protocol \(\Pi \), secure against locally consistent adversaries to a maliciously secure one. Initially, in the setup phase, each party receives its setup information for \(\Pi \) in addition to the PKI keys for \({{\textsf {VRF}}} \), digital signatures, and NIZK (as described above). To generate its coins for the \(r\)’th round (along with a proof), party \(\mathsf {P} _i\) evaluates the \({{\textsf {VRF}}} \) over the pair (ir); next, \(\mathsf {P} _i\) computes the \(r\)’th round messages for \(\Pi \), signs each message, and sends to every other \(\mathsf {P} _j\) the corresponding message, the signature, and the \({{\textsf {VRF}}} \) proof. In addition, \(\mathsf {P} _i\) sends to \(\mathsf {P} _j\) a \({{\textsf {NIZK}}} \) proof for \({\mathcal {R}} ^r_{i\rightarrow j}\), proving that \(\mathsf {P} _i\) behaves consistently towards \(\mathsf {P} _j\).

Let \(\Pi =(\mathsf {P} _1,\ldots ,\mathsf {P} _n)\) be an n-party protocol represented by the set of next-message functions \(\{\mathsf {next-msg}_{i\rightarrow j}\}_{i,j\in [n]}\), the set of output functions \(\{\mathsf {output}_i\}_{i\in [n]}\), and a distribution D for generating setup information. Let \({{\textsf {VRF}}} \) be a verifiable random function, let \({{\textsf {DS}}} \) be a digital signatures scheme, and let \({{\textsf {NIZK}}} \) be a non-interactive zero-knowledge proof scheme. Later on, we will simplify the compiler for the case of public-randomness protocols by removing the need for \({{\textsf {NIZK}}} \).

figure f

1.2.1 Security Proof

We prove the security of Protocol A.5 using a sequence of arguments. Given a protocol \(\Pi \) secure against locally consistent adversaries, we first adjust it to use pseudorandom coins computed using a VRF. The new protocol, denoted \(\Pi _1\), remains secure against slightly weaker locally consistent adversaries by the pseudorandomness property of the VRF. Next, we show how to convert any malicious adversary against the compiled protocol \(\Pi '=\mathsf {Comp}(\Pi )\) into a “weak” locally consistent attack against \(\Pi _1\). The proof of the second part of the theorem, concerning public-randomness protocols, follows in similar lines.

Proof of Theorem A.1

We start by proving the first part of the theorem, considering generic protocols, and later focus on public-randomness protocols.

Proof of Item 1(generic protocols). We prove Item 1 in two steps. Initially, as an intermediate step, we consider a variant of \(\Pi \), denoted \(\Pi _1\), where the parties behave exactly as in \(\Pi \) except that they use a \({{\textsf {VRF}}} \) to compute their random coins for each round. Formally, \(\Pi _1\) is defined in the PKI model, where, in addition to the setup information for \(\Pi \), every party \(\mathsf {P} _i\) receives \(\mathsf {sk}^{\mathsf {vrf}}_i\) and \((\mathsf {vk}^{\mathsf {vrf}}_1,\ldots ,\mathsf {vk}^{\mathsf {vrf}}_n)\) for \((\mathsf {sk}^{\mathsf {vrf}}_i,\mathsf {vk}^{\mathsf {vrf}}_i)\leftarrow \mathsf {VRF.Gen}(1^\kappa )\). During the execution of the protocol, each party \(\mathsf {P} _i\) evaluates \((\rho _i^r,\pi _i^r)\leftarrow \mathsf {VRF.Eval}(\mathsf {sk}^{\mathsf {vrf}}_i,(i,r))\), sets its coins for the \(r\)’th round to \(\rho _i^r\) (instead of a uniformly distributed string), and appends \(\pi _i^r\) to its \(r\)’th round messages. Note that the strings \(\rho _i^r\) are deterministic, so a locally consistent adversary has the power to use arbitrary values instead. To enable a reduction to the security of \(\Pi \), we will explicitly assume that corrupted parties indeed use the honestly generated pseudorandom values \(\rho _i^r\) by evaluating the \({{\textsf {VRF}}}\) on (ir); we call such a locally consistent adversary \({{\textsf {VRF}}}\) -compliant.

Claim A.6

If \(\Pi \) is a \(\left( t,\alpha ,\beta ,q,\gamma \right) \)-\(\mathsf {BA}\) against locally consistent adversaries, then \(\Pi _1\) is a \(\left( t,\alpha -{\text {neg}}(\kappa ),\beta -{\text {neg}}(\kappa ),q,\gamma -{\text {neg}}(\kappa )\right) \)-\(\mathsf {BA}\) against locally consistent \({{\textsf {VRF}}}\)-compliant adversaries.

Proof

By assumption, a corrupted \(\mathsf {P} _i\) uses the value \(\rho _i^r\) as its random coins for the \(r\)’th round. Therefore, the only difference between \(\Pi _1\) and \(\Pi \) are the use of pseudorandom string instead of uniformly distributed strings. The proof follows by the pseudorandomness of the \({{\textsf {VRF}}} \) scheme using a standard hybrid argument. \(\square \)

Next, let \(\mathsf {A} '\) be an adversary attacking \(\Pi '=(\mathsf {P} '_1,\ldots ,\mathsf {P} '_n)\). We will construct an adversary \(\mathsf {A} \) for the protocol \(\Pi _1=(\mathsf {P} _1,\ldots ,\mathsf {P} _n)\). Let \(\mathsf {S} _{\mathsf {nizk}}xspace=(\mathsf {S} _{\mathsf {nizk}}xspace^1,\mathsf {S} _{\mathsf {nizk}}xspace^2)\) be the simulator that is guaranteed for the NIZK scheme. The adversary \(\mathsf {A} \) runs internally a copy of \(\mathsf {A} '\) and proceeds as follows:

  • In the setup phase of \(\Pi _1\), \(\mathsf {A} \) receives the setup string \(\left( \mathsf {setup}_i, \mathsf {sk}^{\mathsf {vrf}}_i,\mathsf {vk}^{\mathsf {vrf}}_1,\ldots ,\mathsf {vk}^{\mathsf {vrf}}_n\right) \) (consisting of the setup for \(\Pi \) and the \({{\textsf {VRF}}}\) keys). Next, \(\mathsf {A}\) samples \((\mathsf {crs},\tau )\leftarrow \mathsf {S} _{\mathsf {nizk}}xspace^1(1^\kappa )\) and \((\mathsf {sk}^{\mathsf {ds}}_i,\mathsf {vk}^{\mathsf {ds}}_i)\leftarrow \mathsf {DS.Gen}(1^\kappa )\) for every \(i\in [n]\), and provides the setup string \(\mathsf {setup}'_i=\Big (\mathsf {setup}_i, \mathsf {sk}^{\mathsf {vrf}}_i,\mathsf {sk}^{\mathsf {ds}}_i, \mathsf {crs},\mathsf {vk}^{\mathsf {vrf}}_1,\ldots ,\mathsf {vk}^{\mathsf {vrf}}_n, \mathsf {vk}^{\mathsf {ds}}_1,\ldots ,\mathsf {vk}^{\mathsf {ds}}_n\Big )\) for every corrupted \(\mathsf {P} '_i\).

  • Upon receiving a message \((m^r_{i \rightarrow j},\pi _i^r)\) from an honest \(\mathsf {P} _i\) to a corrupted \(\mathsf {P} _j\) in the execution of \(\Pi _1\), \(\mathsf {A}\) sends \((m^r_{i \rightarrow j},\sigma ^r_{i \rightarrow j},\pi _i^r, \varphi _{i\rightarrow j}^r)\) to \(\mathsf {A} '\) with \(\sigma _{i\rightarrow j}^r\leftarrow \mathsf {DS.Sign}(\mathsf {sk}^{\mathsf {ds}}_i,m^r_{i \rightarrow j})\) and \(\varphi _{i\rightarrow j}^r\leftarrow \mathsf {S} _{\mathsf {nizk}}xspace^2(\mathsf {crs},\tau ,(m^r_{i \rightarrow j},\sigma ^r_{i \rightarrow j}, \pi _i^r))\).

  • When \(\mathsf {A} \) receives \((m^r_{i \rightarrow j},\sigma ^r_{i \rightarrow j},\pi _i^r,\varphi _{i\rightarrow j}^r)\) from \(\mathsf {A} '\) on behalf of a corrupted \(\mathsf {P} _i'\) to an honest \(\mathsf {P} _j'\) (in the simulated execution of \(\Pi '\)), \(\mathsf {A}\) first verifies that \(\mathsf {NIZK.Verifier}(\mathsf {crs},(m^r_{i \rightarrow j},\sigma ^r_{i \rightarrow j},\pi _i^r),\varphi _{i\rightarrow j}^r)=1\). If the proof is verified, \(\mathsf {A}\) sends the message \((m^r_{i \rightarrow j},\pi _i^r)\) to \(\mathsf {P} _j\) in the protocol \(\Pi _1\); otherwise, \(\mathsf {A}\) considers \(\mathsf {P} _i\) as an aborting party towards \(\mathsf {P} _j\).

We complete the proof in a series of steps, analyzing the attack under increasingly stronger power of the adversary \(\mathsf {A} '\), starting from a locally consistent \({{\textsf {VRF}}}\)-compliant attack until reaching a full blown malicious attack. Initially, we will assume perfect security of the NIZK, and remove this restriction later on.

Claim A.7

Consider a perfect NIZK scheme. If \(\Pi _1\) is a \(\left( t,\alpha ,\beta ,q,\gamma \right) \)-\(\mathsf {BA}\) against locally consistent \({{\textsf {VRF}}}\)-compliant adversaries, then \(\Pi '\) is a \(\left( t,\alpha ,\beta ,q,\gamma \right) \)-\(\mathsf {BA}\) against locally consistent \({{\textsf {VRF}}}\)-compliant adversaries.

Proof

If \(\mathsf {A} '\) is a locally consistent \({{\textsf {VRF}}}\)-compliant adversary, then in particular whenever \(\mathsf {A} '\) sends a message on behalf of a corrupted \(\mathsf {P} _i'\), he knows a witness for the \({{\textsf {NIZK}}}\) proof. Therefore, without loss of generality we can assume that either a corrupted \(\mathsf {P} _i'\) does not send a message (i.e., aborts) to an honest \(\mathsf {P} _j'\) or that \(\mathsf {P} _i'\) correctly generates the \({{\textsf {NIZK}}}\) proof. In that case every locally consistent \({{\textsf {VRF}}}\)-compliant attack by \(\mathsf {A} '\) translates to a locally consistent \({{\textsf {VRF}}}\)-compliant attack by \(\mathsf {A} \). \(\square \)

The next claim considers stronger adversaries that are allowed to use arbitrary random coins for computing the next-message function. We will use the following notations: A message sent in \(\Pi '\) is of the form \((m,\sigma ,\pi ,\varphi )\); we call m the content of the message. For a party \(\mathsf {P} _i'\), let \({\mathcal {M}}_\mathsf {in} ^{r',k\rightarrow i}\) denote the set of incoming messages’ contents received from party \(\mathsf {P} _k'\) in round \(r'\) (as this is a locally consistent attack, there could be multiple incoming messages from each corrupted party, but at most one message from each honest party). Let \({\mathcal {M}}_\mathsf {out} ^{r,i\rightarrow j}\) be the set of possible messages’ contents that \(\mathsf {P} _i'\) can send to \(\mathsf {P} _j'\) at round r under a \({{\textsf {VRF}}}\)-compliant locally consistent attack when using a subset of the incoming messages’ contents \(\{{\mathcal {M}}_\mathsf {in} ^{r',k\rightarrow i}\}_{r'<r, k\in [n]}\) and randomness \(\{\rho _i^{r'}\}_{r'\in [r]}\) computed as \((\rho _i^{r'},\pi _i^{r'})\leftarrow \mathsf {VRF.Eval}(\mathsf {sk}^{\mathsf {vrf}}_i,(i,r'))\).

Claim A.8

Consider a perfect NIZK scheme. If \(\Pi _1\) is a \(\left( t,\alpha ,\beta ,q,\gamma \right) \)-\(\mathsf {BA}\) against locally consistent \({{\textsf {VRF}}}\)-compliant adversaries, then \(\Pi '\) is a \(\left( t,\alpha -{\text {neg}}(\kappa ),\beta -{\text {neg}}(\kappa ),q,\gamma -{\text {neg}}(\kappa )\right) \)-\(\mathsf {BA}\) against locally consistent adversaries.

Proof

We prove the claim by showing that the additional power of the adversary only allows for a negligible cheating advantage. Consider a locally consistent adversary \(\mathsf {A} '\) and assume that a corrupted party \(\mathsf {P} _i'\) used arbitrary random coins to generate the message content for party \(\mathsf {P} _j'\) in round r, denoted \({\tilde{m}}_{i\rightarrow j}^r\). There are two possible cases:

Case 1::

If \({\tilde{m}}_{i\rightarrow j}^r\in {\mathcal {M}}_\mathsf {out} ^{r,i\rightarrow j}\), then the adversary can compute a witness for the relation \({\mathcal {R}} ^r_{i\rightarrow j}\). That is, even if the actual coins used to generate \({\tilde{m}}_{i\rightarrow j}^r\) are different than \(\{\rho _i^{r'}\}_{r'\in [r]}\), the message \({\tilde{m}}_{i\rightarrow j}^r\) can be explained as if generated using \(\{\rho _i^{r'}\}_{r'\in [r]}\) consistently with a subset of the incoming messages in \(\{{\mathcal {M}}_\mathsf {in} ^{r',k\rightarrow i}\}_{r'<r, k\in [n]}\). Therefore, without loss of generality this can be cast as a locally consistent \({{\textsf {VRF}}}\)-compliant attack.

Case 2::

If \({\tilde{m}}_{i\rightarrow j}^r\notin {\mathcal {M}}_\mathsf {out} ^{r,i\rightarrow j}\), let \(\{{\tilde{\rho }}_i^{r'}\}_{r'\in [r]}\) be the coins used by \(\mathsf {A} '\) to generate \({\tilde{m}}_{i\rightarrow j}^r\). Then, \({\tilde{\rho }}_i^{r'}\ne \rho _i^{r'}\) for at least one \(r'\). To provide a witness for the relation \({\mathcal {R}} ^r_{i\rightarrow j}\), \(\mathsf {A} '\) must generate \({\tilde{\pi }}_i^{r'}\) such that \(\mathsf {VRF.Verify}(\mathsf {vk}^{\mathsf {vrf}}_i,(i,r'),{\tilde{\rho }}_i^{r'},{\tilde{\pi }}_i^{r'})=1\). By unique provability property of the VRF, such an attack can only succeed with negligible probability.

\(\square \)

The next claim considers stronger adversaries that are allowed to use arbitrary incoming messages for their next-message function.

Claim A.9

Consider a perfect NIZK scheme. If \(\Pi _1\) is a \(\left( t,\alpha ,\beta ,q,\gamma \right) \)-\(\mathsf {BA}\) against locally consistent \({{\textsf {VRF}}}\)-compliant adversaries, then \(\Pi '\) is a \(\left( t,\alpha -{\text {neg}}(\kappa ),\beta -{\text {neg}}(\kappa ),q,\gamma -{\text {neg}}(\kappa )\right) \)-\(\mathsf {BA}\) against locally consistent adversaries that are allowed to use arbitrary messages’ contents when computing the next-message function.

Proof

Consider an adversary \(\mathsf {A} '\) that behaves locally consistent but can use arbitrary values as incoming messages. Assume that \(\mathsf {A} '\) is \({{\textsf {VRF}}}\)-compliant and let r be the first round in which \(\mathsf {A} '\) deviates from the protocol with respect to incoming messages. Let \(\mathsf {P} _i'\) be a corrupted party that uses \(\{\tilde{{\mathcal {M}}}_\mathsf {in} ^{r',k\rightarrow i}\}_{r'<r, k\in [n]}\) as its set of incoming messages to generate the message content for party \(\mathsf {P} _j'\) in round r, denoted \({\tilde{m}}_{i\rightarrow j}^r\), and assume that \(\bigcup \tilde{{\mathcal {M}}}_\mathsf {in} ^{r',k\rightarrow i} \nsubseteq \bigcup {\mathcal {M}}_\mathsf {in} ^{r',k\rightarrow i}\). There are two possible cases:

  • Case 1: If \({\tilde{m}}_{i\rightarrow j}^r\in {\mathcal {M}}_\mathsf {out} ^{r,i\rightarrow j}\), then the adversary can compute a witness for the relation \({\mathcal {R}} ^r_{i\rightarrow j}\). That is, even if \(\bigcup \tilde{{\mathcal {M}}}_\mathsf {in} ^{r',k\rightarrow i} \nsubseteq \bigcup {\mathcal {M}}_\mathsf {in} ^{r',k\rightarrow i}\), the message \({\tilde{m}}_{i\rightarrow j}^r\) can be explained as if generated using a subset of \(\bigcup {\mathcal {M}}_\mathsf {in} ^{r',k\rightarrow i}\). Therefore, without loss of generality this can be cast as a locally consistent attack.

  • Case 2: If \({\tilde{m}}_{i\rightarrow j}^r\notin {\mathcal {M}}_\mathsf {out} ^{r,i\rightarrow j}\), then to find a witness for the relation \({\mathcal {R}} ^r_{i\rightarrow j}\), \(\mathsf {A} '\) must produce for every message \({\tilde{m}}_{k\rightarrow i}^{r'}\in \bigcup \tilde{{\mathcal {M}}}_\mathsf {in} ^{r',k\rightarrow i} \setminus \bigcup {\mathcal {M}}_\mathsf {in} ^{r',k\rightarrow i}\) a signature \({\tilde{\sigma }}_{k\rightarrow i}^{r'}\), a VRF proof \(\pi _{k\rightarrow i}^{r'}\) and a NIZK proof \({\tilde{\varphi }}_{k\rightarrow i}^{r'}\).

  • If \(\mathsf {P} _k\) is honest, \(\mathsf {A} '\) can find an accepting signature \({\tilde{\sigma }}_{k\rightarrow i}^{r'}\) for \({\tilde{m}}_{k\rightarrow i}^{r'}\) under \(\mathsf {vk}^{\mathsf {ds}}_k\) only with negligible probability (recall that every message \({\tilde{m}}_{k\rightarrow i}^{r'}\) encodes the values \(k,i,r'\); hence, \(\mathsf {A} '\) cannot reuse messages that were signed by \(\mathsf {P} _k\) in other rounds).

  • If \(\mathsf {P} _k\) is corrupted, then in turn it must have provided a valid witness for the relation \({\mathcal {R}} _{k\rightarrow i}^{r'}\). By the minimality of r, it is guaranteed that \({\tilde{m}}_{k\rightarrow i}^{r'-1}\) was honestly generated with respect to the incoming messages of \(\mathsf {P} _k'\) until round \(r'-1\), \(\{\bigcup {\mathcal {M}}_\mathsf {in} ^{r'',k'\rightarrow k}\}_{r''\in [r'-1], k'\in [n]}\). In this case, without loss of generality, the message \({\tilde{m}}_{k\rightarrow i}^{r'}\) could have been sent by the corrupted \(\mathsf {P} _k'\) to the corrupted \(\mathsf {P} _i'\), i.e., be included in the set \({\mathcal {M}}_\mathsf {in} ^{r',k\rightarrow i}\).

The proof of the claim now reduces considering non-\({{\textsf {VRF}}}\)-compliant adversaries, which follows from Claim A.8. \(\square \)

The next claim considers stronger adversaries that are not required to compute their outgoing messages by the next-message function, but can send arbitrary messages instead.

Claim A.10

Consider a perfect NIZK scheme. If \(\Pi _1\) is a \(\left( t,\alpha ,\beta ,q,\gamma \right) \)-\(\mathsf {BA}\) against locally consistent \({{\textsf {VRF}}}\)-compliant adversaries, then \(\Pi '\) is a \(\left( t,\alpha -{\text {neg}}(\kappa ),\beta -{\text {neg}}(\kappa ),q,\gamma -{\text {neg}}(\kappa )\right) \)-\(\mathsf {BA}\) against malicious adversaries.

Proof

Consider a malicious adversary \(\mathsf {A} '\) and assume that \(\mathsf {A} '\) behaves locally consistent and \({{\textsf {VRF}}}\)-compliant until round r, i.e., round r is the first round in which \(\mathsf {A} '\) does not compute a message according to the next-message function. Let \(\mathsf {P} _i'\) be a corrupted party that generates the message content for party \(\mathsf {P} _j'\) in round r, denoted \({\tilde{m}}_{i\rightarrow j}^r\), arbitrarily. There are two possible cases:

  • Case 1: If \({\tilde{m}}_{i\rightarrow j}^r\in {\mathcal {M}}_\mathsf {out} ^{r,i\rightarrow j}\), then the adversary can compute a witness for the relation \({\mathcal {R}} ^r_{i\rightarrow j}\). That is, the message \({\tilde{m}}_{i\rightarrow j}^r\) can be explained as if generated using \(\{\rho _i^{r'}\}_{r'\in [r]}\) consistently with a subset of the incoming messages in \(\{{\mathcal {M}}_\mathsf {in} ^{r',k\rightarrow i}\}_{r'<r, k\in [n]}\) according to the next-message function. Therefore, without loss of generality this can be cast as a locally consistent \({{\textsf {VRF}}}\)-compliant attack.

  • Case 2: If \({\tilde{m}}_{i\rightarrow j}^r\notin {\mathcal {M}}_\mathsf {out} ^{r,i\rightarrow j}\), then \(\mathsf {A} '\) must provide \({\tilde{\sigma }}_{i\rightarrow j}^r\) and \(\pi _i^r\) along with a witness \(\mathsf {wit}_{i\rightarrow j}^r\) consisting of:

  • An input bit \(x_i\) an \(\mathsf {setup}_i\).

  • For every \(r'\in [r]\) random coins \(\rho _i^{r'}\).

  • For every \(r'\in [r-1]\) and \(k\in [n]\) a message \({\tilde{{ \varvec{m}}}}_{k\rightarrow i}^{r'}=({\tilde{m}}_{k\rightarrow i}^{r'},{\tilde{\sigma }}_{k\rightarrow i}^{r'},\pi _k^{r'},{\tilde{\varphi }}_{k\rightarrow i}^{r'})\).

In addition it holds that \((({\tilde{m}}_{i\rightarrow j}^r,{\tilde{\sigma }}_{i\rightarrow j}^r,\pi _i^r),\mathsf {wit}_{i\rightarrow j}^r)\in {\mathcal {R}} ^r_{i\rightarrow j}\). As before, with all but negligible probability it is guaranteed that \(\mathsf {VRF.Verify}(\mathsf {vk}^{\mathsf {vrf}}_i,(i,r),\rho _i^r,\pi _i^r)=1\) and for every honest party \(\mathsf {P} _k'\), \((({\tilde{m}}_{k\rightarrow i}^{r'},{\tilde{\sigma }}_{k\rightarrow i}^{r'},\pi _k^{r'}),{\tilde{\varphi }}_{k\rightarrow i}^{r'})\in {\mathcal {R}} _{k\rightarrow i}^{r'}\). For a corrupted \(\mathsf {P} _k'\), if \((({\tilde{m}}_{k\rightarrow i}^{r'},{\tilde{\sigma }}_{k\rightarrow i}^{r'},\pi _k^{r'}),{\tilde{\varphi }}_{k\rightarrow i}^{r'})\in {\mathcal {R}} _{k\rightarrow i}^{r'}\) then without loss of generality the message could have been sent by \(\mathsf {P} _k'\) to \(\mathsf {P} _i'\). We conclude that with all but negligible probability, the \({\tilde{m}}_{i\rightarrow j}^r\) can be explained by a locally consistent \({{\textsf {VRF}}}\)-compliant attack.

The proof of the claim now follows from Claim A.9. \(\square \)

Finally, we remove the assumption of a perfect NIZK scheme and consider a NIZK scheme that allows for negligible adversarial advantage, and obtain the following claim.

Claim A.11

If \(\Pi _1\) is a \(\left( t,\alpha ,\beta ,q,\gamma \right) \)-\(\mathsf {BA}\) against locally consistent \({{\textsf {VRF}}}\)-compliant adversaries, then \(\Pi '\) is a \(\left( t,\alpha -{\text {neg}}(\kappa ),\beta -{\text {neg}}(\kappa ),q,\gamma -{\text {neg}}(\kappa )\right) \)-\(\mathsf {BA}\) against malicious adversaries.

This concludes the proof of the first part of the theorem.

Proof of Item 2 (public-randomness protocols). We prove Item 2 of Theorem A.1 by adjusting the compiler \(\mathsf {Comp}\) and removing the use of NIZK proofs. The new compiler \(\mathsf {Comp}_\mathsf {PR}\) is defined like \(\mathsf {Comp}\) except that instead of computing a NIZK proof \(\varphi _{i\rightarrow j}^r\leftarrow \mathsf {NIZK.Prover}(\mathsf {crs}, \mathsf {stat}_{i\rightarrow j}^r, \mathsf {wit}_{i\rightarrow j}^r)\) for the relation \({\mathcal {R}} _{i\rightarrow j}^r\) and sending \(\varphi _{i\rightarrow j}^r\), the sender \(\mathsf {P} _i'\) simply sends the witness \(\mathsf {wit}_{i\rightarrow j}^r\). The receiver \(\mathsf {P} _j'\) can now directly verify that \(\mathsf {wit}_{i\rightarrow j}^r\) is a valid witness. The proof follows immediately from Item 1 of Theorem A.1. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Cohen, R., Haitner, I., Makriyannis, N. et al. On the Round Complexity of Randomized Byzantine Agreement. J Cryptol 35, 10 (2022). https://doi.org/10.1007/s00145-022-09421-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00145-022-09421-7

Keywords

Navigation