skip to main content
10.1145/3519270.3538430acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

Internet Computer Consensus

Published: 21 July 2022 Publication History

Abstract

We present the Internet Computer Consensus (ICC) family of protocols for atomic broadcast (a.k.a., consensus), which underpin the Byzantine fault-tolerant replicated state machines of the Internet Computer. The ICC protocols are leader-based protocols that assume partial synchrony, and that are fully integrated with a blockchain. The leader changes probabilistically in every round. These protocols are simple and robust: in any round where the leader is corrupt (which itself happens with probability less than 1/3) or the network is asynchronous, each ICC protocol will effectively allow other parties to step in and propose blocks for that round and to move the protocol forward to the next round. In case there was no agreement on a single block in a round, a decision for this round will be taken in a later round with synchronous network behavior and an honest leader. The task of reliably disseminating the blocks to all parties is an integral part the protocol. We present three different protocols, along with various minor variations on each. The first of these protocols (ICC0) illustrates the combination of the main building blocks in a simplified manner for an easier presentation and analysis. Protocol ICC1 is designed to be integrated with a peer-to-peer gossip sub-layer, which reduces the bottleneck created at the leader for disseminating large blocks, a problem that all leader-based protocols must address. Our Protocol ICC2 addresses the same problem by substituting a lowcommunication reliable broadcast subprotocol (which may be of independent interest) for the gossip sub-layer.

Supplementary Material

MP4 File (S2-T3.mp4)
Presentation video

References

