By Chongchen Saelee
When I first conceived Bitcoin for my high school assignment, I had to come up with a way to simulate existing financial system or at least what I thought it was. So back in the late 1990s, people were already using credit cards (a kind of non-tangible money) but there was very little integration or user-friendly interface with the Internet. Then PayPal came along which was pretty close to “Internet money”, but was obviously just an exchange between existing currencies.
So my homework was to come up with a decentralized form of money. Centralized money means that a central entity, such as a federal bank, comes up with all the rules and issues the money. Its users are bound by the central authority’s rules and control of that currency. So if current state of centralized currency is sheep and herder structure, then I thought a decentralized system would be the opposite: make the sheep their own herders. It’s a ring of trust among those who would use this imaginary decentralized currency. The question is who would come up with the currency and rules, which is inherently centralized? And not to think too hard about it, obviously it would be me, since I have to come up with it for the assignment.
NOTE: Bear with me, this was such a long time ago, I may leave out a lot of details.
Coming up with the pseudonym Satoshi Nakamoto wasn’t my idea, it was actually part of the assignment. I picked the name out of a box of papers sitting out in the computer lab while I was writing it last-minute.
Anyway, so in order for people to want to use your made-up money, there has to be an incentive. It needs to have some kind of value. Otherwise, anyone can coin their own money and hand it out, but that’s not practical because it has no utility. It started out as a closed system, or what I envisioned could be virtual currency for a multiplayer online game. It was never intended to be monetized and used as real system of payment (only later did I learn that was illegal). So the idea was that every player that was playing this multiplayer online game had to be accountable and honest about the amount of virtual currency they had on the network. Clearly, if those values were stored on a central server, the very clever players can hack their way in and change the values. They could write a bot and exploit the values that way too. Pretty much, if you want the network to have honest players with honest amounts of virtual money, it can’t be stored on a central server. To avoid dispute where one player accuses another player of having more money or obtaining the money illegally, obviously, you don’t come up with some kind of money police. You make ALL the players the police. So every player is held accountable for all the players’ money.
This is where The Blockchain comes into play. It’s similar to a database, but whereas a database is usually just one copy referenced by everyone, the blockchain MUST be distributed amongst EVERY user of the network. This is important because in order to hold every player accountable for the other players’ data, each player must be able to read and write to the blockchain asynchronously without altering the blockchain’s integrity. If every player’s copy of the blockchain didn’t match exactly, that would defeat the purpose of everything. And having every player’s copy of the blockchain match as closely as possibly gives the blockchain better validity for backups in case any copy ever gets corrupted somehow.
So like any chain, you have to build the first link before other links in the chain can be attached, otherwise it’s just a chainlink. To create a sense of accountability, everything must be stored on record from this first link. That doesn’t seem like a doable task, but hey, if you want accountability, you have to do it this way. So the first link in the blockchain is the Genesis block. The Genesis block is where I coin the amount of finite coins to be mined. By applying a limit to the amount of coins, I’m creating a since of scarcity. This is the supply and demand principle you will learn about in economics. Obviously, when it comes to digital data, you can come up with whatever number you want. The reason I came up with 21 million was quite random and was a combination of how much debt America was in during late 1990s (that was the point of the assignment I’m assuming), how much CPU power my personal computer I could utilize (with prediction of CPU power increase according to Moore’s Law for the next couple of decades), and just because. LOL. The paper had to get done.
The psychology behind a Bitcoin being divisible by 8 decimal spaces is to give the illusion that the numbers are smaller. In actuality, the number of abstracted objects is the same. If I had to come up with a solution to the US Federal Reserve’s solution to inflation, where they just keep on tacking on more zeroes at the end of their supply, as a 14 year old who was decent at math, I simply said move the decimal spaces the other direction. A lot of the shit just has to do with human pyschology. Greed doesn’t change just because you make the debt number smaller. I grew up poor so I understood the nature of greedy people, where even amongst the dirt poor, there’s always the greedy of the greedy. I’m not saying poor people are greedy, but when it comes to not having any resources, you can bet the dogs will fight for the bones, even though every dog gets their own little bone to eat.
So in order to issue or distribute the Bitcoins to the players on the network, I can’t just assign them random values. I can do that for myself obviously as the creator. But anyone coming onto the network who is complaining about what is fair and not, they have to participate in the rules of the protocol so that they do get a sense of security that what amount is theirs is theirs. I thought I could create a sense of scarcity by basing the Bitcoin distribution method on the US Gold Rush. Each player has to mine for their Bitcoins. Using a very convoluted system, but very simple algorithm, each player can retrieve their share of the big Bitcoin pot. When they “mine” their bitcoins, it gets written to the blockchain. That blockchain then gets sent to the other players on the network, at which point, the other players can see that in fact that player owns such-and-such bitcoins. The assumption that if it is written to the main blockchain is that the value must be true. The only way it can be true is if the value is validate and agreed upon by every player on the network.
Validation is the consensus mechanism for the blockchain. To put it simply, it’s like this:
Player A is the first person on the network to “mine” some bitcoins because he solved the mining algorithm first. A simplified example of the solution to the algorithm is like 2 + 2 = 4.
So Player B receives 2 + 2 = 4 to validate. Obviously it’s universally true because it’s simple math that 2 + 2 = 4. So Player B now can’t say that Player A is getting unfair amount of Bitcoins. So Player B signs off on it, that’s one vote that Player A’s mined Bitcoins are valid.
The Player C receives 2 + 2 = 4 to validate. So on and so forth, all the way through the network until reaches back to Player A.
So once “consensus” is agreed upon, then it’s safe to assume Player A has mined his Bitcoins and that shit gets written onto the blockchain permanently. Now everyone, having agreed upon that value, can see for themselves that Person A is that much richer with Bitcoins. Imagine this but on a much bigger scale, more powerful computers, faster, and with bigger numbers.
What’s important is this ring of trust amongst the untrusting. So I didn’t create a money police. I let math and some basic human dynamics solve the problem for themselves.
So how did I do on my homework grading? A++, it somehow blew the instructor and class away. The school got involved, escorted around meeting government folks in black shiny suits, Bill Gates wanted a derivate, got stalked by a couple of crazy federal agents, Edward Snowden did his thing out of guilt, etc, etc. That’s what happened from a simple homework assignment (in retrospect, that possibly had NSA agenda written all over it).
Tags: bitcoin, blockchain, explained, math, nsa, satoshi nakamoto, secrets