Cryptocurrencies and Blockchains by Quinn DuPont (2018)