Saturday, October 30, 2021

Byzantine Fault Tolerance; what you should know.

Fault tolerance is the feature of a distributed network to reach consensus (agreement on the same value) even when some of the nodes in the network fail to respond or respond with incorrect information.

Ideally, Byzantine fault tolerance should be 50% assuming zero network latency. It is actually around 46% (Ethereum) and 49.5% (Bitcoin) fault tolerant under actually observed conditions, but it goes down to 33% if network latency is equal to the block time and reduces to zero as network latency approaches infinity.

Reaching consensus on distributed networks in a safe and efficient way is difficult. Messages can get somehow delayed, destroyed or lost. The only way to achieve consensus of distributed systems is by having at least ⅔ or more reliable and honest network nodes. This means that if the majority of the network decides to act maliciously, the system is susceptible to failures and attacks (such as the 51% attack).

There are different approaches/ways (proofs) for a blockchain to achieve Byzantine fault tolerance leading to the consensus algorithms.

Proof of Work (POW) mining requires huge amounts of energy consumption to fuel computational power; Proof of Stake (PoS) gives mining power based on the percentage of coins held by a miner.

There is also Proof of History (PoH); a sequence of computation that provides a way to cryptographically verify passage of time between two events using a cryptographically secure function written so that the output cannot be predicted from the input, and must be completely executed to generate the output. Solana combines Proof-of-Stake with Proof-of-History.

TLDR; It’s the property of a system that is able to resist failure. PoW has proven to be one of the most secure and reliable implementations for blockchain networks in solving this problem.

No algorithm is not 100% tolerant to Byzantine faults


No comments:

Post a Comment