An Analysis of Avalanche Consensus (2401.02811v1)
Abstract: A family of leaderless, decentralized consensus protocols, called Snow consensus was introduced in a recent whitepaper by Yin et al. These protocols address limitations of existing consensus methods, such as those using proof-of-work or quorums, by utilizing randomization and maintaining some level of resilience against Byzantine participants. Crucially, Snow consensus underpins the Avalanche blockchain, which provides a popular cryptocurrency and a platform for running smart contracts. Snow consensus algorithms are built on a natural, randomized routine, whereby participants continuously sample subsets of others and adopt an observed majority value until consensus is achieved. Additionally, Snow consensus defines conditions based on participants' local views and security parameters. These conditions indicate when a party can confidently finalize its local value, knowing it will be adopted by honest participants. Although Snow consensus algorithms can be formulated concisely, there is a complex interaction between randomization, adversarial influence, and security parameters, which requires a formal analysis of their security and liveness. Snow protocols form the foundation for Avalanche-type blockchains, and this work aims to increase our understanding of such protocols by providing insights into their liveness and safety characteristics. First, we analyze these Snow protocols in terms of latency and security. Second, we expose a design issue where the trade-off between these two is unfavorable. Third, we propose a modification of the original protocol where this trade-off is much more favorable.
- Ignacio Amores-Sesar, Christian Cachin and Enrico Tedeschi “When Is Spring Coming? A Security Analysis of Avalanche Consensus” In 26th International Conference on Principles of Distributed Systems, OPODIS 2022, December 13-15, 2022, Brussels, Belgium 253, LIPIcs Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2022, pp. 10:1–10:22 DOI: 10.4230/LIPIcs.OPODIS.2022.10
- Luca Becchetti, Andrea E. F. Clementi and Emanuele Natale “Consensus Dynamics: An Overview” In SIGACT News 51.1, 2020, pp. 58–104 DOI: 10.1145/3388392.3388403
- “Simple dynamics for plurality consensus” In Distributed Comput. 30.4, 2017, pp. 293–306 DOI: 10.1007/s00446-016-0289-4
- “Stabilizing Consensus with Many Opinions” In Proceedings of the Twenty-Seventh Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2016, Arlington, VA, USA, January 10-12, 2016 SIAM, 2016, pp. 620–635 DOI: 10.1137/1.9781611974331.ch46
- Vitalik Buterin “The Scalability Trilemma — Why Sharding is Great: Demystifying the Technical Properties”, Available online, https://vitalik.ca/general/2021/04/07/sharding.html, 2017
- Colin Cooper, Robert Elsässer and Tomasz Radzik “The Power of Two Choices in Distributed Voting” In Automata, Languages, and Programming - 41st International Colloquium, ICALP 2014, Copenhagen, Denmark, July 8-11, 2014, Proceedings, Part II 8573, Lecture Notes in Computer Science Springer, 2014, pp. 435–446 DOI: 10.1007/978-3-662-43951-7\_37
- “Phase Transitions of the k-Majority Dynamics in a Biased Communication Model” In ICDCN ’21: International Conference on Distributed Computing and Networking, Virtual Event, Nara, Japan, January 5-8, 2021 ACM, 2021, pp. 146–155 DOI: 10.1145/3427796.3427811
- James R. Cruise and Ayalvadi Ganesh “Probabilistic consensus via polling and majority rules” In Queueing Syst. Theory Appl. 78.2, 2014, pp. 99–120 DOI: 10.1007/s11134-014-9397-7
- “Stabilizing consensus with the power of two choices” In SPAA 2011: Proceedings of the 23rd Annual ACM Symposium on Parallelism in Algorithms and Architectures, San Jose, CA, USA, June 4-6, 2011 (Co-located with FCRC 2011) ACM, 2011, pp. 149–158 DOI: 10.1145/1989493.1989516
- “Brief Announcement: Rapid Asynchronous Plurality Consensus” In Proceedings of the ACM Symposium on Principles of Distributed Computing, PODC 2017, Washington, DC, USA, July 25-27, 2017 ACM, 2017, pp. 363–365 DOI: 10.1145/3087801.3087860
- Michael J. Fischer, Nancy A. Lynch and Michael Merritt “Easy Impossibility Proofs for Distributed Consensus Problems” In Distributed Comput. 1.1, 1986, pp. 26–39 DOI: 10.1007/BF01843568
- Michael J. Fischer, Nancy A. Lynch and Mike Paterson “Impossibility of Distributed Consensus with One Faulty Process” In J. ACM 32.2, 1985, pp. 374–382 DOI: 10.1145/3149.214121
- “Nearly-Tight Analysis for 2-Choice and 3-Majority Consensus Dynamics” In Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing, PODC 2018, Egham, United Kingdom, July 23-27, 2018 ACM, 2018, pp. 305–313 URL: https://dl.acm.org/citation.cfm?id=3212738
- Seth Gilbert and Nancy A. Lynch “Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services” In SIGACT News 33.2, 2002, pp. 51–59
- “Diablo: A Benchmark Suite for Blockchains” In Proceedings of the Eighteenth European Conference on Computer Systems, EuroSys 2023, Rome, Italy, May 8-12, 2023 ACM, 2023, pp. 540–556 DOI: 10.1145/3552326.3567482
- “Scalable and Probabilistic Leaderless BFT Consensus through Metastability” In CoRR abs/1906.08936, 2019 arXiv: http://arxiv.org/abs/1906.08936