Too Long; Didn't Read
Voting is an essential element of blockchain systems. From simple consensus to hard forks, voting mechanisms are present in every aspect of the lifecycle of a blockchain application. Consensus is a term that most blockchain technologists associate with voting dynamics. Technically, consensus algorithms are programmable representations of a not-very-well-known area of computer science known as voting theory which focuses on algorithmizing decision making. Understanding some of the principles of voting theory might help to better comprehend the plethora of consensus algorithms that we are seeing these days.