GoldenGolden
Byzantine fault tolerance

Byzantine fault tolerance

Byzantine fault tolerance is a property of a distributed system such that it can tolerate components of a system failing in arbitrary ways, processing incorrect states, rather than simply stopping or crashing.

All edits

Edits on 1 Mar, 2020
Golden AI"Attach Wikidata entity ID"
Golden AI edited on 1 Mar, 2020
Edits made to:
Infobox (+1 properties)
Infobox
Wikidata entity ID
Q1353446
Edits on 8 Feb, 2019
Dawson Sewell
Dawson Sewell edited on 8 Feb, 2019
Edits made to:
Related Topics (+1 topics)
Dawson Sewell
Dawson Sewell edited on 8 Feb, 2019
Edits made to:
Related Topics (+1 topics)
Edits on 30 Nov, 2018
Daniel Frumkin
Daniel Frumkin approved a suggestion from Golden's AI on 30 Nov, 2018
Edits made to:
Related Topics (+1 topics)
Related Topics
Edits on 15 Nov, 2018
Jude Gomila
Jude Gomila approved a suggestion from Golden's AI on 15 Nov, 2018
Edits made to:
Article (+18/-18 characters)
Article
Edits on 14 Nov, 2018
Rachel Phythian
Rachel Phythian approved a suggestion from Golden's AI on 14 Nov, 2018
Edits made to:
Article (+7/-7 characters)
Article

Byzantine fault tolerance is an important property for blockchains, as bad actors have economic incentives to participate in blockchain networks and cause faults maliciously for their own financial gain. BitcoinBitcoin uses a Proof-of-Work (PoW) consensus system as a solution in which their is an economic disincentive to attempt to attack Bitcoin. Bitcoin's solution for Byzantine fault tolerance also includes both public-key cryptography and atomic broadcasting.

Melanie Manipula
Melanie Manipula approved a suggestion from Golden's AI on 14 Nov, 2018
Edits made to:
Related Topics (+1 topics)
Related Topics
Melanie Manipula
Melanie Manipula approved a suggestion from Golden's AI on 14 Nov, 2018
Edits made to:
Related Topics (+1 topics)
Related Topics
Edits on 13 Nov, 2018
Jude Gomila
Jude Gomila approved a suggestion from Golden's AI on 13 Nov, 2018
Edits made to:
Article (+9/-9 characters)
Article

This system property was named after the Byzantine General's Problem which was outlined in a 1982 research paper from MicrosoftMicrosoft. The paper uses a real world analogy in which a group of generals from the Byzantine army have encircled a city and must now agree collectively on whether or not to attack or retreat. If some generals lead their portions of the army to attack while others retreat, the odds of a successful attack diminish.

Daniel Frumkin"Wrote article, added links for further reading and videos explaining the byzantine general's problem and byzantine fault tolerance. "
Daniel Frumkin edited on 13 Nov, 2018
Edits made to:
Article (+2674 characters)
Further reading (+3/-1 rows) (+12/-2 cells) (+598 characters)
Documentaries, videos and podcasts (+3 rows) (+9 cells) (+349 characters)
Article

Decentralized networks are designed such that multiple separate actors can follow a common set of rules in order to achieve a consensus on a single state for the distributed system. Byzantine fault tolerance is a measure of the network's ability to defend against failures that make it more difficult to achieve a consensus. Some examples of possible Byzantine failures are:

  • Hardware components crashing or breaking
  • Network congestion and disconnection
  • Requests are processed incorrectly
  • Local states (the system states of one of the actors) are corrupted
  • Producing incorrect or inconsistent outputs
  • Malicious attacks from individuals or groups in the network

This system property was named after the Byzantine General's Problem which was outlined in a 1982 research paper from Microsoft. The paper uses a real world analogy in which a group of generals from the Byzantine army have encircled a city and must now agree collectively on whether or not to attack or retreat. If some generals lead their portions of the army to attack while others retreat, the odds of a successful attack diminish.

To complicate matters, the generals are physically separated and must send their attack/retreat votes via messengers to each of the other generals, individually. This could fail if the messengers can't deliver the votes or choose to forge false votes maliciously (i.e. telling some generals one vote and other generals the opposite vote), resulting in some of the generals believing that their is a majority decision for the entire army to attack while others believe that the decision is to retreat.

