To continue where we left off in the previous part, this part delves further deeper into the various consensus mechanisms that have been making a lot of news lately and are being proven as worthy successors to the consensus problem. These algorithms have worked really well in theory but are yet to be adopted into practice.
Proof of Elapsed Time
The creation of Chipmaker Intel, this algorithm has been known to follow in Proof of Work’s footsteps but with a far less energy consumption. It is an algorithm that is often used on the permissioned blockchain networks to decide the mining rights or the block winners on the network. It is based on a simple principle of a fair lottery system where every single node is equally likely to be a winner, and that these chances are fairly spread over the largest possible number of participants.
The algorithm requires each participating node in the network to wait for a random amount of time on a timer and the first one to finish the designated waiting time is the winner for the new block. Each node on the network basically goes to sleep for a random amount of time generated and the one to wake up the first, that is the one with the shortest amount of sleeping time, wakes up and commits a new block to the blockchain.
Proof of elapsed time is designed to create a fair consensus model, mainly focusing on efficiency. The peculiarity in this is that there is a hardware support in the form of new CPU instructions to achieve the algorithm’s goal of verifying leaders in a legitimate manner. This allows apps to execute trusted code and ensures the fulfillment of both requirements – random selection of waiting time for participants and genuine completion of waiting time by winning participant.
Pros: Very energy efficient and does not require much expensive hardware
Cons: Settlement finality: users need to wait to be certain that their transaction will be recorded
Proof of Authority
Proof of Authority has been introduced as an algorithm which delivers instant transactions and seamless consensus over a truly distributed network. The transactions and blocks are basically validated by the approved accounts also known as validators. These validators run software allowing them to put transactions in blocks in an automated process. Proof of Authority lets individuals earn the rights to become validators, which gives them incentives to retain the position that they have gained. When PoA attaches the reputation to identity, validators are incentivized to uphold the transaction process, as they do not wish to have their identities attached to a negative reputation.
Staking identity is hard to obtain in terms of the candidates having to overcome the hurdle of passing notary exams. These exams filter out based on not just criminal records and good moral standings, they also take into account the commitment of the participant.
The algorithm only allows non-consecutive block approval from any one validator and hence minimizes the risk of serious damage.
Pros: Cost efficiency and accountability
Cons: Need to ensure the independence of validators
Proof of Bandwidth
This algorithm uses the concept of rewarding relays proportional to the amount of bandwidth they contribute to the network. There is also the case of malicious relays that might lead to improper self-reports about their bandwidths and hence there is a bandwidth speed measurement scheme used to determine how much each relay is contributing. Relays opportunistically measure and evaluate each other’s contributions to form an accurate consensus of relay bandwidth that has been shown to be resistant to attacks by malicious groups of colluding nodes.
This measurement process is done on a continuous basis whereas the consensus is formed periodically. A bank entity is responsible for storing and tracking each relay’s bandwidth contribution where coins are constructed using blind signatures so that the banks cannot trace coins to specific relays.
These relays then spend their coins to purchase guaranteed winner coins from the bank that prevents double spending by matching incoming purchase requests to a database of previously spent coins that the bank maintains.
Pros: Ease of transferability and flexibility of coins that use this scheme
Cons: Security issues about malicious relays that might send improper information about other relays to boost themselves up
Popular Coins: TorCoin
The search for the ideal consensus mechanism is still an unfinished business at this stage. We can always expect that it will be an ongoing process to improve such factors as cost, efficiency, and scalability, which will lead to some intriguing advancements in the next couple of years to come. There has to be a balance between trading off decentralization, processing speed and efficiency that will always be at the crux of every further development. The more spread that blockchain gains and with an increase in its uses, the same will happen with consensus mechanisms as they will grow and evolve in step with the blockchain technology.
There has been a lot of buzzes that is being created this year by mechanisms such as Proof of Burn and Proof of Capacity – that we discussed in the previous article, and also the proof of Elapsed time that marks the entry of legitimate giants like Intel in the blockchain community.
As for which exact consensus mechanism will dominate the future, there is no sure-fire way to predict because of the evolution of markets and with them, the need for an appropriate consensus mechanism for the dominant coin. This debate can be summed up from a quote written in this paper that delves into a comparative analysis of various consensus mechanisms.
“When looking at Blockchain to solve a business problem, it is imperative to look at the scale of the intended network, the relationships between participants, and both functional and non-functional aspects (such as performance and confidentiality) before determining the right platform and the right consensus model to use. “
There are also a lot of talks about consensus mechanisms that don’t use a blockchain data structure to handle transactions mostly asynchronously. These are famously called the DAGs (Directed Acyclic Graphs) and have plenty of implementations in the form of Iota, Hashgraph, Railblocks/Nano etc all of which use DAG consensus algorithms to build their own protocols.