Decentralized cryptocurrencies such as Bitcoin and Ethereum enable distrusting parties (e.g., anonymous users on the Internet) to coordinate their financial operations. For instance, users can exchange assets, pay for some service, coordinate on a lottery, raise funds cooperatively, or use escrows. One of the main strengths of cryptocurrencies is that they enable such operations without relying on a trusted third party, such as a bank or a central administration.
Our aim is to understand the foundational blocks underlying cryptocurrency systems, then use this knowledge to obtain more efficient solutions. We study these systems from a distributed computing perspective. Concretely, we seek to get a thorough understanding of cryptocurrencies by deconstructing them into well-known primitives, e.g., consensus algorithms, atomic snapshots, read/write registers, failure detectors, etc.
Why Bitcoin is an Overkill
One of the main results we have obtained concerns decentralized payments, or the asset transfers problem. Bitcoin is one of the most popular solution to this problem. Like all current solutions, Bitcoin relies on a consensus algorithm, which is a very expensive building block. This reflects both in the poor performance of the Bitcoin platform as well as in its high energy costs. We showed that this building block is unnecessary, namely that implementing decentralized asset transfers does not require consensus. We introduce AT2 (Asynchronous Trustworthy Transfers), a class of algorithms for solving asset transfers in various models (shared memory, as well as in the deterministic & probabilistic message-passing models).
This result highlights the importance of studying distributed systems from first principles. We are currently working on several AT2 implementations. If you are a student interested in master or semester projects, please contact Prof. Rachid Guerraoui directly.
With help from the ZettaBytes channel (YouTube), we have created a series of explanatory videos where we describe the main ideas behind AT2:
Publications & Preprints
- Rachid Guerraoui, Petr Kuznetsov, Matteo Monti, Matej Pavlovic, and Dragos-Adrian Seredinschi. “AT2: Asynchronous Trustworthy Transfers”, (arXiv:1812.10844) ☞
- Rachid Guerraoui, Petr Kuznetsov, Matteo Monti, Matej Pavlovic, and Dragos-Adrian Seredinschi. “The Consensus Number of a Cryptocurrency”. In Proceedings of the 38th Annual ACM Symposium on Principles of Distributed Computing (PODC 2019) Extended version appears as (arxiv:1906.05574) ☞
- [Best paper award] Rachid Guerraoui, Petr Kuznetsov, Matteo Monti, Matej Pavlovic, and Dragos-Adrian Seredinschi. “Scalable Byzantine Reliable Broadcast”. In Proceedings of the International Symposium on Distributed Computing, 2019 (DISC 2019) Extended version appears as (arxiv:1908.01738) ☞
Members & collaborators
Our research is partially supported by an ERC Proof of Concept Grant. This project includes both lab members and outside collaborators:
- Prof. Rachid Guerraoui (EPFL) ☞
- Prof. Petr Kuznetsov (LTCI, Télécom ParisTech, University Paris-Saclay) ☞
- Matteo Monti (EPFL) ☞
- Matej Pavlovic (EPFL) ☞
- Dr. Yvonne-Anne Pignolet (Dfinity Foundation) ☞
- Dragos-Adrian Seredinschi (EPFL) ☞
- Athanasios Xygkis (EPFL) ☞