Blockchain is based on egalitarian principles. That’s a system of peers or equally privileged agents. If some of them unavailable, blockchain will continue to work due to his decentralized manner. Being a peer means share your personal resources to the network: disk space, GPU/CPU powers, RAM, network bandwidth and etc. The process is energy-consuming. It requires investments, reliability, and responsibility of the agent. In the blockchain, such agents are miners and nodes.
It’s vital to incentivize the agents to work honestly and provide the best service for the stability of the blockchain. As there are hundreds of thousands of nodes all over the globe, it’s also important to find a way to achieve a consensus between them. A consensus is an agreement or set of rules that every node must achieve in order to be able to validate transactions and blocks. If some block creates more Bitcoins than is allowed, all full nodes will reject the block even if some miners accepted it. That’s how it works, the block is accepted only if the consensus is achieved between every agent.
Let’s consider 2 popular types of consensus algorithms: Proof-of-Work, and Proof-of-Stake.
Proof of Work
Bitcoin blockchain implies miners, nodes and stakeholders. Miners solve mathematical puzzles to receive rewards from finding new blocks, adding them to the chain. They also validate transactions and check them to prevent the system from double-spending. Nodes propagate the blockchain all over the globe (they store the whole blockchain history including transactions and every block) and stakeholders. They invest in cryptocurrency, use it as a payment or trade it.
In Proof-of-Work, blockchains miners are used. They solve mathematical puzzles (energy, time and GPU/CPU consuming). If the miner solves the puzzle first, he or she receives a reward for the proof of the work done.
As there are thousands of miners the system should adjust the difficulty of puzzles at some time to prevent blockchain from inflation (every block should be created once in 10 minutes). The more miners in the game the more difficult the puzzle. Mining difficulty is being adjusted every 2 weeks.
The most powerful miners do not always win. The game is always a lottery, it prevents the system from being too centralized by mining pools. Mining pools are mining unions that pay dividends to participants for their work and computing powers. For example, if the pool mined a block, participants will receive dividends from it depending on the computing powers they provided to solve the puzzle.
The biggest issue is that Proof-of-work is an energy consuming method and due to resources used to provide electricity just for Bitcoin mining. For that reason, Ethereum is planning to abstain from PoW and go for Proof of Stake consensus in the near future.
Proof of Stake
Proof-of-Stake works differently and doesn’t imply rewards for finding blocks. There are also no miners doing work for a reward. Instead, the system chooses a block creator deterministically, depending on the wealth of one (stake). These block creators are called forgers. Forgers take network fees as a reward for transaction validation. Validation is the process when every transaction is being checked to protect the system from a double-spending or Sybil attack. Proof-of-work blockchains, for example: Bitcoin, Litecoin, Bitcoin Cash and Bitcoin Gold have a risk of such attacks on their networks. When mining difficulty decreases, it’s easier to buy enough power to make a 51% attack. Cryptos using Proof-of-Stake:
The list of blockchain consensuses, however, is way longer. There are many different technologies using different consensuses. There are also Delegated Proof-of-Stake (DPoS), Proof-of-Authority (PoA), Proof-of-Weight (PoWeight), Byzantine Fault Tolerance (BFT), Directed Acyclic Graphs (DAGs) and many others we will consider in our next articles.