Replicated state machines

most algorithms are described in terms of replicated state-machines, explain them here

https://decentralizedthoughts.github.io/2019-10-15-consensus-for-state-machine-replication/ schneider paper (maybe) lampson paper

Definitions

From primary/backup to CFT consensus

these posts show how to go from primary backup to fault tolerant consensus we may want to follow a similar route, for example introducing the lock-commit as an intermediate step before the more sophisticated algorithms (raft, pbft, etc) https://decentralizedthoughts.github.io/2020-09-13-synchronous-consensus-omission-faults/ https://decentralizedthoughts.github.io/2020-11-29-the-lock-commit-paradigm/ https://decentralizedthoughts.github.io/2020-11-30-the-lock-commit-paradigm-multi-shot-and-mixed-faults/

this maybe a bit redundant with two phase commit, though. perhaps we can do this instead of 2pc earlier also they are more difficult than streamlet, introduced later perhaps it's best to just rewrite the previous primary/backup implementation as a state machine instead of introducing the more complex algorithms

[CODE SAMPLES HERE]

Conclusions

References