Diving into blockchain has been a fascinating process, filled with rabbit holes left, right and centre. I had never really gotten down into the nitty-gritty details on what blockchain really is, let alone read through Satoshi Nakamoto’s bitcoin whitepaper.
I realised quickly that blockchain can be broken down into 3 “buckets” that are separate, but yet interlinked within each other. It may not be a 100% accurate depiction of what blockchain really is, but it makes it easy for the layperson to begin to understand the concepts behind blockchain.
Blockchain For Idiots Like Me
Essentially blockchain can be split into 3 separate buckets.
- Timestamped append-only server— this essentially refers to the cryptographic portion and the timestamp function of blockchain. This is interwoven throughout all of the blockchain.
- Auditable database — This refers to the ability for anyone to track the validity of the information placed onto the blockchain
- Consensus — One of the most important parts of blockchain, getting people to agree verify the information to be put onto the blocks
Key Innovation Of Satoshi Nakamoto’s Trustless System
One of the main geniuses in Nakamoto’s bitcoin system was his ability to achieve consensus. How do you verify that the information/ transactions put into the blockchain is real and true?
To answer that question, first what needs to be understood is the problem. The Byzantine General Problem is a thought experiment that refers to a scenario of a bunch of generals looking to attack a castle. The generals have no way to communicate amongst themselves and even if they were to use messengers running around, there is a huge possibility that the messengers would be sending outdated messages, they could be killed in the heat of battle or these messengers could be saboteurs looking to thwart the assault.
The only logical way to accomplish the mission is for all the generals to send their troops to attack the castle but what happens when 2 generals retreat and the rest of the generals were not privy to the decision made?
It would result in huge losses on the battlefield.
So how did Nakamoto solve this issue in bitcoin?
Well, he used proof-of-work.
What is Proof-Of-Work?
To make this as simple as possible. Proof-of-work essentially refers to the mining portion of bitcoin. I’m sure many out there have heard about “mining” in bitcoin.
Let me break it down simply.
If I want to input my transaction onto the blockchain database, I would need a to achieve some form of consensus in order to verify that my transaction is legitimate and not fraudulent in nature.
This blocks the most common way that people have tried to fraud the system through double-spending. When a coin has been spent, some have tried to retrieve that same coin to spend it on another transaction.
Nakamoto used Adam Back’s Hashcash concept of proof-of-work in order to prevent such fraud in the system.
Nakamoto placed a nonce, what I understand as a puzzle (not to be mixed up with the British slang for paedophile). This nonce is a mathematical puzzle that requires computing power in order to solve it, you could use it with your laptop but you would probably not be able to compete with the computing power of mining farms in China.
Because you spent all that resources (electricity and time) to solve the puzzle, assuming that you do it successfully, you will then be able to receive the rewards for solving that puzzle and hence would be allowed to verify if the transaction is indeed kosher.
If a dishonest character wants to temper with the old block to try and get back his coin, he would have to then redo all the blocks that came after his block because of the inbuilt hashing security placed into the system. So, Nakamoto proposes that trying to punk the system is way harder to than to work with it and get paid.
Because mining bitcoin requires vast amounts of computing power, many have argued that proof-of-work is not an effective way to achieve consensus. Solving the cryptographic puzzle has led to a computing race, with mining companies being set up to achieve the sole purpose of solving them and attaining the financial rewards from it.
These mining companies constantly build bigger and grander computing rigs in order to beat one another. This has resulted in huge electricity usage. Some have calculated that the energy used to mine bitcoin could be used to power the whole country of New Zealand or Hungary.
Another glaring issue that proof-of-work faces is the possibility that all major mining companies decide to turn rogue and overthrow the system. What happens is that these companies can do a 51% attack. Since these companies own majority of the nodes (networks), they have the power to start approving fraudulent transactions and start ruining the network.
Although financially it might not be favourable for them to do it, it is still a huge possibility that such an incident could happen.
The alternative consensus protocol to prevent such an issue is called proof-of-stake. Proof-of-stake refers to a different way to verify information placed on the blockchain. If you want to be part of the validators in the system (analogous to a miner), instead of having huge computing power, what you need to do is to place a stake into the system. Let’s say I put in $100 into the vault. My $100 is kept safely in the vault and it represents my interest in wanting to be a validator.
So the system would then pick a random validator (based on the stake you’ve placed into the vault). If you placed $100, you’ll be able to validate transactions up to $100. If you placed $1000, your limit increases up to a $1000 and you have a higher chance of receiving requests to validate the transactions which in turn results in a reward.
If you failed to validate the transaction correctly, a portion of your stake in the vault gets burnt, leading to financial repercussions.
Although proof-of-stake solves many of the inefficiencies that proof-of-work brings up, it does not come without flaws.
Some questions people are concerned with is that if you place a really high stake into the system, then the probability of getting more transactions to validate is way higher and this results in a “rich getting richer” problem, where the big players essentially control the network.
The Game Continues
There are no easy solutions to these problems and one can argue that traditional central banks contain lots of inefficiencies and wastages as well.
And so, my research continues and the game rolls on and on …
Till next time.