Blockchain Part 1 — Algorithms and Data Structures