ABSTRACT
In the past five years or so, numerous blockchain projects have made tremendous progress towards improving permissioned consensus protocols (partly due to their promised applications in Proof-of-Stake cryptocurrencies). Although a significant leap has silently taken place in our understanding of consensus protocols, it is rather difficult to navigate this body of work, and knowledge of the new techniques appears scattered.
In this paper, we describe an extremely simple and natural paradigm called Streamlet for constructing consensus protocols. Our protocols are inspired by the core techniques that have been uncovered in the past five years of work; but to the best of our knowledge our embodiment is simpler than ever before and we accomplish this by taking a "streamlining" idea to its full potential. We hope that our textbook constructions will help to decipher the past five years of work on consensus partly driven by the cryptocurrency community --- in particular, how remarkably simple the new generation of consensus protocols has become in comparison with classical mainstream approaches such as PBFT and Paxos.
- Ittai Abraham, Dahlia Malkhi, Kartik Nayak, Ling Ren, and Maofan Yin. Sync hotstuff: Simple and practical synchronous state machine replication. Cryptology ePrint Archive, Report 2019/270, 2019. https://eprint.iacr.org/2019/270.Google Scholar
- Vitalik Buterin and Vlad Zamfir. Casper. https://arxiv.org/abs/1710.09437, 2017.Google Scholar
- Miguel Castro and Barbara Liskov. Practical byzantine fault tolerance. In OSDI, 1999.Google ScholarDigital Library
- T-H. Hubert Chan, Rafael Pass, and Elaine Shi. Pala: A simple partially synchronous blockchain. Cryptology ePrint Archive, Report 2018/981, 2018. https://eprint.iacr.org/2018/981.Google Scholar
- T-H. Hubert Chan, Rafael Pass, and Elaine Shi. Pili: An extremely simple synchronous blockchain. Cryptology ePrint Archive, Report 2018/980, 2018. https://eprint.iacr.org/2018/980.Google Scholar
- Jing Chen and Silvio Micali. Algorand: The efficient and democratic ledger. https://arxiv.org/abs/1607.01341, 2016.Google Scholar
- Phil Daian, Rafael Pass, and Elaine Shi. Snow white: Robustly reconfigurable consensus and applications to provably secure proofs of stake. In Financial Crypto, 2019.Google ScholarCross Ref
- Cynthia Dwork, Nancy Lynch, and Larry Stockmeyer. Consensus in the presence of partial synchrony. J. ACM, 1988.Google ScholarDigital Library
- Juan A. Garay, Aggelos Kiayias, and Nikos Leonardos. The bitcoin backbone protocol: Analysis and applications. In Eurocrypt, 2015.Google ScholarCross Ref
- Rachid Guerraoui, Nikola Knežević, Vivien Quéma, and Marko Vukolić. The next 700 bft protocols. In Proceedings of the 5th European Conference on Computer Systems, EuroSys '10, pages 363--376, New York, NY, USA, 2010. ACM.Google ScholarDigital Library
- Timo Hanke, Mahnush Movahedi, and Dominic Williams. Dfinity technology overview seriesconsensus system. https://dfinity.org/tech.Google Scholar
- Aggelos Kiayias, Alexander Russell, Bernardo David, and Roman Oliynykov. Ouroboros: A provably secure proof-of-stake blockchain protocol. In Crypto, 2017.Google ScholarCross Ref
- Ramakrishna Kotla, Lorenzo Alvisi, Michael Dahlin, Allen Clement, and Edmund L. Wong. Zyzzyva: speculative byzantine fault tolerance. In Proceedings of the 21st ACM Symposium on Operating Systems Principles 2007, SOSP 2007, Stevenson, Washington, USA, October 14--17, 2007, pages 45--58, 2007.Google ScholarDigital Library
- Leslie Lamport. The part-time parliament. ACM Trans. Comput. Syst., 1998.Google Scholar
- Leslie Lamport. Paxos made simple. ACM SIGACT News (Distributed Computing Column) 32, 4 (Whole Number 121, December 2001), pages 51--58, December 2001.Google Scholar
- Leslie Lamport, Robert Shostak, and Marshall Pease. The byzantine generals problem. ACM Trans. Program. Lang. Syst., 1982.Google Scholar
- Butler Lampson. The abcd's of paxos. In PODC, page 13, 2001.Google Scholar
- Jean-Philippe Martin and Lorenzo Alvisi. Fast byzantine consensus. IEEE Trans. Dependable Secur. Comput., 3(3), 2006.Google ScholarDigital Library
- Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. 2008.Google Scholar
- Diego Ongaro and John Ousterhout. In search of an understandable consensus algorithm. In Proceedings of the 2014 USENIX Conference on USENIX Annual Technical Conference, USENIX ATC'14, page 305--320, USA, 2014. USENIX Association.Google ScholarDigital Library
- Rafael Pass, Lior Seeman, and Abhi Shelat. Analysis of the blockchain protocol in asynchronous networks. In Eurocrypt, 2017.Google ScholarCross Ref
- Rafael Pass and Elaine Shi. Hybrid consensus: Efficient consensus in the permissionless model. In DISC, 2017.Google Scholar
- Rafael Pass and Elaine Shi. Rethinking large-scale consensus (invited paper). In CSF, 2017.Google Scholar
- Fred B. Schneider. Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Comput. Surv., 22(4):299--319, December 1990.Google ScholarDigital Library
- Elaine Shi. Streamlined blockchains: A simple and elegant approach (A tutorial and survey). In Advances in Cryptology - ASIACRYPT 2019 - 25th International Conference on the Theory and Application of Cryptology and Information Security, Kobe, Japan, December 8--12, 2019, Proceedings, Part I, pages 3--17, 2019.Google Scholar
- Elaine Shi. Streamlined blockchains: A simple and elegant approach (a tutorial and survey). In Asiacrypt, 2019.Google Scholar
- Robbert Van Renesse and Deniz Altinbuken. Paxos made moderately complex. ACM Comput. Surv., 47(3), February 2015.Google Scholar
- Maofan Yin, Dahlia Malkhi, Michael K. Reiter, Guy Golan-Gueta, and Ittai Abraham. Hotstuff: BFT consensus with linearity and responsiveness. In Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, PODC 2019, Toronto, ON, Canada, July 29 - August 2, 2019, pages 347--356, 2019.Google ScholarDigital Library
Recommendations
Streamlet: An Absurdly Simple, Textbook Blockchain Protocol
ASIA CCS '21: Proceedings of the 2021 ACM Asia Conference on Computer and Communications SecurityNumerous works in the past have focused on constructing simple and understandable distributed consensus protocols. In this talk, I will present an absurdly simple consensus protocol called Streamlet. The entire protocol is: every epoch, a leader ...
Comments