[1]
Ittai Abraham, Dahlia Malkhi, Kartik Nayak, and Ling Ren. 2018. Dfinity Consensus, Explored. Cryptology ePrint Archive, Report 2018/1153. https: //eprint.iacr.org/2018/1153.
[2]
Ittai Abraham, Dahlia Malkhi, and Alexander Spiegelman. 2019. Asymptotically optimal validated asynchronous byzantine agreement. In Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing. 337--346.
[3]
Mihir Bellare and Phillip Rogaway. 1993. Random Oracles are Practical: A Paradigm for Designing Efficient Protocols. In CCS '93, Proceedings of the 1st ACM Conference on Computer and Communications Security, Fairfax, Virginia, USA, November 3--5, 1993, Dorothy E. Denning, Raymond Pyle, Ravi Ganesan, Ravi S. Sandhu, and Victoria Ashby (Eds.). ACM, 62--73. https://doi.org/10.1145/168588.168596
[4]
Michael Ben-Or. 1983. Another Advantage of Free Choice: Completely Asynchronous Agreement Protocols (Extended Abstract). In Proceedings of the Second Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Montreal, Quebec, Canada, August 17--19, 1983, Robert L. Probert, Nancy A. Lynch, and Nicola Santoro (Eds.). ACM, 27--30. https://doi.org/10.1145/800221.806707
[5]
Dan Boneh, Manu Drijvers, and Gregory Neven. 2018. Compact Multi-signatures for Smaller Blockchains. In Advances in Cryptology - ASIACRYPT 2018 - 24th International Conference on the Theory and Application of Cryptology and Information Security, Brisbane, QLD, Australia, December 2--6, 2018, Proceedings, Part II (Lecture Notes in Computer Science, Vol. 11273), Thomas Peyrin and Steven D. Galbraith (Eds.). Springer, 435--464. https://doi.org/10.1007/978--3-030-03329--3_15
[6]
Dan Boneh, Ben Lynn, and Hovav Shacham. 2001. Short Signatures from the Weil Pairing. In Advances in Cryptology - ASIACRYPT 2001, 7th International Conference on the Theory and Application of Cryptology and Information Security, Gold Coast, Australia, December 9--13, 2001, Proceedings (Lecture Notes in Computer Science, Vol. 2248), Colin Boyd (Ed.). Springer, 514--532. https://doi.org/10.1007/3- 540--45682--1_30
[7]
Manuel Bravo, Gregory Chockler, and Alexey Gotsman. 2020. Making Byzantine Consensus Live (Extended Version). arXiv:2008.04167, http://arxiv.org/abs/2008. 04167.
[8]
Ethan Buchman, Jae Kwon, and Zarko Milosevic. 2018. The latest gossip on BFT consensus. arXiv:1807.04938, http://arxiv.org/abs/1807.04938.
[9]
Christian Cachin, Klaus Kursawe, Frank Petzold, and Victor Shoup. 2001. Secure and Efficient Asynchronous Broadcast Protocols. In Advances in Cryptology - CRYPTO 2001, 21st Annual International Cryptology Conference, Santa Barbara, California, USA, August 19--23, 2001, Proceedings (Lecture Notes in Computer Science, Vol. 2139), Joe Kilian (Ed.). Springer, 524--541. https://doi.org/10.1007/3--540- 44647--8_31
[10]
Christian Cachin, Klaus Kursawe, and Victor Shoup. 2005. Random Oracles in Constantinople: Practical Asynchronous Byzantine Agreement Using Cryptography. J. Cryptol. 18, 3 (2005), 219--246. https://doi.org/10.1007/s00145-005-0318-0
[11]
Christian Cachin and Stefano Tessaro. 2005. Asynchronous Verifiable Information Dispersal. In Distributed Computing, 19th International Conference, DISC 2005, Cracow, Poland, September 26--29, 2005, Proceedings (Lecture Notes in Computer Science, Vol. 3724), Pierre Fraigniaud (Ed.). Springer, 503--504. https://doi.org/10. 1007/11561927_42
[12]
Jan Camenisch, Manu Drijvers, Timo Hanke, Yvonne-Anne Pignolet, Victor Shoup, and Dominic Williams. 2021. Internet Computer Consensus. Cryptology ePrint Archive, Report 2021/632. https://ia.cr/2021/632.
[13]
Miguel Castro and Barbara Liskov. 1999. Practical Byzantine Fault Tolerance. In Proceedings of the Third USENIX Symposium on Operating Systems Design and Implementation (OSDI), New Orleans, Louisiana, USA, February 22--25, 1999, Margo I. Seltzer and Paul J. Leach (Eds.). USENIX Association, 173--186. https: //dl.acm.org/citation.cfm?id=296824
[14]
Miguel Castro and Barbara Liskov. 2002. Practical byzantine fault tolerance and proactive recovery. ACM Trans. Comput. Syst. 20, 4 (2002), 398--461. https: //doi.org/10.1145/571637.571640
[15]
Allen Clement, Edmund L. Wong, Lorenzo Alvisi, Michael Dahlin, and Mirco Marchetti. 2009. Making Byzantine Fault Tolerant Systems Tolerate Byzantine Faults. In Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2009, April 22--24, 2009, Boston, MA, USA, Jennifer Rexford and Emin Gün Sirer (Eds.). USENIX Association, 153-- 168. http://www.usenix.org/events/nsdi09/tech/full_papers/clement/clement.pdf http://www.usenix.org/events/nsdi09/tech/full_papers/clement/clement.pdf.
[16]
Xavier Défago, André Schiper, and Péter Urbán. 2004. Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Computing Surveys (CSUR) 36, 4 (2004), 372--421.
[17]
Alan J. Demers, Daniel H. Greene, Carl Hauser, Wes Irish, John Larson, Scott Shenker, Howard E. Sturgis, Daniel C. Swinehart, and Douglas B. Terry. 1987. Epidemic Algorithms for Replicated Database Maintenance. In Proceedings of the Sixth Annual ACM Symposium on Principles of Distributed Computing, Vancouver, British Columbia, Canada, August 10--12, 1987, Fred B. Schneider (Ed.). ACM, 1--12. https://doi.org/10.1145/41840.41841
[18]
DFINITY. 2020. A Technical Overview of the Internet Computer. https://medium. com/dfinity/a-technical-overview-of-the-internet-computer-f57c62abc20f.
[19]
Sisi Duan, Michael K. Reiter, and Haibin Zhang. 2018. BEAT: Asynchronous BFT Made Practical. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, CCS 2018, Toronto, ON, Canada, October 15--19, 2018, David Lie, Mohammad Mannan, Michael Backes, and XiaoFeng Wang (Eds.). ACM, 2028--2041. https://doi.org/10.1145/3243734.3243812
[20]
Cynthia Dwork, Nancy A. Lynch, and Larry J. Stockmeyer. 1988. Consensus in the presence of partial synchrony. J. ACM 35, 2 (1988), 288--323. https: //doi.org/10.1145/42282.42283
[21]
Yossi Gilad, Rotem Hemo, Silvio Micali, Georgios Vlachos, and Nickolai Zeldovich. 2017. Algorand: Scaling Byzantine Agreements for Cryptocurrencies. Cryptology ePrint Archive, Report 2017/454. https://eprint.iacr.org/2017/454.
[22]
Guy Golan-Gueta, Ittai Abraham, Shelly Grossman, Dahlia Malkhi, Benny Pinkas, Michael K. Reiter, Dragos-Adrian Seredinschi, Orr Tamir, and Alin Tomescu. 2019. SBFT: A Scalable and Decentralized Trust Infrastructure. In 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2019, Portland, OR, USA, June 24--27, 2019. IEEE, 568--580. https://doi.org/10.1109/DSN.2019.00063
[23]
Bingyong Guo, Zhenliang Lu, Qiang Tang, Jing Xu, and Zhenfeng Zhang. 2020. Dumbo: Faster Asynchronous BFT Protocols. In CCS '20: 2020 ACM SIGSAC Conference on Computer and Communications Security, Virtual Event, USA, November 9--13, 2020, Jay Ligatti, Xinming Ou, Jonathan Katz, and Giovanni Vigna (Eds.). ACM, 803--818. https://doi.org/10.1145/3372297.3417262
[24]
Timo Hanke, Mahnush Movahedi, and Dominic Williams. 2018. DFINITY Technology Overview Series, Consensus System. arXiv:1805.04548, http: //arxiv.org/abs/1805.04548.
[25]
Leslie Lamport, Robert E. Shostak, and Marshall C. Pease. 1982. The Byzantine Generals Problem. ACM Trans. Program. Lang. Syst. 4, 3 (1982), 382--401. https: //doi.org/10.1145/357172.357176
[26]
LibraBFT Team. 2020. State Machine Replication in the Libra Blockchain. https://diem-developers-components.netlify.app/papers/diem-consensus-statemachine- replication-in-the-diem-blockchain/2020-05--26.pdf.
[27]
AndrewMiller, Yu Xia, Kyle Croman, Elaine Shi, and Dawn Song. 2016. The Honey Badger of BFT Protocols. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, October 24--28, 2016, Edgar R. Weippl, Stefan Katzenbeisser, Christopher Kruegel, Andrew C. Myers, and Shai Halevi (Eds.). ACM, 31--42. https://doi.org/10.1145/2976749.2978399
[28]
Oded Naor, Mathieu Baudet, Dahlia Malkhi, and Alexander Spiegelman. 2019. Gogsworth: Byzantine View Synchronization. arXiv:1909.05204, http://arxiv. org/abs/1909.05204.
[29]
Oded Naor and Idit Keidar. 2020. Expected Linear Round Synchronization: The Missing Link for Linear Byzantine SMR. arXiv:2002.07539, http://arxiv.org/abs/ 2002.07539.
[30]
Rafael Pass and Elaine Shi. 2018. Thunderella: Blockchains with Optimistic Instant Confirmation. In Advances in Cryptology - EUROCRYPT 2018 - 37th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Tel Aviv, Israel, April 29 - May 3, 2018 Proceedings, Part II (Lecture Notes in Computer Science, Vol. 10821), Jesper Buus Nielsen and Vincent Rijmen (Eds.). Springer, 3--33. https://doi.org/10.1007/978--3--319--78375--8_1
[31]
Marshall C. Pease, Robert E. Shostak, and Leslie Lamport. 1980. Reaching Agreement in the Presence of Faults. J. ACM 27, 2 (1980), 228--234. https: //doi.org/10.1145/322186.322188
[32]
HariGovind V. Ramasamy and Christian Cachin. 2005. Parsimonious Asynchronous Byzantine-Fault-Tolerant Atomic Broadcast. In Principles of Distributed Systems, 9th International Conference, OPODIS 2005, Pisa, Italy, December 12- 14, 2005, Revised Selected Papers (Lecture Notes in Computer Science, Vol. 3974), James H. Anderson, Giuseppe Prencipe, and Roger Wattenhofer (Eds.). Springer, 88--102. https://doi.org/10.1007/11795490_9
[33]
Fred B. Schneider. 1990. Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial. ACM Comput. Surv. 22, 4 (1990), 299--319. https: //doi.org/10.1145/98163.98167
[34]
Adi Shamir. 1979. How to Share a Secret. Commun. ACM 22, 11 (1979), 612--613. https://doi.org/10.1145/359168.359176
[35]
Chrysoula Stathakopoulou, Tudor David, and Marko Vukolic. 2019. Mir-BFT: High-Throughput BFT for Blockchains. arXiv:1906.05552, http://arxiv.org/abs/ 1906.05552.
[36]
Maofan Yin, Dahlia Malkhi, Michael K. Reiter, Guy Golan Gueta, and Ittai Abraham. 2018. HotStuff: BFT Consensus in the Lens of Blockchain. arXiv:1803.05069, http://arxiv.org/abs/1803.05069.

