!!! Overview [{$pagename}] is the process of reaching [Consensus] on one result among a group of [Entities] ([Community]) [{$pagename}] becomes difficult when the [Entities] or their [communication] medium may experience failures. ([Unreliable protocol]). [{$pagename}] requires all parties in the [Community] to reach a “[consensus]” on a single [state] of the [Distributed system]. Any [consensus] [protocol] has three key properties based upon which its applicability and efficacy can be determined. [1] * Safety – A consensus protocol is determined to be safe if all nodes produce the same output and the outputs produced by the nodes are valid according to the rules of the protocol. This is also referred to as consistency of the shared [state]. * Liveness - A consensus protocol guarantees liveness if all non-faulty nodes participating in consensus eventually produce a value. * Fault Tolerance – A consensus protocol provides fault tolerance if it can recover from failure of a [node] participating in consensus. !! [{$pagename}] and [Distributed Ledger Technology] ([Blockchains]) [Distributed Ledger Technology] provides the absolute __truth__ of the [state] of the [Distributed system]. [Distributed Ledger Technology] uses mathematics ([Cryptography]), economics, and game theory to incentivize all parties in the system to reach a [consensus] on a single [state] of the [Blockchain]. Every new [block] that’s added to the [blockchain] in this manner adds more [security] to the [Distributed system] because an [attacker] who wants to create new [blocks] that overwrite a part of history would need to consistently solve for the puzzle faster than anyone else in the network. This is [practically|Computational Hardness Assumption] impossible to do, making it impossible to alter the data inside these [blocks]. This is why users [trust] continue to trust the [Blockchain]. When a [Transaction] happens on the [blockchain], the [Trust Anchor] is the miners who are giving up their [resources] to do some work to ensure no [double spending]. !! [{$pagename}] [Examples] * [Paxos Protocol] * [Proof-of-Work] ([PoW]) * [Proof-of-Stake] ([PoS]) * [Byzantine Fault Tolerance] ** [Ripple Consensus Protocol Algorithm] ** [Stellar Consensus Protocol] ** [Plenum Byzantine Fault Tolerant Protocol] ** [Practical Byzantine Fault Tolerance] ([PBFT]) ** [Redundant Byzantine Fault Tolerance] ([RBFT]) ** [Federated Byzantine Agreement] !! More Information There might be more information for this subject on one of the following: [{ReferringPagesPlugin before='*' after='\n' }] ---- * [#1] - [Understanding Blockchain Consensus Models|https://www.persistent.com/wp-content/uploads/2017/04/WP-Understanding-Blockchain-Consensus-Models.pdf|target='_blank'] - based on information obtained 2018-02-05-