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!
== Mitigation == The objective of Byzantine fault tolerance is to be able to defend against failures of system components with or without symptoms that prevent other components of the system from reaching an agreement among themselves, where such an agreement is needed for the correct operation of the system. The remaining operationally correct components of a Byzantine fault tolerant system will be able to continue providing the system's service as originally intended, assuming there are a sufficient number of accurately-operating components to maintain the service. When considering failure propagation only via errors, Byzantine failures are considered the most general and most difficult class of failures among the [[Failure cause|failure modes]]. The so-called fail-stop failure mode occupies the simplest end of the spectrum. Whereas the fail-stop failure mode simply means that the only way to fail is a [[Node (computer science)|node]] crash, detected by other nodes, Byzantine failures imply no restrictions on what errors can be created, which means that a failed node can generate arbitrary data, including data that makes it appear like a functioning node to a subset of other nodes. Thus, Byzantine failures can confuse failure detection systems, which makes fault tolerance difficult. Despite the allegory, a Byzantine failure is not necessarily a [[security]] problem involving hostile human interference: it can arise purely from physical or software faults. The terms fault and failure are used here according to the standard definitions<ref name="AvizienisLaprie2004">{{cite journal| last1=Avizienis | first1=A.| last2=Laprie| first2=J.-C.| last3=Randell| first3=Brian| author-link3=Brian Randell| last4=Landwehr| first4=C.| title=Basic concepts and taxonomy of dependable and secure computing| journal=IEEE Transactions on Dependable and Secure Computing| volume=1| issue=1| year=2004| pages=11β33| issn=1545-5971 | doi=10.1109/TDSC.2004.2| hdl=1903/6459| s2cid=215753451| hdl-access=free}}</ref> originally created by a joint committee on "Fundamental Concepts and Terminology" formed by the [[IEEE]] Computer Society's Technical Committee on Dependable Computing and Fault-Tolerance and [[IFIP]] Working Group 10.4 on Dependable Computing and Fault Tolerance.<ref>{{cite web| title = Dependable Computing and Fault Tolerance| url = http://www.dependability.org| access-date = 2015-03-02| archive-url = https://web.archive.org/web/20150402141319/http://www.dependability.org/| archive-date = 2015-04-02| url-status=live}}</ref> See also [[dependability]]. Byzantine fault tolerance is only concerned with broadcast consistency, that is, the property that when a component broadcasts a value to all the other components, they all receive exactly this same value, or in the case that the broadcaster is not consistent, the other components agree on a common value themselves. This kind of fault tolerance does not encompass the correctness of the value itself; for example, an adversarial component that deliberately sends an incorrect value, but sends that same value consistently to all components, will not be caught in the Byzantine fault tolerance scheme.
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)