Decentralized ecosystems, by their very definition, lack a centralized entity. Without any central body issuing commands, the only way that they can make any decisions is by the use of consensus mechanisms. Bitcoin paved the way for decentralized protocols by using the proof-of-work (POW) consensus mechanism. However, even though POW is extremely secure, its main problem is that it is exceptionally slow and wasteful. This is the reason why many modern blockchains have opted for the proof-of-stake (POS) consensus mechanism.
What is POS?
The proof-of-stake consensus mechanism is going to make the entire mining process virtual and replace miners with validators. This is how POS will work:
- The validators lock up some of their tokens at stake.
- They will then start validating blocks by placing a bet on it.
- When the block gets added to the chain, they will get a block reward which is proportionate to their bets.
As you can see, this process doesn’t waste any real-life energy source like POW. Different blockchains have their own unique implementation of POS. We will be looking at POS used by the following projects:
- Ethereum (currently on POW and will move on to POS in the future).
Ethereum — Casper Protocol
Ethereum’s proof-of-stake implementation is called the “Casper” protocol. The idea of Casper is to include a punishment mechanism within the system. Any validator who acts maliciously will immediately get their stakes slashed. This gives everyone the economic incentive to work within the interests of the ecosystem.
Vitalik Buterin confirmed in June 2018 that the minimum staking amount is 32 ETH (currently worth $10,029.44).
Casper is an amalgamation of two research projects which is currently being undertaken by the Ethereum dev team:
- Casper the Friendly Finality Gadget (FFG)
- Casper the Friendly GHOST: Correct-by-Construction (CBC)
This project is under the supervision of Ethereum founder Vitalik Buterin. This is going to be a hybrid POW/POS consensus mechanism. The primary purpose of FFG is to transition Ethereum from proof-of-work to proof-of-stake. Using FFG, the blocks will still be mined using POW and every 50th block is going to be a POS checkpoint where a network of validators assesses finality.
Ethereum developer Vlad Zamfir heads Casper CBC. The main idea of CBC is to design a protocol dynamically. So, while in a standard protocol design, you completely specify the protocol, in a CBC protocol you partially specify the protocol and derive it during runtime. A CBC protocol is more flexible than a normal protocol.
Cardano — Ouroboros
Ouroboros is Cardano’s proof-of-stake implementation. The algorithm divides the ecosystem’s time into epochs and each epoch is further subdivided into slots. Every single slot lasts for about 20 seconds and has a randomly chosen slot leader. The slot leaders are the ones who add the blocks the blockchain and they can only do one block per leader. If a slot leader somehow misses their chance and doesn’t choose the block, they lose their opportunity and will have to wait till they become slot leaders again. One must own a 2% stake in Cardano to be considered eligible for the slot leader position.
With the recent Shelley update, Cardano has transitioned from Ouroboros Classic to the Ouroboros Genesis consensus algorithm. This change will enable general users to have staking functionality and take part in staking pools. The block rewards assigned to successful slot leaders are shared among members of the stake pool they belong to.
FLETA — Proof of Formulation
Our POS implementation is called proof-of-formulation (POF) and has two actors:
- Formulators act as the block generators in the FLETA platform.
- Observers allow for real-time confirmation of the blocks that are generated and prevent double spending.
Formulators are ranked by the following formula:
Score: uint64(Phase) << 32 + uint64(binary.LittenEndian.Uint32(hash[:4]))
In the formula above:
- “Hash” serves as the hash value of the previous block.
- “Phase” is a time-related value which shows how many times the RankTable has “turned” or gone through all of the formulators for block generation.
Each formulator will get at least one opportunity during each phase to generate a block. Formulators are divided among the following:
- General Formulator: You need to stake 200,000 FLETAs and own at least a 6-core CPU to be a general formulator. These run on FLETA’s cloud server.
- Hyper Formulator: Hyper formulators will be divided into Validators and Delegators. All hyper formulators operate on the Validators’ servers. Validators should own at least an 8-core CPU and stake 5,000,000 FLETAs each. Delegators need to delegate at least 100 FLETA tokens to a trusty Validator to be part of the network.
In simple terms, the primary role of the Observers is to prevent DDoS attacks and to maintain the security of the entire blockchain network. Five observer nodes are assigned to each Formulator group, 3 of which are required to sign off on a generated block for it to be confirmed.
So, let’s compare the three staking models: