Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Byzantine fault
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Applications == Several examples of Byzantine failures that have occurred are given in two equivalent journal papers.<ref name="DriscollHall2004" /><ref name="DriscollHall2003" /> These and other examples are described on the [[NASA]] DASHlink web pages.<ref>{{cite web |last=Driscoll |first=Kevin |date=2012-12-11 |title=Real System Failures |url=https://c3.nasa.gov/dashlink/resources/624/ |url-status=live |archive-url=https://web.archive.org/web/20150402190610/https://c3.nasa.gov/dashlink/resources/624/ |archive-date=2015-04-02 |access-date=2015-03-02 |website=DASHlink |publisher=[[NASA]]}}</ref> === Applications in computing === Byzantine fault tolerance mechanisms use components that repeat an incoming message (or just its signature, which can be reduced to just a single bit of information if self-checking pairs are used for nodes) to other recipients of that incoming message. All these mechanisms make the assumption that the act of repeating a message blocks the propagation of Byzantine symptoms. For systems that have a high degree of safety or security criticality, these assumptions must be proven to be true to an acceptable level of [[fault coverage]]. When providing proof through testing, one difficulty is creating a sufficiently wide range of signals with Byzantine symptoms.<ref name="NanyaGoosen1989">{{cite journal |last1=Nanya |first1=T. |last2=Goosen |first2=H.A. |year=1989 |title=The Byzantine hardware fault model |journal=IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems |volume=8 |issue=11 |pages=1226–1231 |doi=10.1109/43.41508 |issn=0278-0070}}</ref> Such testing will likely require specialized [[Fault injection|fault injectors]].<ref name="MartinsGandhi2013">{{cite book |last1=Martins |first1=Rolando |title=Middleware 2013 |last2=Gandhi |first2=Rajeev |last3=Narasimhan |first3=Priya |last4=Pertet |first4=Soila |last5=Casimiro |first5=António |last6=Kreutz |first6=Diego |last7=Veríssimo |first7=Paulo |year=2013 |isbn=978-3-642-45064-8 |series=Lecture Notes in Computer Science |volume=8275 |pages=41–61 |chapter=Experiences with Fault-Injection in a Byzantine Fault-Tolerant Protocol |doi=10.1007/978-3-642-45065-5_3 |issn=0302-9743 |s2cid=31337539}}</ref><ref>{{cite patent|country=US|number=7475318|title=Method for testing the sensitive input range of Byzantine filters|status=patent|fdate=2006-01-27|pridate=2005-01-28|gdate=2009-01-06|inventor=Kevin R. Driscoll|assign1=Honeywell International Inc.}}</ref> === Military applications === Byzantine errors were observed infrequently and at irregular points during endurance testing for the newly constructed [[Virginia-class submarine|''Virginia'' class submarines]], at least through 2005 (when the issues were publicly reported).<ref name="WalterEllis2005">{{cite book|last1=Walter|first1=C.|title=Ninth IEEE International Symposium on High-Assurance Systems Engineering (HASE'05)|last2=Ellis|first2=P.|last3=LaValley|first3=B.|chapter=The Reliable Platform Service: A Property-Based Fault Tolerant Service Architecture|year=2005|pages=34–43|doi=10.1109/HASE.2005.23|isbn=978-0-7695-2377-4|s2cid=21468069}}</ref> === Cryptocurrency applications === The [[Bitcoin network]] works in parallel to generate a [[blockchain]] with [[proof-of-work]] allowing the system to overcome Byzantine failures and reach a coherent global view of the system's state.<ref>{{Cite web |last=Rubby |first=Matt |date=20 January 2024 |title=How Byzantine Generals Problem Relates to You in 2024 |url=https://www.swanbitcoin.com/byzantine-generals-problem/ |access-date=2024-01-27 |website=Swan Bitcoin |language=en}}</ref><ref>{{Citation |last1=Tholoniat |first1=Pierre |title=Formal Verification of Blockchain Byzantine Fault Tolerance |date=2022 |work=Handbook on Blockchain |pages=389–412 |editor-last=Tran |editor-first=Duc A. |url=https://doi.org/10.1007/978-3-031-07535-3_12 |access-date=2024-01-27 |series=Springer Optimization and Its Applications |place=Cham |publisher=Springer International Publishing |language=en |doi=10.1007/978-3-031-07535-3_12 |isbn=978-3-031-07535-3 |last2=Gramoli |first2=Vincent |editor2-last=Thai |editor2-first=My T. |editor3-last=Krishnamachari |editor3-first=Bhaskar|arxiv=1909.07453 }}</ref> Some [[proof of stake]] blockchains also use BFT algorithms.{{sfn|Deirmentzoglou|Papakyriakopoulos|Patsakis|2019|p=28716}} === Blockchain Technology === Byzantine Fault Tolerance (BFT) is a crucial concept in [[Blockchain|blockchain technology]], ensuring that a network can continue to function even when some nodes<ref>{{Cite web |title=Node Operations |url=https://docs.klever.org/node-operations}}</ref> (participants) fail or act maliciously. This tolerance is necessary because blockchains are decentralized systems with no central authority, making it essential to achieve consensus among nodes, even if some try to disrupt the process. ==== Applications and Examples of Byzantine Fault Tolerance in Blockchain ==== '''Safety Mechanisms:''' Different blockchains use various BFT-based consensus mechanisms like Practical Byzantine Fault Tolerance (PBFT), Tendermint, and [[Delegated Proof of Stake (DPoS)]] to handle Byzantine faults. These protocols ensure that the majority of honest nodes can agree on the next block in the chain, securing the network against attacks and preventing [[double-spending]] and other types of fraud. Practical examples of networks include [[Hyperledger|Hyperledger Fabric]], [[Cosmos Blockchain|Cosmos]] and [[Klever blockchain|Klever]] in this sequence. '''51% Attack Mitigation:''' While traditional blockchains like Bitcoin use Proof of Work (PoW), which is susceptible to a [[51% attack]], BFT-based systems are designed to tolerate up to one-third of faulty or malicious nodes without compromising the network's integrity. '''Decentralized Trust:''' Byzantine Fault Tolerance underpins the trust model in [[Decentralization|decentralized]] networks. Instead of relying on a central authority, the network's security depends on the ability of honest nodes to outnumber and outmaneuver malicious ones. '''Private and Permissioned Blockchains:''' BFT is especially important in private or permissioned blockchains, where a limited number of known participants need to reach a consensus quickly and securely. These networks often use BFT protocols to enhance performance and security. === Applications in aviation === Some aircraft systems, such as the Boeing 777 [[Aircraft Information Management System]] (via its [[ARINC]] 659 SAFEbus network), the Boeing 777 flight control system, and the Boeing 787 flight control systems, use Byzantine fault tolerance; because these are real-time systems, their Byzantine fault tolerance solutions must have very low latency. For example, SAFEbus can achieve Byzantine fault tolerance within the order of a microsecond of added latency.<ref name="Zurawski2015">{{cite book | last1=M. | first1=Paulitsch | last2=Driscoll | first2=K. | editor-first=Richard | editor-last=Zurawski | title=Industrial Communication Technology Handbook, Second Edition | chapter-url=https://books.google.com/books?id=ppzNBQAAQBAJ | date=9 January 2015 | chapter=Chapter 48:SAFEbus | pages=48–1–48–26 | publisher=CRC Press | isbn=978-1-4822-0733-0}}</ref><ref name="HenzingerKirsch2001">{{cite book | author1 = Thomas A. Henzinger | author2 = Christoph M. Kirsch | title = Embedded Software: First International Workshop, EMSOFT 2001, Tahoe City, CA, USA, October 8-10, 2001. Proceedings | url = http://www.csl.sri.com/papers/emsoft01/emsoft01.pdf | date = 26 September 2001 | publisher = Springer Science & Business Media | isbn = 978-3-540-42673-8 | pages = 307– | access-date = 2015-03-05 | archive-url = https://web.archive.org/web/20150922114036/http://www.csl.sri.com/papers/emsoft01/emsoft01.pdf | archive-date = 2015-09-22 | url-status=live }}</ref><ref name="Yeh2001">{{cite book | last1=Yeh | first1=Y.C. | title=20th DASC. 20th Digital Avionics Systems Conference (Cat. No.01CH37219) | chapter=Safety critical avionics for the 777 primary flight controls system | volume=1 | year=2001 | pages=1C2/1–1C2/11 | doi=10.1109/DASC.2001.963311| isbn=978-0-7803-7034-0 | s2cid=61489128 }}</ref> The [[SpaceX Dragon]] considers Byzantine fault tolerance in its design.<ref>{{Cite web |url=https://lwn.net/Articles/540368/ |title=ELC: SpaceX lessons learned [LWN.net]<!-- Bot generated title --> |access-date=2016-07-21 |archive-url=https://web.archive.org/web/20160805064218/http://lwn.net/Articles/540368/ |archive-date=2016-08-05 |url-status=live }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)