From Blockchain Consensus Back to Byzantine Consensus
In this paper, we present the largest experiment of a blockchain system to date. We discuss the mainstream blockchain consensus algorithms and how the classic Byzantine consensus can be revisited in a blockchain context.
Consensus is a fundamental problem of distributed computing. While this problem has been known to be unsolvable since 1985, existing protocols were designed these past three decades to solve consensus under various assumptions.
Today, with the recent advent of blockchains, various consensus implementations were proposed to make replicas reach an agreement on the order of transactions, updating what is often referred to as a distributed ledger. Very little work has, however, been devoted to exploring its theoretical ramifications. As a result, existing proposals are sometimes misunderstood, and it is often unclear whether the problems arising during their executions are due to implementation bugs or more fundamental design issues.
In this paper, we discuss the mainstream blockchain consensus algorithms and how the classic Byzantine consensus can be revisited for the blockchain context. In particular, we discuss proof-of-work consensus and illustrate the differences between the Bitcoin and the Ethereum proof-of-work consensus algorithms.
This paper was written by our CTO and Founder Professor Vincent Gramoli.
Professor Vincent Gramoli is a full professor at the University of Sydney. He is a researcher in the field of distributed systems and algorithms, with a focus on the design and analysis of distributed systems and algorithms for shared memory and data-centric systems, including distributed hash tables, distributed shared memory and transactional memory. He has published numerous papers in top-tier conferences and journals in the field and has received several awards for his research. He is also currently serving as the Head of Concurrent Systems Research Group at the University of Sydney.