Cryptocurrencies and blockchains