October 31, 2008, a white paper from an anonymous person or organization named Satoshi Nakamoto was published which explained a novel approach to send money from sender to receiver directly without involving any financial intermediaries. The paper gave a name to this concept — Bitcoin. Since, Bitcoin uses some underlying concepts of cryptography, this new way of exchanging money was categorized as cryptocurrency. The only purpose of Bitcoin was for financial transactions but researchers realized that its foundational technology can be harvested to build other secure and robust applications that can revolutionize the way current systems work. “Blockchain” was the name given to this foundational technology. Lots of technical words? Let’s simplify!
What is Blockchain? — A Real World Analogy
Let’s imagine that you live in a city, which has a big parking space to park 200 cars at one time (assume that the parking space just has a ground floor). This parking space has a main gate which stays locked and is only opened when a car moves in or out. Now let’s analyze this single parking building from different points of view —
- Price: Since some private company built this parking space exclusively for parking purposes and all the maintenance cost will be beared by the owner company, there will be a high renting fee for renting out a single parking space.
- Security: If thieves get access to the main door, they can easily get to your car (take its wheels, or fuel, or damage the brake, anything!)
- Limit: What if the number of cars in your city grow from 200 to 300? The parking space will not have enough space for all cars and some other private agency will have to built a new parking space.
- Trusted: You trust the parking space company and they are responsible for taking care of security and reliability.
- Centralized: Since all the cars are in one building, we can consider it to be a centralized parking.
Now, let’s modify the current scenario. Imagine that there are 200 houses in your city and all 200 houses have two garages each. However, to simplify our explanation, let’s assume each house just has one car (all cars filling up all the slots of big parking space described above). So, each house has one empty garage out of the two garages available. Now, let’s say people of the city decide to rent out the extra garage to anyone who needs a parking. This model of providing parking space will solve the problem of parking 200 cars or more cars (in case people move in and out of the city) without the need of building any central bigger parking space for the entire city. Similar to the previous scenario, let’s analyze this scenario —
- Price: Since people didn’t built the second garage exclusively for renting purposes and the cost of maintenance will be little, the cost to rent that extra space will be low comparatively to the big central parking space
- Security: Each car is locked in a different garage therefore thieves will have to unlock all the garages to get access to the cars, thus providing more security. (Security in blockchain is a bit different but for simplicity let’s consider it this way for now!)
- Limit: As the number of houses grow, assuming each new house also has extra garage space, the space to keep more cars will keep increasing. Thus, increasing the network of lessee and lessor.
- Trustless: Since, no central authority controls these distributed parking spaces, we assume that there will be certain rules set by all the participating garage owners for renting out their places.
- Decentralized: As mentioned in the previous point, these parking spaces are distributed throughout the city, we can consider it to be a decentralized parking.
The above analogy provides the foundation for understanding the actual technical infrastructure of the Blockchain.
At its core, a blockchain is not so different from a regular database. It stores information on things that happened in the past, with unique attributes, such as:
- Decentralization — no single party has control over what information goes in
- Consensus — many different parties store exact copies of the same ledger, so the majority has to agree on the information being added
- ‘Add-only’, meaning you can’t edit what’s already there, you can only add information
- New information can’t conflict with what’s already been added
- Information is able to be accessed and replicated by everybody on the network
The most important feature of a blockchain is decentralization. Copies of a blockchain ledger are stored and updated on computers all over the world, meaning that there is no central authority to make decisions.
The parking model presents a very basic overview of Blockchain in some real world language. Now, let’s try to match the components of our parking example to the actual technical model —
- The big central parking is a centralized system like AWS, Google Cloud etc. (these cloud platforms are also distributed at some level but for the sake of simplicity, we will assume them to be a single entity).
- The cars are the data and applications.
- The distributed parking is a decentralized system — Blockchain.
Wait! We missed something.
All decentralized systems are not Blockchains!! Yes, Blockchain is a particular type of decentralized system that has a unique property. Which property? Let’s talk about it.
Let’s take a look at a Bitcoin transaction as an example of how blockchain works (Bitcoin is just one possible application of blockchain technology. Blockchain is to Bitcoin what the internet is to email):
Let’s say I have one bitcoin and I want to send it to you. Everybody who holds a copy of the Bitcoin ledger can see that I have one bitcoin and you have zero (but on the Bitcoin network our identities are relatively private).
I can then send you one bitcoin, and the network will see this and immediately update every ledger.
But what if I’m greedy, and want to try cheat the network?
I could change my copy of the ledger to say I have 2 bitcoins, send you one and use the other to buy myself something nice.
But in the history of the Bitcoin network this act of double-spending has never happened.
To understand how and why blockchains are so resistant to tampering and fraud, we need to understand how they work.
Without getting too technical, let’s take a look under the hood and see what’s going on.
The information stored on a blockchain is stored in groups — called blocks — and each block is time-stamped and linked to the one generated before it in time, creating a linear chain of blocks — hence the term blockchain.
Each of these blocks contains 3 types of information:
- Data on transactions
- The block’s hash
- The hash of the previous block
This is really important, so bear with me while I explain what a hash is. Essentially it’s like a block’s fingerprint — a unique string of numbers that identifies each block. The numbers are automatically calculated based on the information stored in the block. If you change the information in the block you change the hash, and therefore the block’s identity.
The hash of the previous block also sits in each block, which is what creates the chain of blocks, and is what makes a cryptocurrency like Bitcoin so secure.
Take a look at this graphic:
Each block contains the three elements listed above. But watch what happens when I try to tamper with the information in block 2 to give myself that extra bitcoin:
Block 3 contains the hash of block 2, but when block 2 is changed, so does its hash, meaning everything in block 3 and beyond becomes invalid, breaking the chain.
I’d then need to re-calculate the hashes of every block that has changed.
But it doesn’t stop there. The Bitcoin network makes it intentionally difficult to find these hashes. On average, the hash for a block is found every 10 minutes by computers constantly guessing random numbers and seeing if one fits (it’s actually a lot more complicated than this). This process is called ‘proof-of-work’ (PoW), and is done by powerful computers called miners.
So for every block I stuffed up, it would take me 10 minutes of intense calculation to mine each block and find the correct hashes.
And that’s just for my copy of the ledger.
The Bitcoin ledger exists on thousands of computers all over the world, so to fake that transaction, I’d need to somehow get access to over 50% of the computers, and repeat the mining process for all the ledgers I control.
This is insanely expensive from a computational standpoint, as I’d need an almost impossible number of computers to pull it off.
But by the time I did, and was able to give myself bitcoins at will, the rest of the network will have noticed. They would either try to kick me off, or would desert Bitcoin in droves, crashing the price and leaving me with control over a worthless currency.
So it’s pretty easy to see that blockchains are incredibly resistant to fraud, and why they’re considered ‘trustless’ — it’s in everyone’s best interest to play by the rules.
So why is all this important?
That’s a good question. Blockchain technology is still very much in its infancy, but promises to revolutionise many different industries, such as:
Banking and payments
Governments can use blockchains to implement secure and accurate voting, public record keeping, citizen identification (IDs) and border control.
Medical records are notoriously inaccurate and difficult to transfer. If they were hosted on a blockchain they would be secure, accurate and easily accessible by approved parties.
Want to know if those apples are actually organic? Or if that diamond ring is sourced ethically? Putting goods like these on the blockchain would allow consumers and businesses to gain greater transparency on the lifecycle of their products.
No more calling up and hassling your insurer for weeks before getting your payout. With the implementation of smart contracts on the blockchain, insurers would be able to instantly accept and pay out claims to customers based on predefined rules.
This is just a taste of what blockchain is capable of.
All, some or none of this may eventually come to pass, but the technology is fascinating and exciting nonetheless.