“You must be shapeless, formless, like water. When you pour water in a cup, it becomes the cup. When you pour water in a bottle, it becomes the bottle. When you pour water in a teapot, it becomes the teapot. Water can drip and it can crash. Become like water my friend.” - Bruce Lee
Legendary film actor and martial artist Bruce Lee famously said we must be like water to be able to adapt to any environment and situation.
Cryptocurrencies live in a naturally adversarial environment.
We don't trust, we verify.
Therefore we expect attacks on our systems. In fact, attacks on cryptocurrency systems are not only expected, but they are often encouraged, especially during public testing periods.
Cryptocurrencies must be liquid in order to adapt to challenges.
A complete description of Proof of Stake (PoS) is beyond the scope of this article. There are several excellent articles that explain Proof of Stake in detail.
Our purpose here is to present a short introduction so that we can explain what Liquid PoS is.
The core difference between Proof of Stake and Proof of Work (PoW) is how the person who gets to mine/mint the next block is chosen.
In Bitcoin a cryptographic challenge is published. Whoever solves that challenge first gets selected to solve a block.
In PoS, a lottery draw happens. The number of lottery tickets is proportional to how much of the cryptocurrency you own. If you own 50% of all the circulating cryptocurrency, you normally have 50% chance of minting the next block.
Both approaches involve a high cost to be selected the next block validator. In Bitcoin there are electricity, infrastructure, know-how and computer hardware costs. In PoS there's cryptocurrency cost: you must hold a high amount of coins in order to increase your likelyhood of winning the staking lottery.
As you can imagine, there are several ways you can implement these ideas. Proof of Work can be performed using several different strategies and so can Proof of Stake.
According to the whitepaper, Tezos' PoS implementation borrows from several previous works, including Slasher, chain of activity and proof of burn.
In practice, the Tezos PoS is an on-chain delegated Liquid Proof of Stake implementation.
What this means is there is no fixed set of block bakers, it is therefore liquid. It is on-chain because blockchain state determines the outcome every step of the process. It is delegated because users may delegate their stake to bakers.
Let's take a look at each of these traits in more detail.
Liquid Proof of Stake does what the Bruce Lee quote suggested.
With every cycle it adapts. It changes who gets to bake the next Tezos block. There is a lottery that happens in every Tezos block, which selects a baker from the pool of roll owners.
To bake Tezos you must own at least one roll, or 8000 XTZ. Bakers are selected from the list of roll owners. If you don't own a roll, you'd never get selected to bake a block.
On-chain means the entire process is based on the blockchain. The choice of baker is made based on blockchain state, the validation of one baker's work is performed by other bakers based on blockchain state and so on.
This contrasts with other systems where the block validators are manually stored on the client system implementations instead of the blockchain. Some cryptocurrencies have a list of validators hard-coded into the node software and full node wallets. This defeats decentralization and adds yet another political/human component into the system.
After a baker solves a block, other bakers vote on it. Each vote is called an endorsement. Endorsements are recorded on the blockchain as well.
If multiple chains are detected, the one with the most endorsements is considered the correct one.
As you can see, Tezos' PoS is 100% on-chain.
Bakers are chosen on the fly, with probability proportional to the amount they stake (which is recorded on-chain) and correct block validation is also voted on based on blockchain state.
There are expensive requirements for bakers to be allowed in the staking process. This is done to avoid common attacks against Proof of Stake.
For example, some Tezos investors may not be able to buy a full roll (currently 8000 XTZ) in order to qualify for baking. Hardware, software costs and know-how may also be a barrier.
Those who can't bake may delegate their account to a third party who may perform the staking for them. There is no risk involved, the coins do not move and you can freely spend them if you wish.
Since one user can delegate their baking rights to third party bakers, the Tezos PoS is called a delegated PoS system.
So, how does a baker get chosen in Tezos' Liquid PoS system?
First, Tezos builds a list of rolls in some random priority, something like this:
0 -> Roll 376 1 -> Roll 886 2 -> Roll 102 3 -> Roll 9 4 -> Roll 82 .... 832385823 -> Roll 3
After this randomized list is built, the system chooses the first item in the list, having index 0. In our fictional list, this equals Roll 376. The system looks for the baker who has roll number 376 delegated to them.
It then waits one block period (~ 1 minute) for a block to be announced by that baker.
If the first baker fails to broadcast a block, the next baker, in our case whoever has block 886 delegated to them, will try to solve the block and broadcast it.
This sequence is followed until a valid block is broadcast by the randomly selected baker.
When someone holds more than one XTZ roll, they'll own several entries in this randomized list. The more entries they have, the higher the odds of being chosen to bake the next block.
I hope this short introduction to Liquid Proof of Stake has given you a better idea of how the Tezos' baking process works.
Tezos uses a Liquid Proof of Stake system that has no hard-coded validators or preferred bakers. Bakers are chosen on the fly and everything is performed transparently on the blockchain.
Bakers are chosen using a lottery process. Each baker must own at least one roll in order to get chosen to validate the next block. Bakers who own more rolls have a higher chance of being selected.
Each validated block gets voted on by other bakers. If multiple chains are detected, the one with most endorsements wins. This works like a peer-review and quality control system.