Design a Consensus Protocol (Raft / Paxos) - High-level design | OneNoughtOne