Just looking for a further rationale around each consensus mechanism and what they aim to solve.
2 Answers
There is a short nice write up on consensus here:
If you're looking for more detailed info:
PoW
Aura
BABE/GRANDPA
- https://paritytech.github.io/substrate/latest/sc_consensus_babe
- https://research.web3.foundation/en/latest/polkadot/block-production.html
- https://research.web3.foundation/en/latest/polkadot/block-production/Babe.html
- https://polkadot.network/blog/polkadot-consensus-part-1-introduction
- https://polkadot.network/blog/polkadot-consensus-part-2-grandpa
- https://polkadot.network/blog/polkadot-consensus-part-3-babe
- https://research.web3.foundation/en/latest/polkadot/finality.html
- https://github.com/w3f/consensus/blob/master/pdf/grandpa.pdf
This may be of interest to you:
As @Squirrel noted, several of these are covered in this post.
Videos are nice too:
-
1
To add a note regarding rationales:
We recently switched the consensues to manual/instant seal for substrate-contracts-node
.
The rationale was that this particular node is mostly used for local standalone development or in CI's ‒ so it's a big speedup if blocks are immediately produced.
-
Please remind me what is manual/instant sealing? I forget the details but is it something along the lines of: only when a transaction or an extrinsic is received, a block is produced? Mar 24, 2022 at 5:38
-
@Purple_Turtle Yes exactly. Blocks are authored at every transaction, it makes transactions almost instant.– cmichiMar 24, 2022 at 5:56
-
@Purple_Turtle This is the crate: github.com/paritytech/substrate/tree/master/client/consensus/….– cmichiMar 24, 2022 at 5:57
-
Awesome and thanks, see I'd have never known to look for this type of thing! Super useful for testing.– M KempMar 24, 2022 at 8:22