This is a continuation of our previous blog post on consensus mechanisms, if you’ve not yet read the part 1, it’s recommended that you do so now.
As mentioned in our previous posts, one of the fundamental beliefs within crypto is the idea of consensus. Decentralization hinges on the ability for an incredibly large number of individuals to all agree on the same history for each blockchain. Practically speaking, it’s like asking a hundred thousand people to all agree on a history of visa transactions. There would be no way to actively verify that the information is correct.
How this consensus is achieved is through what is called a consensus algorithm, which simply put is a way for multiple computer processes to agree on a single value for data. In this case, the consensus algorithm is ensuring that all blockchain nodes are operating off of the exact same version of blockchain. Additionally, there needs to be some incentive for the people processing blocks onto the blockchain (also called miners) not to maliciously corrupt the blockchain by using a different version or adding blocks with false transactions.
There are two major types of consensus algorithms: Proof-of-Work, and Proof-of-Stake. This is an overview for the latter.
Proof-of-Stake consensus is a much computationally simpler process than that of Proof-of-Work. It requires the individuals who want to compete to add blocks to the blockchain based on their stake within that blockchain.
Their stake is defined as the amount of the blockchain’s default currency that they put aside, and stake in order to obtain the ability to process blocks within the blockchain. Unlike the Proof-of-Work model, within Proof-of-Stake, there is a single individual selected at random to process each block and add it onto the chain (also called mining). Miners are no longer competing to mine each block, and mining should (in theory) be fairly distributed among all eligible miners.
It’s important to note that in most Proof-of-Stake mechanisms, the algorithm used to choose who gets to mine a block is weighted based on how much they have staked, the higher the stake, the better the chances for rewards.
These blocks, within the Proof-of-Stake mechanism, are computationally less challenging to mine. The theory behind Proof-of-Stake is that since all miners are forced to stake their funds in order to be able to mine blocks, if they were to act illicitly, they could lose all of their staked currency. Since those with considerable resources will have the ability to amass much greater stakes, they will be much more likely to be selected to mine blocks on the chain. This created a de-facto centralization within the block mining where the rich wind up getting richer, and it is incredibly difficult for those with smaller stakes to break in.
From am efficiency perspective, proof-of-Stake blocks are also generally much more efficient in terms of resources (electricity needed to run) needed, as well as set-up costs, while still maintaining a high level of security for each block within the chain.
While the Proof-of-Stake mechanism may be better at allowing the blockchain to scale through less resource-heavy transactions, there are certainly some problem areas as well. One of the most glaring shortcomings of the Proof-of-Stake consensus is what’s referred to as “nothing at stake”. As we mentioned in part one, within Proof-of-Work, miners are disincentivized to work on a possibly corrupt block, or a sidechain by virtue of the fact that the network will always choose the chain with the stronger hash (more blocks) to work on. Blocks that are added to the sidechain will eventually be ignored, and any work that was put into mining it will be lost.
Since Proof-of-Stake miners are not solving complex equations, they do not have the same dis-incentivization to work on a sidechain. They can therefore continue mining both chains and force of the chain, without risking anything.
There are other, logistical issues, with Proof-of-Stake that need to be worked out as well, for example, when a Proof-of-Stake blockchain is initially released, how does the team distribute the currency so that individuals can be staked, there’s no centralization within the system, and mining can begin?
Other serious concerns include the infamous 51% attack, where either a single miner, or a group of miners could potentially amass 51% of the currency and take complete control over the blockchain. This would enable them to essentially rewrite the past, present, and future of the blockchain, which would effectively destroy immutable nature of the blockchain and its associated currency.
Finally, since within the Proof-of-Stake consensus mechanism, block mining is chosen based on the amount of currency held, similar to fears within the Proof-of-Work consensus, there is a fear that the result will be a de facto centralization of those adding blocks. Not everyone has the ability to compete with those individuals able to purchase significant amounts of currency, and therefore they will monopolize the mining rewards, the rich will get richer, and those with less currency will be forced to stake with a larger group if they want to be involved at all.
In order to address some of these issues, the Delegated Proof-of-Stake consensus was created. This process functions exactly the same way as a conventional Proof-of-Stake consensus. The only difference between the two is that within the Delegated Proof-of-Stake, everyone who has a stake votes for someone they want to process blocks. Once there are only a few miners left, who will represent all of the stakes, they will be the only ones able to process all transactions on the blockchain, and they will alternate in a set order. All individuals who have contributed their stake to a miner will receive a share in the rewards based on the size of their stake.
Recently, there has also been movement on creating more privacy surrounding the Proof-of-Stake system which spurred the creation of the Anonymous Proof-of-Stake process. This consensus algorithm is exactly the same as Proof-of-Stake, except that all transactions, amount staked, currency earned, and cryptocurrency stored in a wallet, will all remain private and anonymous.
Proof-of-Stake and SIRIN LABS
SIRIN LABS has been exploring the potential within both existing as well as developing blockchain technologies in order to understand which one will best suit the needs of our devices, and users. While the Proof-of-Stake model certainly takes significant strides towards the needs of a globally used and mass adopted blockchain protocol, it’s not quite there yet.
Blockchain technology must continue to evolve in order to achieve the correct balance between cost, both monetarily and resources, and speed. But we must never compromise on the security of the system. The immutable aspect of the blockchain must not be put into jeopardy.
Luckily, there are many different organizations who are working to solve this problem. SIRIN LABS, for example, will be partnering with an Israeli institute of higher education to research areas like this within crypto, and providing significant grants to further explore decentralized technology. By working together on projects like this, we will be able to spread the decentralized world across the globe for a better tomorrow.