In computer terms, the generals are processors while the undelivered or forged votes are possible failures such as faulty processors or faulty system components. A couple of prominent solutions to the Byzantine General's Problem are:

  1. Using public-key cryptography to achieve unforgeable digital signatures (i.e. unforgeable messages).
  2. Broadcasting all messages to all of the participants in the network simultaneously, which is known as atomic broadcasting.

Decentralized systems that need to be highly Byzantine fault tolerant can implement both of these solutions together, along with other possible solutions as necessary.

...

Byzantine fault tolerance is an important property for blockchains, as bad actors have economic incentives to participate in blockchain networks and cause faults maliciously for their own financial gain. Bitcoin uses a Proof-of-Work (PoW) consensus system as a solution in which their is an economic disincentive to attempt to attack Bitcoin. Bitcoin's solution for Byzantine fault tolerance also includes both public-key cryptography and atomic broadcasting.

Further reading

Title
Author
Link
Type

Re: Bitcoin P2P e-cash paper

Web

Understanding Blockchain Fundamentals, Part 1: Byzantine Fault Tolerance

Georgios Konstantopoulos

Web

Documentaries, videos and podcasts

Title
Date
Link

Consensus Algorithms, Blockchain Technology and Bitcoin UCL - by Andreas M. Antonopoulos

January 31, 2016

L6: Byzantine Fault Tolerance

October 21, 2016

The Byzantine Generals Problem - An Intro To Blockchain

August 8th, 2016

Edits on 7 Aug, 2018
Golden AI"Linkify text links in standard tables"
Golden AI edited on 7 Aug, 2018
Edits made to:
Further reading (+42/-42 characters)
Further reading

Author
Title
Link
Type

Miguel Castro and Barbara Liskov

Practical Byzantine Fault Tolerance

http://pmg.csail.mit.edu/papers/osdi99.pdfhttp://pmg.csail.mit.edu/papers/osdi99.pdf

Academic paper

Edits on 5 Jun, 2018
Tianchang He
Tianchang He edited on 5 Jun, 2018
Edits made to:
Further reading (+5/-5 characters)
Further reading

Author
Title
Link
Type

Miguel Castro and Barbara Liskov

Practical Byzantine Fault Tolerance

http://pmg.csail.mit.edu/papers/osdi99.pdf

Academic Paperpaper

Edits on 1 Jun, 2018
Golden AI"Merging standard tables"
Golden AI edited on 1 Jun, 2018
Edits made to:
Academic papers (-1 rows) (-3 cells) (-109 characters)
Further reading (+1 rows) (+4 cells) (+123 characters)
Academic papers

Author
Title
Link

Miguel Castro and Barbara Liskov

Practical Byzantine Fault Tolerance

http://pmg.csail.mit.edu/papers/osdi99.pdf

Further reading

Author
Title
Link
Type

Miguel Castro and Barbara Liskov

Practical Byzantine Fault Tolerance

http://pmg.csail.mit.edu/papers/osdi99.pdf

Academic Paper

Edits on 6 Oct, 2017
Alex Dean
Alex Dean edited on 6 Oct, 2017
Edits made to:
Description (+209 characters)
Academic papers (+1 rows)
Further reading (+1 rows)
Categories (+2 topics)
Related Topics (+2 topics)
Topic thumbnail

Byzantine fault tolerance

Byzantine fault tolerance is a property of a distributed system such that it can tolerate components of a system failing in arbitrary ways, processing incorrect states, rather than simply stopping or crashing.

Academic papers

Author
Title
Link

Miguel Castro and Barbara Liskov

Practical Byzantine Fault Tolerance

http://pmg.csail.mit.edu/papers/osdi99.pdf

Further reading

Author
Title
Link

Categories
Related Topics
Edits on 1 Jan, 2017
Golden AI"Initial topic creation"
Golden AI created this topic on 1 Jan, 2017
Edits made to:
Article
Topic thumbnail

 Byzantine fault tolerance

Byzantine fault tolerance is a property of a distributed system such that it can tolerate components of a system failing in arbitrary ways, processing incorrect states, rather than simply stopping or crashing.

Golden logo
Text is available under the Creative Commons Attribution-ShareAlike 4.0; additional terms apply. By using this site, you agree to our Terms & Conditions.