Blockchains and cryptocurrencies are getting more popular everyday. The rise and wide adoption of cryptocurrencies such as Bitcoin has attracted a lot of attention, ranging from developers to bankers. However, many people are still not very comfortable with the ideas and concepts behind the blockchain, and workings of cryptocurrencies such as Bitcoin. Therefore, it stops them from entering and exploring the blockchain and cryptocurrency world.
In this tutorial, we first explore the cryptographic ideas behind the cryptocurrencies, including hashing, public/private cryptography. This will be followed by the basics of a simplified blockchain. We cover mining, incentives, payment records, ownership, etc. Then we delve into working and playing with a private Bitcoin network, by implementing simple programs in Python to create public/private keys, accounts, and transactions. We further look into services that provide exchange rate data on cryptocurrencies and analyze the data.