To understand blockchain consensus protocols, requires some understanding of the primitives and issues discussed generally in distributed system design.
The next three readings provide a good context for thinking about consensus protocols. Neither of the algorithms discussed are not very complicated, but they demonstrate a lot of the concepts that come up in all protocols.
Recommended Readings:
Understanding Blockchain Fundamentals, Part 1: Byzantine Fault Tolerance