BigSon and I went to recent Hackathon at the University of Bedfordshire. It was a well organised event to showcase the new IBM LinuxOne which is a blockchain computational platform. We came away from that event enthused about the idea of blockchains and the most famous application to date, Bitcoin. Below is his write up on the cryptocurrency after reading Mastering Bitcoin by Andreas M. Antonopoulos.
What is Bitcoin
Bitcoin is a digital currency that is decentralised (no governing body) that is built upon the blockchain and uses a proof of work system called mining. Bitcoin can be used to buy anything from anyone that has a Bitcoin wallet and address. There is a set number of Bitcoins that will ever be in circulation (about 21 million) that is embedded in the software so it can never be exceeded.
History of Bitcoin
The idea for Bitcoin came from an unknown person by the name of Satoshi Nakamoto (not real name). He posted the idea on a popular digital currency blog. It was launched in 2009 and became very popular partly thanks to the bank crisis. The largest Bitcoin transaction ever was worth 150 million dollars.
To get a Bitcoin wallet you must download an application from the Bitcoin website and install it. There are different Bitcoin wallets, the main ones are phone and desktop wallet. Phone wallets are for small transactions and do not contain the full blockchain and for purchases using small amounts of money. Desktop wallets usually contain the full blockchain and can process small and large payments. They are safer to use. To get your first Bitcoin you can get some from a friend or buy some from a Bitcoin coin seller.
Bitcoin transactions are made through the internet on a peer-to-peer system, which means that there are no middle men. The payment is made to the address of the receiver. After the payment is made it is put in unconfirmed transaction pool. The privacy of both participants is kept by encrypting their address and keys. The smallest possible payment is 1 Satoshi (1 millionth of a Bitcoin). It is impossible to get a smaller transaction because it is the smallest Bitcoin unit.
Bitcoin mining is an essential part of Bitcoin; it is a way of verifying transactions by putting them in blocks and then into the blockchain. To mine Bitcoin you need a powerful mining computing device like ASICS. The device first groups all the transactions possible into the new candidate block. The first transaction it puts in is the miner’s reward which is about 12.5 Bitcoin in 2016. It will then put in the most important transactions determined by how old and how much is the transaction. After it has made the candidate block it must find a hash that is lower than the target, the set of numbers that identifies the block. If it finds the right hash it will post the block to the network and all the nodes (wallets) will verify it and it will become a valid block. After it is verified the nodes will add it to their blockchain, if it is invalid it will be rejected and the network will wait for a valid block to arrive.
Bitcoin blocks contain a list of transactions that were processed through the network. Once the transaction has been made the money is sent to the receiver but it is not confirmed. It is confirmed when the transaction is put in a block that is then verified. For large transactions, it is advised to wait for at least 6 blocks to be confirmed before considering your transaction valid. For very large transactions you should wait at least a day before considering it valid.
The blockchain is a public ledger in Bitcoin that keeps all the transactions ever made. The transactions are kept in blocks that are kept in chronological order. The blockchain goes back all the way to the first ever Bitcoin transaction, the Genesis block created by Satoshi Nakamoto. Inside the Genesis block there are no transactions but an encrypted message from Satoshi Nakamoto “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”. Satoshi Nakamoto put this text in the place of the transactions that usually contains the miners reward. Blockchain is not unique to Bitcoin, it is used in other currencies and applications.
Security in Bitcoin is kept by encrypting the user keys and addresses. Security is also kept because there is no central bank or government at the centre keeping all the users’ money. A government or bank is a point of failure because all the money is in one place which makes it easy to steal. With Bitcoin, the user’s Bitcoins are kept in their wallet with a public ledger of all the transactions ever made. This makes it harder for hackers to steal the money, because they would need to hack individual accounts which is not always fruitful. The way a user keeps the keys to their account is by keeping them in cold storage (see below) or online hardware wallets, data files. Hardware wallets are tamper proof and are a relatively safe way of keeping your Bitcoins and keys. Data files are not the best way to keep Bitcoin keys because they can be lost in computer crashes and full reboots and never be recovered. Cold storage is keeping your encrypted Bitcoin keys on pieces of paper in a safe or hidden place. Cold storage is one of the safest ways of keeping your Bitcoin keys.
There are two different types of Bitcoin keys: private keys and public keys. Private keys are kept in cold storage and are only kept by the wallet owner. Private keys are usually encrypted for safety and then put on cold storage. Public keys are derived from the encrypted versions of private keys. The public key is generated by encrypting the encrypted private key again. The public key is what is visible to all users of Bitcoin and is what the money is sent to.
Because we are newbies to this technologies and are willing to learn as much as we can about it, we are happy to take comments on what is written above. We welcome corrections and also questions which will guide our learning.
Thanks for reading and again, feel free to comment.