Optional reading: "Ethereum: A Secure Decentralised Generalised Transaction Ledger"