Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Byzantine Fault Tolerance For Distributed Ledgers Revisited

Published: 09 September 2022 Publication History

Abstract

The problem of Byzantine Fault Tolerance (BFT) has received a lot of attention in the last 30 years. Due to the popularity of Proof of Stake (PoS) blockchains in recent years, several BFT protocols have been deployed in the large scale of Internet environment. We analyze several popular BFT protocols such as Capser FFG/CBC-FBC for Ethereum 2.0 and GRANDPA for Polkadot. Our analysis shows that the security models for these BFT protocols are slightly different from the models commonly accepted in the academic literature. For example, we show that, if the adversary has a full control of the message delivery order in the underlying network, then none of the BFT protocols for Ethereum blockchain 2.0 and Polkadot blockchain could achieve liveness even in a synchronized network. Though it is not clear whether a practical adversary could actually control and re-order the underlying message delivery system (at Internet scale) to mount these attacks, it raises an interesting question on security model gaps between academic BFT protocols and deployed BFT protocols in the Internet scale. With these analysis, this article proposes a Casper CBC-FBC style binary BFT protocol and shows its security in the traditional academic security model with complete asynchronous networks. For partial synchronous networks, we propose a multi-value BFT protocol BDLS based on the seminal DLS protocol and show that it is one of the most efficient practical BFT protocols at large scale networks in the traditional academic BFT security model. The implementation of BDLS is available at https://github.com/yonggewang/bdls. Finally, we propose a multi-value BFT protocol XP for complete asynchronous networks and show its security in the traditional academic BFT security model.

References

[1]
M. Ali, J. Nelson, and A. Blankstein. 2018. Peer review: CBC Casper. Retrieved March 20, 2022 from https://medium.com/@muneeb/peer-review-cbc-casper-30840a98c89a.
[2]
M. Ben-Or. 1983. Another advantage of free choice: Completely asynchronous agreement protocols (extended abstract). In Proceedings of the 2nd Annual ACM Symposium on Principles of Distributed Computing, 27–30.
[3]
G. Bracha. 1984. An asynchronous (n-1)/3-resilient consensus protocol. In Proceedings of the 3rd Annual ACM Symposium on Principles of Distributed Computing, ACM. 154–162.
[4]
V. Buterin and V. Griffith. 2019. Casper the friendly finality gadget. arXiv:1710.09437v4. Retrieved March 20, 2022 from https://arxiv.org/abs/1710.094374v4.
[5]
C. Cachin, K. Kursawe, and V. Shoup. 2005. Random oracles in constantinople: Practical asynchronous byzantine agreement using cryptography. Journal of Cryptology 18, 3 (2005), 219–246.
[6]
Yvo Desmedt, Yongge Wang, and Mike Burmester. 2005. A complete characterization of tolerable adversary structures for secure point-to-point transmissions without feedback. In Proceedings of the International Symposium on Algorithms and Computation, Springer, 277–287.
[7]
D. Dolev and H. R. Strong. 1982. Polynomial algorithms for multiple processor agreement. In Proceedings of the 14th ACM Symposium on Theory of Computing, ACM, 401–407.
[8]
C. Dwork, N. Lynch, and L. Stockmeyer. 1988. Consensus in the presence of partial synchrony. JACM 35, 2 (1988), 288–323.
[9]
M. J. Fischer, N. A Lynch, and M. S. Paterson. 1985. Impossibility of distributed consensus with one faulty process. JACM 32, 2 (1985), 374–382.
[10]
J. Katz and C.-Y. Koo. 2009. On expected constant-round protocols for byzantine agreement. Journal of Computer and System Sciences, 75, 2 (2009), 91–112.
[11]
L. Lamport. 1998. The part-time parliament. ACM Transactions on Computer Systems 16, 2 (1998), 133–169.
[12]
L. Lamport, R. Shostak, and M. Pease. 1982. The Byzantine generals problem. ACM Transactions on Programming Languages and Systems 4, 3 (1982), 382–401.
[13]
D. Ongaro and J. Ousterhout. 2014. In search of an understandable consensus algorithm. In Proceedings of the 2014 USENIX Annual Technical Conference, 305–319.
[14]
M. Pease, R. Shostak, and L. Lamport. 1980. Reaching agreement in the presence of faults. JACM 27, 27 (1980), 228–234.
[15]
M. O. Rabin. 1983. Randomized byzantine generals. In Proceedings of the 24th IEEE FOCS. IEEE, 403–409.
[16]
Ethereum Research. 2018. CBC Casper FAQ. Retrieved November 27, 2018 from https://github.com/ethereum/cbc-casper/wiki/FAQ.
[17]
T. K. Srikanth and S. Toueg. 1987. Simulating authenticated broadcasts to derive simple fault-tolerant algorithms. Distributed Computing 2, 2 (1987), 80–94.
[18]
A. Stewart and E. Kokoris-Kogia. 2020. GRANDPA: A byzantine finality gadge. Retrieved March 20, 2022 from https://github.com/w3f/consensus/blob/master/pdf/grandpa.pdf.
[19]
Y. Wang and Y. Desmedt. 2001. Secure communication in multicast channels: The answer to Franklin and Wright’s question. Journal of Cryptology 14, 14 (2001), 121–135.
[20]
Y. Wang and Y. Desmedt. 2008. Perfectly secure message transmission revisited. IEEE Transaction on Information Theory 54, 54 (2008), 2582–2595.
[21]
Yongge Wang. 2019. Byzantine fault tolerance in partially connected asynchronous networks. Retrieved March 20, 2022 from http://eprint.iacr.org/2019/1460.
[22]
Yongge Wang. 2021. The adversary capabilities in practical byzantine fault tolerance. In Proceedings of the 17th International Workshop on Security and Trust Management, STM 2021, LNCS 13075, 1–20.
[23]
V. Zamfir. 2017. Casper the friendly ghost: A correct by construction blockchain consensus protocol. Retrieved March 20, 2022 from https://github.com/ethereum/research/tree/master/papers.
[24]
V. Zamfir, N. Rush, A. Asgaonkar, and G. Piliouras. 2018. Introducing the minimal cbc casper family of consensus protocols. Retrieved March 20, 2022 from https://github.com/cbc-casper/.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Distributed Ledger Technologies: Research and Practice
Distributed Ledger Technologies: Research and Practice  Volume 1, Issue 1
September 2022
124 pages
EISSN:2769-6480
DOI:10.1145/3557023
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 September 2022
Online AM: 01 June 2022
Accepted: 01 April 2022
Revised: 01 March 2022
Received: 01 November 2021
Published in DLT Volume 1, Issue 1

Author Tags

  1. Byzantine fault tolerance
  2. distributed computing
  3. partial synchronous networks
  4. security models
  5. blockchain

Qualifiers

  • Research-article
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 665
    Total Downloads
  • Downloads (Last 12 months)85
  • Downloads (Last 6 weeks)18
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Full Text

View this article in Full Text.

Full Text

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media