Bitcoin’s consensus algorithm, known as Proof of Work, was a one-size-fits-all solution at the start of the network. However, I believe that the algorithm is fraught with a number of problems that make it a suboptimal solution at best and an unsuitable solution for the future of finance and the internet at worst. Since the Bitcoin network started in 2009, developers and researchers have explored the role of consensus and isolated components in order to arrive at better solutions.
Joe Petrowski is Technical Integrations Lead at the Web3 Foundation, which funds research and development teams that build the technology stack of the decentralized web. Before getting into blockchains, he worked on satellite launches.
As a general technical rule, modular systems are more specialized, more powerful and easier to maintain. However, this is easier to justify with physical systems than with software. For example, cars have a standard interface for connecting a tire, and consumers can buy tires that are suitable for their environment or time of year, such as summer, rain, or snow. It would be inefficient, expensive and tedious if the axles had to be removed and the entire engine dismantled to change tires.
The same principle applies to software design. Breaking down large problems into smaller, individual problems makes it possible to operate and maintain the entire system more efficiently. Proof of Work is entangled in a number of other processes that take place on a so-called blockchain. In this article, I want to analyze the original problems that Proof of Work was supposed to solve and introduce new problems that have emerged since then. And I want to show ways how blockchains like Polkadot use Proof of Stake to create a more robust platform.
The basics of the proof of stake
Consensus is mostly seen as a stand-alone problem that needs to be resolved. Especially when it comes to securing public networks that do not require approval, finding consensus involves three problems that can be solved individually: participation, authorship and finality.
First: who can participate? Anyone with a CPU can participate in a proof-of-work system. In other words: the number of participants is open and anyone can participate at any time. At first glance, this may seem ethically advantageous, but it also has many disadvantages. Specifically, the fact that malicious users participate in secret, undermine projects, and reveal their participation late.
Proof-of-stake systems, on the other hand, have numerous algorithms for selecting participants. For reasons that we will discuss later here, most Proof of Stake systems only elect a finite number of participants for a finite amount of time.
For this, Polkadot uses what is known as a sequential choice of phrases. This is a concept for an optimized voting process that comes from the Swedish actuary Lars Edvard Phragmen. On this basis, the number of participants (“validators”) is determined every 24 hours. In this system anyone can participate in any election with a stake (“token”), but the number of participants is limited to a finite number – the election winners – for a period of 24 hours until the next election. Validator candidates do not need a large amount of tokens themselves. In addition, other voters (“nominators”) can support multiple validators whom they trust.
The result of the phrase choice is the set of validators that maximizes the total stake and minimizes the variance of the stake among the winners. In contrast to other proof-of-stake consensus procedures, the power of a Polkadot validator does not depend on the level of his commitment; the validator with the lowest stake has the same voting power for the consensus as the one with the highest stake. This “one-validator-one-vote” system, combined with the optimization from Phragmen’s model, prevents oligarchies from taking over the network with a small number of validators.
Who will create the next block?
Second, a consensus algorithm has to decide who is allowed to write the next block in the blockchain. Ultimately, the block does not have to be accepted, but if every participant suggests a block in each round, the system would be flooded with possible blocks. With Proof of Work, the solution is inherent in the system and also the reason why Proof of Work uses so much energy. Miners hash random numbers together with a block in the hopes of finding a low enough output to propose their block.
The Bitcoin network consumes virtually no energy to process transactions; it uses almost 100 percent of its energy to determine which participant (“miner”) is allowed to create the next block.
It is different with Proof of Stake: Since the number of participants is finite and known at any given point in time, the algorithms that the block authors select do not have to allow an unlimited number of block authors. The algorithms can use other block production rights allocation schemes ranging from simple Round robin method up to complex random schemes.
Polkadot uses an algorithm called Blind Assignment for Blockchain Extension (BABE). Time is divided into slots and the validators use a verifiable random function to claim specific slots based on their private keys. Compared to the round robin selection, BABE ensures that only a block author knows when it is his turn to write a block and at the same time can prove his rights with a digital signature. This method prevents attackers from bringing the blockchain to a standstill by selectively attacking every next author individually.
Disclaimer: This article is generated from the feed and not edited by our team.