Proof-of-stake is a consensus algorithm first implemented in 2011 that uses staking native tokens as the basis for its incentive scheme and thus differs from proof-of-work. In proof-of-stake, innovation plays a crucial role in building an environmentally-friendly and scalable protocol. In this article, we present an introduction to the concept of staking, and explain its advantages and disadvantages in relation to proof-of-work.
What is staking?
Just as mining is essential to blockchain ecosystems that use proof-of-work (PoW), staking is essential to ecosystems based on proof-of-stake (PoS). It helps the network to form a consensus about the validity of transactions. PoS, as a consensus mechanism, has evolved into multiple versions which are explored later in this article. However, the core idea of staking remains the same in all these versions, i.e., having skin in the game. It is achieved by mandating validators to own and maintain a certain amount of the native currency locked in a smart contract.
In a staking ecosystem, unlike mining, validators do not have to use expensive hardware to perform complex calculations to prove the validity of the proposed block. Instead, they must own and maintain a certain number of native tokens in a specified location to qualify as a validator. Furthermore, one validator is selected to propose a new block for validation. If the proposed block is verified as a valid block by the majority, the selected validator is rewarded. We will explore different reward mechanisms in further sections. If the validator proposes an incorrect transaction, their stake is confiscated for misbehaviour. The crux of PoS is that the ownership and collateralisation of the owned native currency are aligned with the incentives of the stakers.
Proof-of-stake as a consensus mechanism can have variations based on the number of tokens to be staked or on the length of time they should be staked for. Similarly, different varieties can be seen around the concept of validator selection, i.e., how a validator is selected to propose the next block. In the next section, we will look at the staking process, along with its different variants.
PoS as a consensus mechanism also faces multiple trade-offs between decentralisation, security and scalability (a.k.a. the blockchain trilemma). These trade-offs can be managed to a certain extent by modifying the process at each step. Therefore, it is crucial to understand that each step can be conducted in multiple ways depending on the network requirements. This results in various forms of staking-based consensus mechanisms. A generic process is shown in Exhibit 1.
Exhibit 1: How staking works in the proof-of-stake consensus mechanism
1. Becoming a validator
It is necessary to own a certain number of native tokens locked up at a designated deposit address to become a validator in a staking-based protocol. There are two common types of PoS consensuses based on the number of validators allowed:
- Proof-of-stake – In this basic version of PoS there is no limit to the number of validators that can join the network, provided that they stake the required number of tokens. It allows for a more decentralised network with a minimum barrier to entry for validators.
- Delegated proof-of-stake (DPoS) – In this modified version, the network delegates the responsibility of validation to a limited number of entities only. In a DPoS network, other token holders usually have some voting rights for selecting these validators. It is quite similar to modern-day democracy. However, this creates a less decentralised ecosystem.
2. Selecting validators
Once tokens have been staked, a selection algorithm chooses a validator, based on a predetermined algorithm, to propose a new block of transactions. There are multiple variations on these selection processes; some of these are mentioned below:
- Staking size – In this approach, the network selects a validator based on the number of tokens staked. The higher the number of tokens, the greater the possibility of being selected. It is an undesirable approach if used in its pure form. This is because it leads to skewed token distribution within the network, as affluent stakers have a higher probability of receiving block rewards.
- Staking age – According to this selection process, the network chooses the validator based on how long the tokens have been staked for. Validators who have staked their tokens for a more extended period will have a higher chance of being selected. Once the validator has been selected for proposing a new block, the age of the token they had staked is readjusted to zero.
- Randomisation – In this approach, validators are selected using a formula that looks for the lowest hash value1 in addition to the staking size. As the stakes are known publicly, it is possible to predict with reasonable accuracy who will be selected to propose the next block.
Selecting a validator is one of the most crucial aspects of a PoS algorithm. Therefore, it is essential to align the selection process with network incentives. As a result, different blockchains employ different methods, which may correspond to one of the above techniques or represent a combination of several of techniques suitable for the desired purpose. Most of these methods are pseudo-random by nature.
3. Adding a new block
Once the validator has been selected, two further variations can direct how the consensus mechanism adds the new block to the blockchain.
Chain-based proof-of-stake – the validator is selected according to a pre-defined frequency (e.g. every 60 seconds) and assigned the right to create a single block.
Byzantine-fault-tolerant proof-of-stake – a validator is assigned the right to propose the next block. Once the selected validator has proposed a new block of transactions, other validators vote on the validity of the proposed block.
The second approach is mostly used in the PoS consensus.
4. Receiving block rewards
Once the block has been added to the blockchain, the selected validator receives their block reward. These block rewards can be transaction fees, new tokens or both. However, rewarding stakers with new coins results in an initial distribution problem.
To understand the initial distribution problem, imagine that a validator acquired 10% of their tokens when the system was launched by paying USD 1,000. Once the network has gained popularity, the old validator would be in an advantageous position compared to a new validator who invests USD 1,000 to gain only 0.01% of the network tokens. To overcome this, PoS networks tend to either pre-mine all their tokens or use a PoS and PoW hybrid consensus where PoW is used for creating new tokens and PoS is used for validating transactions.
Advantages and disadvantages of PoS
- Energy-efficient – One of the most significant benefits of PoS over PoW is its energy efficiency. A proof-of-stake consensus is designed in a manner which does not require any significant hardware or electricity investments. Consequently, the energy efficiency of PoS drastically increases in relation to PoW, making it environmentally friendly.
- Scalability – Higher transaction throughput affects the scalability of a network. In a PoS/DPoS network, the transaction throughput is generally observed to be much higher on average than in a PoW network. This is achieved by reducing the block time, as the network quickly reaches a consensus by limiting the number of validators on the network.
- Speed at the cost of security and decentralisation – As we mentioned earlier, all blockchains operate within the trilemma. PoS results in increased throughput at the cost of either decentralisation and/or security. The reasons for this are beyond the scope of this document.
- Nothing at stake – The nothing at stake problem is one of the most critical issues that exists in the PoS ecosystem. It occurs when the PoS blockchain splits into two different chains (deliberate or accidental). In this case, the PoS validators are incentivised to stake coins on both chains.
In a PoW consensus, the probability that a miner will mine the next block depends on the amount of mining power. If the miner intends to mine on both chains, they will have to split their mining power between two chains. Splitting the mining power will reduce the miner’s likelihood of mining the next block by 50% (assuming the mining power is equally distributed between both chains), whilst the electricity cost remains the same. This incentivises the miners to stay on one of the chains and not to mine both chains (Exhibit 2).
Exhibit 2: Miner incentive in a PoW-based blockchain split
However, in a PoS-based ecosystem, there is no significant external cost associated with staking for the validators. Also, as both Block B2 and Block B’2 have the same previous block (Block B1), the account balances for all the validators are the same. Hence, the probability that a validator will mine the next block on both chains remains the same. This is because their staked coin balances are duplicated on both chains. This incentivises the validators to stake their tokens on both chains to optimise their profitability. This can also lead to many network problems like double-spending (Exhibit 3).
Exhibit 3: Validator incentive in a PoS-based blockchain split
Staking is an exciting approach towards creating a secure and cost-efficient consensus mechanism. Currently, some of the top tokens by market capitalisation such as EOS, Tron and NEO rely on PoS as their consensus mechanism. Furthermore, Ethereum’s plan to migrate from PoW to PoS is a sign of the increasing popularity of proof-of-stake within the blockchain ecosystem.
However, it is not a foolproof method and comes with trade-offs in terms of security and decentralisation in its current form. Existing implementations of PoS are a long way behind prominent PoW networks in terms of network security and decentralisation. Blockchain companies and communities are actively working on developing new mechanisms within the staking ecosystem to minimise these trade-offs. Going forward, we might see a matured version of the PoS mechanism that could help build a more efficient network.
1In order to win the right to forge (generate) a block, all active accounts compete by attempting to generate a hash value that is lower than a given base target value. This base target value varies from block to block and is derived from the previous blocks base target value multiplied by the amount of time that was required to generate that block. (https://web.archive.org/web/20150203012031/http://wiki.nxtcrypto.org/wiki/Whitepaper:Nxt#Base_Target_Value) ↵