Cited By

View all
  • (2024)Image Analysis in Autonomous Vehicles: A Review of the Latest AI Solutions and Their ComparisonApplied Sciences10.3390/app1418815014:18(8150)Online publication date: 11-Sep-2024
  • (2024)Smarter Contract Upgrades with Orthogonal PersistenceProceedings of the 16th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages10.1145/3689490.3690401(32-42)Online publication date: 17-Oct-2024
  • (2024)Banyan: Fast Rotating Leader BFTProceedings of the 25th International Middleware Conference10.1145/3652892.3700788(494-507)Online publication date: 2-Dec-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PODC'22: Proceedings of the 2022 ACM Symposium on Principles of Distributed Computing
July 2022
509 pages
ISBN:9781450392624
DOI:10.1145/3519270
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 July 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. atomic broadcast
  2. blockchain
  3. consensus
  4. internet computer

Qualifiers

  • Research-article

Conference

PODC '22
Sponsor:

Acceptance Rates

Overall Acceptance Rate 740 of 2,477 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)48
  • Downloads (Last 6 weeks)5
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Image Analysis in Autonomous Vehicles: A Review of the Latest AI Solutions and Their ComparisonApplied Sciences10.3390/app1418815014:18(8150)Online publication date: 11-Sep-2024
  • (2024)Smarter Contract Upgrades with Orthogonal PersistenceProceedings of the 16th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages10.1145/3689490.3690401(32-42)Online publication date: 17-Oct-2024
  • (2024)Banyan: Fast Rotating Leader BFTProceedings of the 25th International Middleware Conference10.1145/3652892.3700788(494-507)Online publication date: 2-Dec-2024
  • (2024)SoK: Public Randomness2024 IEEE 9th European Symposium on Security and Privacy (EuroS&P)10.1109/EuroSP60621.2024.00020(216-234)Online publication date: 8-Jul-2024
  • (2024)Moonshot: Optimizing Block Period and Commit Latency in Chain-Based Rotating Leader BFT2024 54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)10.1109/DSN58291.2024.00052(470-482)Online publication date: 24-Jun-2024
  • (2024)SoK on Blockchain Evolution and TaxonomyBlockchain – ICBC 202410.1007/978-3-031-77095-1_8(109-120)Online publication date: 15-Nov-2024
  • (2023)ThetacryptProceedings of the 24th International Middleware Conference: Demos, Posters and Doctoral Symposium10.1145/3626564.3629100(33-34)Online publication date: 11-Dec-2023
  • (2023)Abraxas: Throughput-Efficient Hybrid Asynchronous ConsensusProceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623191(519-533)Online publication date: 15-Nov-2023
  • (2023)A Review of Gaps between Web 4.0 and Web 3.0 Intelligent Network Infrastructure2023 IEEE 9th World Forum on Internet of Things (WF-IoT)10.1109/WF-IoT58464.2023.10539509(1-6)Online publication date: 12-Oct-2023
  • (2023)SoK: Distributed Randomness Beacons2023 IEEE Symposium on Security and Privacy (SP)10.1109/SP46215.2023.10179419(75-92)Online publication date: May-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media