Past, Present, Future is a series where I discuss about the past, the present and the future in a three-part segment of some of the most foundational technologies that have changed the world forever. The first part focuses on the past, the second on the present and the final part about the future.
In this three part-series I talk about Bitcoin.
The ground breaking invention of the 21st century is regarded as something of very unusual. It's something called "BITCOIN". I am talking about a cryptocurrency. Bitcoin is a digital currency and has a very technical significance to it. It isn't like most money or its not like the same financial system that we've known since ages. So, let's understand it a bit deeper and know how it exists.
Bitcoin wouldn't exist without a whole network of people and a little thing called cryptography, in fact, its sometimes described as the world's first cryptocurrency.
Here is how Bitcoin works. The digital currency can be exchanged between computers in a worldwide peer to peer network. The whole point of peer to peer network sharing is, sharing stuff like video files, MP3 files which are super legal copies of music and movies and can be downloaded on the network. Now, if it is a digital currency what is stopping you make a bunch of counterfeit copies and becoming fabulously rich?! Well, unlike an MP3 file, a bitcoin isn't a kind of data that can be duplicated.
A bitcoin is actually an entry on a huge global ledger called 'Blockchain'. The blockchain records every Bitcoin transaction that has ever happened. And it is around hundred gigabytes of data as of 2017. So when you send someone Bitcoin it's not like you are sending them a bunch of files instead you are basically writing down on that big ledger something like - "Naveen sends Kenny 5 Bitcoin"
Bitcoin doesn't have a central issuing authority to keep track of everything. Even though blockchain is a central record, there is no official group of people to update the ledger and keep track of everybody's money as a bank does. It's decentralized. In fact, anybody can volunteer to keep the blockchain up to date with all the new transactions. It all works because there are a lot of people keeping track of the same thing making sure all transactions are accurate.
Let's imagine you are playing a game of cards with friends and you all left your cash at home so there is no money on the table. Hence, some of you get some paper and start writing down who wins and who loses. You don't trust anyone so everyone keeps their ledger separately and at the end of every hand, everyone compares what you all have written down. That way if someone does a mistake or tries to cheat and adds some extra money for themselves that discrepancy is caught. And eventually, you might fill up the page and need a new paper to update the money movement. Now, you think of each page as a block of transaction eventually you will have pages and pages of information chain of those blocks, which are technically knows as "Blockchain".
You might be wondering, now if thousands of people are separately maintaining the blockchain, how are all the ledgers are kept in sync? Well, if we think of the card game mentioned earlier, think of the entire peer-to-peer network as a really huge table with millions of people, while one just exchanges money a whole lot of volunteers are keeping ledgers.
So, when you want to send or receive an amount of money you have to announce to everyone at the table so that the people keeping track can update the ledger. Which means for every transaction you are announcing a couple of things to the Bitcoin network:
- Your account number
- The account number of the person you are sending currency to
- How much currency are you sending
All the users who are keeping copies of a blockchain will add your transaction to the current block. A great solution, isn't it?! Having a bunch of people keeping track of transaction seems like a pretty good security measure.
But if all it takes to send Bitcoins is a couple of account numbers that seems like a huge security problem. At least it is a huge problem with regular money. Just think of all the ways credit card information is stolen every day and on top of it, with Bitcoin, there is no Central Bank to notice anything weird going on to shut down a fraud. What's stopping a person pretending that he/she is me in sending him/her(self) all the Bitcoins in my account?!
It turns out Bitcoins are kept pretty safe thanks to cryptography which is why it's considered a cryptocurrency. Bitcoins stays secure because of 'keys' which are basically chunks of information that can be used to make mathematical guarantees about messages like, "Hey! this is really from me". When you create an account on the Bitcoin network, which you might have heard is called a 'Wallet'. That account is linked to 2 unique keys, a 'private key' and a 'public key'.
In this case, the private key can take some data and 'mark it' also known as 'signing it'. So that the other person can verify the signature later if they want. So let's think if I want to send a message to the network something like I give three Bitcoins to Naveen. I sign that message using my private key which only I have access to and nobody else can replicate. Then I send that signed message out to the bitcoin network and everyone can use my public key to make sure my sign checks out fine. That way everyone keeping track of the Bitcoin trading knows to add my transaction to the copy of the blockchain. In other words the public key works as proof that the message was by me and was signed by my private key and is something I wanted to send.Unlike a handwritten sign, this cannot be duplicated by someone. This way the 'who' part of the information is obvious but the 'when' is also important.
Let's imagine, if I had a ₹1000 in my bank account and I tried to buy two things for ₹1000 each. The bank will honor the first purchase and deny the second one. If the bank didn't do that I will be able to spend that money multiple times which might sound awesome, but is a terrible idea. A financial system can't work like that because no one would get paid. So, if I had only enough money to pay Naveen or Richie but I tried to pay them both, there is a checked build into the system, both the Bitcoin Network and Wallet automatically check your previous transaction in making sure you have enough Bitcoins to send to Naveen in the first place.
But there is another problem, AAAAAAHHHH! Yeah, you can't produce a new currency altogether without problems mate. This problem might happen with time because lot of people are keeping track of the copies of Bitcoin blockchain all over the world, network delays means you won't always receive the transaction request in the same order. So now you got a bunch of people with a bunch of slightly different blockchains to pay from but none of them are necessarily wrong.
Ok Bitcoin, you can't be that easy to make. Its solved by solving literal math problems! To add a block of the transaction to the chain each person maintaining a ledger has to solve a special kind of math problem created by a cryptographic "Hash Function". Hash Function is an algorithm that takes an input of any size and gives an output of fixed size. Example: a string of numbers - 5555 are input and if the Hash Function says to add all the numbers so the output is 20 in this case. So what makes the hash function so good?
What makes the Hash Function really good for the cryptocurrency is that when given input it's really easy to find the output but it's really hard to figure the original input from the output. Even the above super simple example, there are a lot of string of numbers that actually add up to 20 the only way to find the input was 5555 is to guess until it turns out to be right. Now the Hash Function that Bitcoin uses is called SHA 256 which stands for 'Sequence Hash Algorithm 256-bit' and it was originally developed by US National Security Agency.
Computers that were specifically designed to solve SHA 256 hash problems take on an average of 10 minutes to guess the solution to each one. That means they are calculating through billions and billions and billions of combination of guesses before they get the right one. Whoever finishes the hash solving first gets to add the next block of the transaction to the blockchain which then generates the new math problem that needs to be solved. If there are multiple people that make the math at the same time the network pics one and keeps building upon the longest and most trusted chain and every transaction in and every transaction of the alternate chain gets put back into the pool to be added onto the blocks later.
These volunteers spend thousands of dollars on special computers which are specially developed for solving these SHA-256 problems and pay sky-high electricity bills to keep these machines running. But why what do they get? It isn't social service, right?! Because the Bitcoin system actually rewards these people. Every time one wins the race to add a block to the blockchain 12.5 new Bitcoins are created out of thin air and awarded to his account, in fact, these Bitcoin ledger keepers are known by another name 'Miner'.
The first Bitcoin was first created in 2009 which really didn't have significant value. Ten of Bitcoin were of same money as of a bunch of pennies. Besides the new pay-out when they had a new block of the transaction, miners are essentially also tipped a very small amount to the transaction out to the ledger. It's also worth noting that after every 210,000 blocks are added, the number of coins generated for a new block goes down by half. So what started with 50 Bitcoins decrease to 25 then 12.5 then it will be 6 Bitcoins in a couple of more years and it keeps on decreasing. Eventually, there will be so many transactions in a block that will be still worthwhile for the miners to be mostly paid in tips.
Now, the value of 1 Bitcoin equals $7,284.81 which is a whopping ₹5,10,809.42! Nearly ₹5 Lakh?! That's a lot of cash for one unit, isn't it?! According to the current production, the last Bitcoin probably around the 21 million will be mined in the year 2140. This decrease of Bitcoin is actually modelled at which the rate of gold is the dug out of the earth and the idea is that keeping the supply of Bitcoins Limited will raise its value over time. So investing is a good idea?! Well, that's not really assuring. Bitcoin’s existence is uncertain and tomorrow if the entire internet goes down the value of Bitcoin might turn down to zero, a lot of people love it and lot many people say it will be a failure for sure.
Which makes us wonder what crypto-currency and cryptography can do next. Cryptography has many alternate applications as well which I will keep writing about. Stay tuned for Part 2 of this segment and while doing so comment down on your thoughts below!