From Principles to Practice: Algorithmic Insights from Building the Internet Computer
Abstract
The theoretical bedrock of distributed computing rests on foundational primitives: peer-to-peer protocols, Byzantine fault tolerance, state machine replication. But what happens when these principles are stretched to a global, evolving, decentralized compute platform intended to host arbitrary applications?
For the past seven years, our work has been dedicated to answering that question through the Internet Computer (IC)111https://www.internetcomputer.org, a public blockchain network designed for large-scale, general-purpose computation. The IC acts as a stateful serverless cloud[1], running over 900K applications for millions of users by implementing the Internet Computer Protocol (ICP)[2] in a sharded, Byzantine-fault-tolerant setup.
This talk explores the algorithmic insights gained from this journey. We will confront where our cherished theoretical models were challenged and had to be radically adapted, composed, or re-imagined. Specifically, we will dive into core problems like:
-
Scalable orchestration: Asynchronous and trustless composition of independent state machines.
-
Taming Non-Determinism: Designing protocols that allow deterministic replicated state machines to securely query external data.
-
The Paradox of Immutability: Enabling stateful upgrades for decentralized applications and even the underlying protocol stack without sacrificing security.
I will share the successful design patterns that emerged, detail which core protocols stood the test of time, and which others we overhauled. Finally, I will discuss the hard and sometimes surprising trade-offs we made and pose open research questions to address when designing the next generation of decentralized systems.
Keywords and phrases:
Internet Computer Protocol, blockchain, state machine replication, Byzantine fault toleranceCategory:
Invited Talk2012 ACM Subject Classification:
Computer systems organization Dependable and fault-tolerant systems and networks ; Theory of computation Distributed algorithmsEditors:
Andrei Arusoaie, Emanuel Onica, Michael Spear, and Sara Tucci-PiergiovanniSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
References
- [1] Maksym Arutyunyan, Andriy Berestovskyy, Adam Bratschi-Kaye, Ulan Degenbaev, Manu Drijvers, Islam El-Ashi, Stefan Kaestle, Roman Kashitsyn, Maciej Kot, Yvonne-Anne Pignolet, Rostislav Rumenov, Dimitris Sarlis, Alin Sinpalean, Alexandru Uta, Bogdan Warinschi, and Alexandra Zapuc. Decentralized and stateful serverless computing on the internet computer blockchain. In 2023 USENIX Annual Technical Conference (USENIX ATC 23), pages 329–343, Boston, MA, July 2023. USENIX Association. URL: https://www.usenix.org/conference/atc23/presentation/arutyunyan.
- [2] Jan Camenisch, Andrea Cerulli, David Derler, Manu Drijvers, Maria Dubovitskaya, Jens Groth, Timo Hanke, Gregory Neven, Yvonne-Anne Pignolet, Victor Shoup, Björn Tackmann, and Dominic Williams. The internet computer for geeks. Cryptology ePrint Archive, Paper 2022/087, 2022. URL: https://eprint.iacr.org/2022/087.
