I am going to discuss consensus algorithms. Lets first define what that is. I found this definition off of Geeks for Geeks website. A consensus algorithm is a procedure through which all the peers of the blockchain network reach a common agreement about the present state of the distributed ledger. The consensus protocol makes sure that every new block that is added is the one and only version and is the truth that is agreed upon all the nodes in the network.
Therefore, we have a lot of different consensus algorithms that various blockchains use. For example, bitcoin uses Proof of work(Pow) and you probably have heard that this involves miners that has to solve a equation and gets paid bitcoin for doing so. This involves a 51% consensus and this is all done with nodes that are all over the world. This is a pretty cool mechanism.
There are two main drawbacks to proof of work. The first is waste of energy, this is bad for the environment with all of the electricity that is used. The second major drawback is security. Proof of work provides good security only if there is a large network.
This brings us to the various algorithms that various blockchains have been trying to implement to solve this problem, either by building new blockchains or building blockchains that can be shared amongst other blockchains.
Here are a list of Consensus Algorithms
- Proof of work
- Proof of stake
- Delegated Proof- of -Stake
- Leased Proof-of-Stake
- Proof of Elapsed Time
- Practical Byzantine Fault Tolerance
- Simplified Byzantine Fault Tolerance
- Delegated Byzantine Fault Tolerance
- Directed Acyclic Graphs
You can look up all of those and see how they work. You can see that any algorithm has drawbacks. Sometimes you are sacrificing security or decentralization. I see companies building off of other protocols providing strength in areas that are weaker. For example, Polygon uses Ethereum's security while providing functionality in other aspects.