“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.”
— The Genesis Block – Bitcoin Blockchain
In the early 2000s, before I was a developer and before I was even introduced to the concept of coding, I wrote a chicken scratch paper. It was for an internet-based currency that could be self-creating and have a deflationary bias. My motivation was similar to what Satoshi’s motivation was for creating Bitcoin.
In other words: We have been let down.
The trust we placed in our governments to not deflate our currency, to not allow our information to be leaked to malicious third parties, and to not use our information to trample on our constitutional rights has been violated over and over again.
Whether it is quantitative easing, using taxpayer money to keep in business the very institutions that brought the entire world economy to the brink of collapse, or repeated leaks of personal data, our governments and financial institutions have failed us.
In the Bitcoin genesis block, Satoshi left a clue as to why he was creating Bitcoin. He was sickened by the goings-on of the financial sector and government collusion in the corruption rampant there. At that time, the world was hungering for an alternative to trusting our governments and our financial institutions with our money, our data, indeed our very freedom.
The world was hungry for change, and as the 2008 financial bubble burst, many of my peers and I came to financial maturity at very uncertain times.
Satoshi is a personal inspiration for me, and he should be so for other developers. He succeeded in creating the first decentralized currency. He solved some of the most pressing problems of our times using nothing but a few lines of code.
In case you were wondering, no, my chicken scratch was not nearly the genius that is the Bitcoin paper, but it is an indication that lots of people all around the world were thinking about this problem: the problem of trusting a third party.
Two’s Company, Three’s A Crowd
“What is needed is an electronic payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party. Transactions that are computationally impractical to reverse would protect sellers from fraud, and routine escrow mechanisms could easily be implemented to protect buyers.”
Before we get into the genius that is Satoshi, indulge me in this thought exercise. Have you ever thought about what money really is? I don’t mean the physical coins and bills we use everyday but the fundamental nature of money. Why do we use it to transact everything? Why is it so central to the very existence of civilization?
It may require books and books to prove the next few assertions that I am going to make; I invite you to have some faith in what follows.
Money fundamentally is a medium of exchange. We can exchange goods and services in any medium we prefer. Other mediums such as gold, silver, and even feathers have been used as currencies in the past. In order for money to become accepted, it has to have three properties: portability, store of value, and ease of exchange.
While gold, silver, and feathers had these properties, as society became more and more complex, it became cumbersome to carry around large pieces of gold/silver to transact with—and can you imagine trying to buy a car with a bunch of feathers?
We needed a solution to the portability problem. How the problem came to be solved by the natural evolution of society can be illustrated by a simple parable I will call “The Goldsmith’s Tale.”
The Goldsmith’s Tale
“As a thought experiment, imagine there was a base metal as scarce as gold but with the following properties: – boring grey in colour – not a good conductor of electricity – not particularly strong, but not ductile or easily malleable either – not useful for any practical or ornamental purpose and one special, magical property: – can be transported over a communications channel”
Once upon a time, long ago, there lived a goldsmith. He was a man of ambition and was skilled in his craft of goldsmithing. He knew how to ascertain the weight and purity of gold coins, and the gold coins he struck were known for that. The goldsmith also had a vault in which he kept his own gold, and he hired a few guards to protect his gold.
Some wealthy townsfolk came to the goldsmith and asked to rent space in his vault for a fee, as they were afraid of their gold being stolen. So the goldsmith accepted the customers deposit of gold and issued the customers a paper receipt in the amount of the gold the customer deposited.
What the goldsmith observed was that the townsfolk started using the paper receipts of gold for exchanging goods and services instead of the actual gold, and thus was born paper-based currency and the modern banking system.
At its outset, paper money was simply a receipt that represented some amount of gold in a vault somewhere. This also introduced an interesting concept to modern society: the trusted third party.
The third party (the goldsmith in this case) would hold on to the valuable medium, and as long as the two transacting parties trusted the goldsmith enough, transaction in paper could occur.
The trust in the goldsmith included that he would not steal the gold, that he would honor the paper checks for real gold, and that he would not print fake paper receipts of gold so that people could transact in paper instead of gold.
Modern currency is no longer gold-backed, but instead, it is fiat currency. Fiat currency is backed by government fiat or decree that gives the currency its value. By accepting tax payments in the form of fiat currency and by passing legal tender laws, our governments give fiat currency purchasing power.
This raises a problem similar to the one that arises when we trust a goldsmith. We must trust our government to not print too much of this money and to not use it for nefarious purposes such as printing money to award political allies and using its monetary fiat muscle to meddle in free markets.
Another reason trusted third parties such as banks are needed is what is called the double spending problem. When you go to a store and buy your groceries and swipe your card, what is happening? What the bank (the third party) is guaranteeing is that the money owed to the store has been withdrawn from your account and won’t be spent again anywhere else.
After all, our accounts are just ledger representations of money written in bits and bytes. The bank guarantees that the purchaser won’t spend that same money again while guaranteeing the deposit to the seller’s account.
To avoid this double spend, we need third-party institutions that verify that the money has in fact been spent and the same money won’t be spent twice. However, we have seen the consequences of placing our trust in these institutions time and time again.
So now we are stuck. Either we trust a third party such as a bank, or we have no way of solving the double spend problem. How can we create trust between two transacting parties without the need for a trusted third party that can be easily compromised?
Whether it is trusting a government to not print excessive money, trusting a bank to withdraw money from the buyer’s account and deposit it in the seller’s account, or even trusting the goldsmith with our gold, the fundamental problem remains the same: trusting a third party.
Trust Without Trust
“Being open source means anyone can independently review the code. If it was closed source, nobody could verify the security. I think it’s essential for a program of this nature to be open source.”
Now that we have an understanding of the third-party trust problem and the double spend problem, let us switch gears a little. Let us talk about our favorite thing: code.
The third-party trust problem and the double spending problem had been on many people’s radar before including mine, and many people had attempted to solve it. No, Bitcoin was not the first electronic currency, as there were many before it. Then the question begs to be asked: Why was Bitcoin successful where so many others had failed? The answer lies in the code.
Code is beautiful, and code is plentiful. In fact, any first year student of computer science at any university has been exposed to the concept of problem-solving using code. Whether it is representing complex mathematical equations using data structures or using algorithms to find ingenious solutions to difficult problems, code has been used to solve many problems over the few decades that it has existed.
The third-party problem and the double spending problem were also begging to be solved, but how did Satoshi solve these problems? He solved them using an ingenious data structure: the blockchain.
The Blockchain
“We propose a solution to the double-spending problem using a peer-to-peer network. The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work. The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU proof-of-worker. As long as a majority of CPU proof-of-worker is controlled by nodes that are not cooperating to attack the network, they’ll generate the longest chain and outpace attackers. The network itself requires minimal structure.”
What is a blockchain? I am glad you asked. A blockchain is exactly what it sounds like; a chain of blocks. You can think of each block as a piece of information such as how much money someone has in their account.
Each block in the chain is linked to the block before it and the block after it using cryptography such that if the information in any particular block were to be changed, all blocks after it would become garbled.
This presents another problem: What if someone actually is able to break the cryptography and change the information in a previous block? What happens then? That is where a peer-to-peer network comes in.
If someone is able to successfully break the cryptography and able to modify a previous block, since the ledger of blocks is distributed over many nodes in a peer-to-peer network, other nodes would notice the problem, and it would cause the node causing the offense to be rejected from the network.
How does this solve the third-party trust problem? Well, imagine in this scenario that when you spend money, you record the transaction not in the ledger of a third party but in the blockchain. And what if all nodes in the network are the trusted third parties? Meaning trust could be established not by using a trusted third party but by trusting everyone in the network and by trusting the code.
This is the ingenious insight that Satoshi brought to the world, and with this insight, he changed it forever.
The Cryptocurrency Revolution Philosophy
“A lot of people automatically dismiss e-currency as a lost cause because of all the companies that failed since the 1990’s. I hope it’s obvious it was only the centrally controlled nature of those systems that doomed them. I think this is the first time we’re trying a decentralized, non-trust-based system.”
So what if Satoshi solved the double spend and the third-party trust problem? What really is the big deal? Why is the world going crazy over a few lines of code?
Using what is essentially some code that is simple enough that a high-school-aged kid could understand and improve it, Satoshi solved a problem and created value that is difficult to really grasp in terms of the impact it can have on humanity.
Imagine this: For the first time in history, humanity could be capable of freeing itself from debt-based inflationary fiat currency. As national currencies break down and it becomes easier for the entire world to participate in the newly created trustless crypto economy, wars may become a thing of the past. We may soon realize that it is more profitable to cooperate economically with other humans than to kill them.
All of humanity could become bankable. From the smallest of the small vendors to the largest of the large corporations, everyone in the world would be able to transact with each other without worrying about exchange rates and government interventions in free trade, such as tariffs and taxes.
Almost every person in the world that does not have access to traditional financial institutions such as banks would have access to all services a bank provides. All they need is a smart phone and these days, they are very very cheap.
We might be able to get rid of the consumption and spending spiral that keeps fiat currencies afloat. We might be close to environmentally friendly economic policies because we might not need to reach some arbitrary GDP growth objective, and we might finally be rid of the endless series of booms and busts in the economy called the business cycle.
“I am Satoshi Nakamoto”
“It’s very attractive to the libertarian viewpoint if we can explain it properly. I’m better with code than with words though.”
Why was Satoshi able to solve the third-party trust problem and the double spend problem? Because he was crazy enough to think that he could.
As a developer, I strive to change the world, and I hope all developers reading this do so as well, but Satoshi actually did it. Bitcoin is a master class in designing data structures and algorithms. If you, dear reader, are a developer who wishes to leave the world better than you found it, then you should strive to be like Satoshi. I may never achieve what he did, but I can advertise his accomplishments.
I always dreamt of creating something that fights the corruption that results from government and financial corporations being in bed together. I always dreamt of helping my fellow man. I still dream of creating a better world for future generations. But what can I do? I am just one developer.
Well, Satoshi proved what one developer can do. One developer can put the entire world on alert. One developer can change the world. One developer can create the foundation of Ethereum.
So no, I am not the reclusive billionaire who wrote a white paper that changed the world, but perhaps some day, I can meet him. Perhaps some day I will be sitting at an airport sipping a coffee and someone will tap my shoulder and say “Hi, I am Satoshi Nakamoto.” Perhaps some day I will meet him.
Until that day, I am Satoshi Nakamoto, and if you, dear reader, want to change the world, if you want to be so good at your craft that your code changes the world forever, if you want to bring positive change to this world by writing code, then you are also Satoshi Nakamoto.