Teaching Bitcoin Part 2: Hashing & Mining