Buterin's Scalability Trilemma viewed through a State-change-based Classification for Common Consensus Algorithms

Consensus algorithms in distributed systems have attracted much attention in recent studies. However, there is a need for a classification that leads to better understanding and helps direct the deployment of such algorithms. In this paper, we classify common consensus algorithms based on how they decide the order of system state changes. We then determine the extent to which each category prioritizes scalability, decentralization, and security. As with other engineering design scenarios, this is a choose-two tradeoff. Our key contribution is that, based on this taxonomy of tradeoffs, we are able to discern the types of consensus algorithms that work well within the application area(s) for a given distributed system. We find that a dichotomy of algorithms between leader-based and voting-based consensus algorithms emerges from this taxonomy. Applications of this classification scheme include several different categories of distributed ledgers such as blockchains and directed acyclic graphs (DAGs).

[1]  Ittai Abraham,et al.  HotStuff: BFT Consensus with Linearity and Responsiveness , 2019, PODC.

[2]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[3]  Yonggang Wen,et al.  A Survey on Consensus Mechanisms and Mining Management in Blockchain Networks , 2018, ArXiv.

[4]  Ghassan O. Karame,et al.  On the Security and Scalability of Bitcoin's Blockchain , 2016, CCS.

[5]  A. Sonnino,et al.  State Machine Replication in the Libra Blockchain , 2019 .

[6]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[7]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[8]  John K. Ousterhout,et al.  In Search of an Understandable Consensus Algorithm , 2014, USENIX ATC.

[9]  Nikos Fotiou,et al.  Decentralized name-based security for content distribution using blockchains , 2016, 2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[10]  Harald Vranken,et al.  Sustainability of bitcoin and blockchains , 2017 .

[11]  M. Sethumadhavan,et al.  Survey of consensus protocols on blockchain applications , 2017, 2017 4th International Conference on Advanced Computing and Communication Systems (ICACCS).

[12]  Marko Vukolic,et al.  Blockchain Consensus Protocols in the Wild , 2017, DISC.

[13]  Abdul Wahab,et al.  Survey of Consensus Protocols , 2018, ArXiv.

[14]  Ghassan O. Karame,et al.  Is Bitcoin a Decentralized Currency? , 2014, IEEE Security & Privacy.

[15]  David C. Mills,et al.  Distributed Ledger Technology in Payments, Clearing, and Settlement , 2016 .

[16]  Michael J. Fischer,et al.  The Consensus Problem in Unreliable Distributed Systems (A Brief Survey) , 1983, FCT.

[17]  Zibin Zheng,et al.  An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends , 2017, 2017 IEEE International Congress on Big Data (BigData Congress).

[18]  Hiroyuki Yamada,et al.  What’s So Different about Blockchain? — Blockchain is a Probabilistic State Machine , 2016, 2016 IEEE 36th International Conference on Distributed Computing Systems Workshops (ICDCSW).

[19]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[20]  Sunny King,et al.  PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake , 2012 .

[21]  Ivana Podnar Žarko,et al.  Distributed Ledger Technology: Blockchain Compared to Directed Acyclic Graph , 2018, 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS).

[22]  Martijn Bastiaan,et al.  Preventing the 51%-Attack: a Stochastic Analysis of Two Phase Proof of Work in Bitcoin , 2015 .

[23]  Catherine Mulligan,et al.  Distributed ledger technology: Applications and implications , 2017 .

[24]  Guido Governatori,et al.  Evaluation of Logic-Based Smart Contracts for Blockchain Systems , 2016, RuleML.

[25]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[26]  S. Popov The Tangle , 2015 .

[27]  Kyungbaek Kim,et al.  A Survey about Consensus Algorithms Used in Blockchain , 2018, J. Inf. Process. Syst..

[28]  Timothy A. K. Zakian,et al.  The Libra Blockchain , 2019 .

[29]  Moni Naor,et al.  Pricing via Processing or Combatting Junk Mail , 1992, CRYPTO.

[30]  H. London The Meaning of Decentralization , 1975 .