# Consensus Algorithm

#### Practical Byzantine Fault Tolerance (PBFT)

* Developed by **Barbara Liskov** and **Miguel Castro** and introduced in 1999
* Proof of Stake chains like Cosmos and Polkadot have elements in their design inspired from PBFT

1. A party will listen to numerous transactions until it can form a block of these transactions. We’ll refer to this party as a **proposer**, since they **propose** a block.
2. Once a block has been proposed, everyone participates in a **pre-vote** to confirm that they heard the same block. It’s important to note that a block could be incorrect/malicious but still be valid in the pre-vote stage since everyone’s simply trying to come to consensus that they received the **same** data/block.
3. Once more than ⅔ of the participants agree that they received the same block, they move to the **pre-commit** step. A pre-commit vote is then cast to determine whether this is a **valid** block and nothing malicious is going on.
4. If more than ⅔ of the participants vote that the block is indeed valid and correct then we can successfully **commit** this block to the blockchain.
5. The height of the blockchain is increased and steps 1–5 are repeated.

![](https://3134266409-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lb2UWpq1FpSUkbHLXcc%2F-LcCCBkVq2jiclaKijPx%2F-LcCCFEJwsmpQu2XrHEr%2Fimage.png?alt=media\&token=622c223f-ee03-49e2-b778-696f9a71a7b5)

ATOMs held by users can be used to **become validators** in the system or to **delegate** ATOMs to a validator instead. The Cosmos blockchain will have **100 validators** to begin with and plan to increase the limit via a governance parameter in the future.

![](https://3134266409-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lb2UWpq1FpSUkbHLXcc%2F-LcCKrLj01OvwyhTbwft%2F-LcCLBLTcl1209L8Rc0j%2Fimage.png?alt=media\&token=c0d255b0-1159-4b88-84f1-9fda8ede75ef)

####
