Blockchains and Cryptography