  In the Bitcoin white paper, Nakamoto proposed a very simple Byzantine fault
tolerant consensus algorithm that is also known as Nakamoto consensus. Despite
its simplicity, some existing analysis of Nakamoto consensus appears to be long
and involved. In this technical report, we aim to make such analysis simple and
transparent so that we can teach senior undergraduate students and graduate
students in our institutions. This report is largely based on a 3-hour tutorial
given by one of the authors in June 2019.
