- In order to prevent denial-of-service attacks and achieve consensus, blockchain-based networks require that the rate of block creation is controlled.
- Block verification is used to prevent network spam and control block times (intervals between block creations).
- There are many block verification methods such as proof-of-work and proof-of-stake, each lending themselves to different applications, and having different drawbacks.
Blockchains are built on networks of nodes that host the chains themselves, and nodes that bundle transaction data into blocks, known as block creators. In order to prevent block creation from becoming an avenue for attacks such as a DDoS (Distributed Denial-of-Service), modern blockchains require that new blocks are verified.
A verification process allows for the number of new blocks being added to the chain to be kept at a desired level. This means that a network with block verification cannot be flooded with new blocks, keeping a denial-of-service attack from being orchestrated on the network.
There are multiple methods that can be used to verify new blocks being added to the chain, with proof-of-work being the most common. Different verification methods may be used for different blockchains that serve specific purposes, so a given verification method cannot be easily written off as inferior to any other. However, block verification methods have strengths and weaknesses that can be explored.
Here are some of the block verification protocols that are currently in use.
Proof-of-work is the original and most popular block verification method, and is implemented by the Bitcoin network. The proof-of-work protocol requires that block creators solve computationally difficult problems in order to add blocks to the chain.
Block creation with a proof-of-work protocol generally requires that the block creator computes a specific cryptographic hash in order to push the block to the chain. Often, this hash is computed from the contents of the block itself, which contains the hash of the previously mined block.
The Bitcoin proof-of-work protocol requires that hashes start with a specified number of zeros. The number of zeros required is based on the difficulty level of the block, with a higher difficulty requiring a hash with more zeroes to be found, and is periodically increased to keep the block time consistent.
In a proof-of-work system, block creators generally get given a reward by the network for performing the hash, as well as the fees from transactions on the block, which has led to the use of the term ‘miner’ to refer to a block creator that is doing so for the reward.
A proof-of-work system is very effective for limiting the block time of a network, as it requires a predetermined amount of computational work (on average) for a block to be created. However, this trait also acts as a weakness, as it forces the network to require a huge amount of computational power to run, with enough adoption.
The use of a proof-of-work system has been demonstrated, through Bitcoin, to have a hugely negative impact on the environment when adopted en masse. Ultimately, the computational power required to verify blocks results in vast amounts of electricity being consumed, which makes block creation very expensive and has a damaging effect on the environment.
Proof-of-stake is a protocol that avoids the requirement to perform computational work by procedurally choosing the creator of each new block on the network. This is generally performed by using an average weighted by the holdings (or stake) of each potential block creator on the network.
The use of a proof-of-stake protocol allows for the block time to be kept constant by choosing block creators with a predetermined frequency. Additionally, proof-of-stake systems generally omit the use of a block reward, and instead pay only transaction fees to block creators.
The advantage of proof-of-stake verification is in the fact that the most of the computational work has been eliminated from the block creation process. For each new block, requiring the calculation of a difficult hash, the only calculation required is the selection of a block creator.
Proof-of-stake networks can run much more cheaply than proof-of-work networks, where the main expenses lie in solving hashes. They also have a negligible impact on the environment in comparison to proof-of-work based blockchains.
The problem with the use of a proof-of-stake protocol is that it does not have the fundamental block time limit that a proof-of-work protocol has. A proof-of-work system would cost huge amounts of money to attack, due to the cost of creating a block. In a proof-of-stake system, block creators could, for example, prevent a consensus by maintaining multiple different blockchain histories at a negligible cost.
Proof-of-burn is a lesser known protocol that requires block creators to ‘burn’ coins, by sending them to a provably inaccessible address, or an address that cannot spend coins. This protocol replaces the notion of ‘difficulty’ in mining blocks with the requirement of spending coins to create blocks, which is ‘difficult’ for the block creator while preserving computing power.
The obvious advantage of proof-of-burn is the fact that it does not consume much computational power. It still requires that resources are forfeit, but rather than tangible resources such as power and machinery, cryptocurrency is forfeit, eliminating the impact on the environment.
The disadvantages of proof-of-burn come from the fact that in order to incentivise mining, block creators should be rewarded in some form.
If block creators are rewarded in the same cryptocurrency that they forfeited during creation, then they will either lose some money, disincentivising block creation, or gain money, making the protocol profitable and virtually computationally free, which will result in a flood of blocks on the chain, rendering the verification useless. As a result, it is very difficult to create blockchains that use a proof-of-burn protocol requiring the forfeit of their own currency.
Other verification protocols
Proof-of-authority: Blocks are validated by approved accounts, which have the owner’s identity verified on the blockchain. Potential validators have strict eligibility requirements, such as holding a notary license. No work is required as identity is used to validate transactions.
Proof-of-space: Block creators forfeit disk space rather than currency or computational power in order to verify blocks. Similar to proof-of-work, but generally requires less energy.
Delegated proof-of-stake: Similar to proof-of-stake, but stake holders vote on ‘delegates’ that carry out the process of block creation, rather than creating the blocks themselves. The act of voting on block creators allows for the consensus of the holders on the network to determine who has the authority to create blocks.
What method is best?
Ultimately, there is no strictly superior method of block verification. However, it is apparent that the traditional proof-of-work model of block verification has a huge impact on the environment, and consumes vast amounts of power. It seems that newer, more sophisticated methods for block verification have arisen as an attempt to eliminate this shortcoming of proof-of-work. While the elimination of the computational cost of proof-of-work protocols is highly desirable, the alternatives generally have their own shortcomings that have prevented them from eclipsing proof-of-work as a verification model.