Hi, everyone. As you know original Waves Proof-of-Stake consensus algorithm from Nxt blockchain. It’s based on very simple where time to mine next block depends on miner’s balance and semi-random value from previous block.
The disadvantage of Nxt formula is that it allows very large miners to forge not proportionally greater number of blocks. We can see that performance is much better on our real network, e.g. WavesGo’s performance is 1.168 which means that with 22% of stake it gets 27% of blocks:
Our solution
We decided to modify it to make distribution fair. Our goal is to make simple adjustment, but not to rework algorithm completely. It’s still open for any new miners, simple, doesn’t require any registration, fund deposits or single authority. We also do not spend much time and resources to do this change.
We also made it more protected to multibrach mining attack (a kind of nothing at stake), which is a weak point of simple PoS algorithms.
Apart from this, new formula changes block delay distribution. Currently we have most of blocks very short (with small delay, e.g < 5 seconds) and some very-very long blocks (up to 10 minutes). With new distribution we don’t have blocks shorter than 5 seconds, most blocks around 40-70 seconds and maximum duration of block is around 3 minutes.
We plan to release Fair PoS in May release, so it should be activated in June.
Please check details in attached PDF
waves_fair_proof_of_stake.pdf (458.9 KB)