What is Distributed Consensus and How Does it Work?