Bitcoin: A Layman’s Explanation
Why I’m writing this
Four years ago, I first came across the original paper for Bitcoin. I was blown away. New ideas are common, but ideas that challenge the fundamentals of our society are rare. To me, Bitcoin is as timely as it is novel. It combines some of the best ideas in computer science and comes at a time when we are becoming increasingly distrustful of centralized authority systems.
It feels like 2017 will go down in history as the year blockchain technologies go mainstream. I am uncertain whether Bitcoin itself will sustain value in the long term, but I am certain the ideas behind Bitcoin (i.e., the blockchain) are here to stay. I’ve frequently found myself explaining how Bitcoin works to curious people around me. It’s time to put these thoughts in writing.
What is Bitcoin?
Simply put, Bitcoin is a currency. Do you know what a Dollar or a Euro is? Good, because a Bitcoin is not much different in principle: you exchange Bitcoins with others in return for goods and services. You can also trade it and speculate on its value just as currency traders do with other currencies.
At this point, you may be wondering how much a Bitcoin is worth. Well, the answer is it’s worth however much someone is willing to pay for it. At the time of this writing, a single Bitcoin is worth around $3,800, but this value is constantly changing. It may seem odd that there’s no “inherent” value to Bitcoin, but remember that most “real” currencies also don’t have an inherent value. For example, how much is a U.S. Dollar worth? At the time of this writing, someone in Germany would say it’s worth about 0.84€ in Euros.
Indeed, this is the very idea behind fiat currencies, such as the U.S. Dollar. Their value is a function of people’s trust in the currency rather than some inherent value. Since the 1970’s the U.S. Dollar has not been tied to the price of gold.
Bitcoins do not have a physical form. They are purely a digital currency that are traded online.
What benefits does Bitcoin offer?
In order to understand the benefits of Bitcoin, we need to first think about currencies in general. Bitcoin or otherwise, a currency must have several qualities. Among these qualities are the following two:
- Currencies must have a limited supply
- Currencies must not be easy to counterfeit
If condition #1 isn’t met, a currency will have no value. If condition #2 isn’t met, then anyone can make fake copies and spend more than they have.
In the history of humanity, gold is arguably the most well-known currency. Gold meets both of these conditions extraordinarily well. Gold certainly has a limited supply — by some accounts, the world supply of gold could fit into a 20 square meter cube. Moreover, gold is nearly impossible to counterfeit since it is an element and it is difficult to create a convincing substitute.
Similarly, the U.S. dollar shares these characteristics. The U.S. government controls the supply of dollars and takes measures to ensure it is exceedingly difficult to create counterfeit copies of notes and coins.
In the modern era, however, it is not convenient to use commodities like gold for the purpose of making a purchase. It’s also not convenient to trade physical notes and coins to make purchases; after all, you wouldn’t want to exchange physical bills and coins each time you made an online purchase! So, these days we find ourselves turning to electronic methods such as credit cards, debit cards, and wire transfers.
Let’s think about what happens when we use a debit card at the store: the merchant swipes your card, which results in your bank being contacted to verify whether or not you are authorized to make the purchase. The bank is vouching for you, assuring the merchant that you have the funds needed to pay for the purchase. This step is needed to ensure you don’t double spend your funds. In other words, if you only have $100 in your bank account, your bank should not allow you to spend $100 at one store followed by another $100 at a different store. That would mean you spent twice as much money as you have (i.e., you have double spent your funds).
So what’s the problem with the current system? The problem is authority. Your debit card company is acting as the single authority that determines if you can spend your funds. Even in the case of physical bills, the government has the ability to control how and where funds move. This may not seem like a big deal, but consider some of the things you’re giving up under this arrangement:
- Limited mobility — companies and governments can decide how and where you move your money.
- Transaction costs — wiring money between banks and between borders is often associated with expensive fees.
- Control of your funds — your bank accounts and assets can be frozen for various reasons, effectively making those funds unavailable to you.
- Reversibility of transactions — banks have the ability to reverse transactions once they are made.
- Lack of anonymity — it’s nearly impossible to remit anything but the smallest transactions anonymously.
Unlike a government-issued currency or a credit card, Bitcoin has no central authority that controls transactions. Instead of relying on a single authority, Bitcoin democratizes the process by distributing the power across everyone, effectively preventing any one organization from controlling the rules. It does this while ensuring funds cannot be double spent. The ability to prevent double spending without giving control to a single authority is the novel breakthrough introduced by Bitcoin.
How can I “own” Bitcoins?
Much like you put bills in your wallet in the real world, you can hold Bitcoins in a virtual wallet.
Bitcoins are represented by “addresses” (sometimes called “public addresses”) where others can send you funds. If you want to get paid, you give someone else your address and they can send you Bitcoins there. A person can have multiple addresses; your Bitcoin wallet will just be a collection of all the addresses you own. Think of a Bitcoin address like your email address, except you receive money there rather than email.
In addition to having an address, you also have a “private key.” An address will allow you to receive funds, but you cannot send funds without your private key — that’s why it’s private! As long as you have your private key, you can access your funds and send them elsewhere. It’s up to you how you store your private key, but you need to ensure it doesn’t get in the wrong hands or someone else will be able to spend your Bitcoins!
Remember, both your public Bitcoin addresses and your private keys are nothing more than a sequence of characters. Here are some random examples of a public address and a private key:
- A Public Address: 1P1VuFz4yCn32SF8VsuMyyaM5BGkV3feQR
- A Private Key: E9873D79C6D87DC0FB6A5778633389F4453213303DA61F20BD67FC233AA33262
As you can imagine, it’s pretty scary that someone can access all of your currency by just knowing a sequence of random characters. For this reason, people will go to some lengths to guard their private key. Some people guard their private keys by putting it on a hard drive that is not connected to the Internet (called “cold storage”), others will use a hardware wallet, and yet others will write their private key on a piece of paper.
How Bitcoin Transactions Work
As I mentioned earlier, the biggest problem Bitcoin solves is the ability to prevent double spending without relying on a central authority. Let’s quickly review how double spending was solved prior to Bitcoin.
Transactions with cash
Let’s imagine I have $10 of cash. I decide to pay it to John on January 1st, who then later pays it to Jane on January 2nd. When I hand over my cash, I deduct $10 from my net worth and add it to John’s.
Only one person can be in possession of the $10 bill at a given time. Prior to January 1st, that person was me. On January 1st, I handed it over to John. On January 2nd, John handed it over to Jane.
The transactions would look like the following:
Transactions with a debit card
Let’s look at that same example with a debit card. In this case, we are replacing the physical bills with a bank. The bank is responsible for tracking how much money each person has in their bank account. If I pay John, the bank must ensure that the money is taken from my account and put into John’s.
The updated example looks like this:
The bank’s computer systems are responsible for tracking these transactions. Each transaction simultaneously adds to one account and removes from another. The bank must ensure that each person’s account reflects the correct balance at the correct time. Imagine if the bank had a software error on January 1st that credited Jane’s account instead of John’s — this would allow Jane to spend $10 she isn’t supposed to have!
We are relying on the bank to track these transactions over time.
Transactions with Bitcoin
Bitcoin transactions are similar to the debit card example. Just as a bank maintains a ledger of past transactions, Bitcoin also maintains a ledger that tracks the dates and amounts of each transaction. Bitcoin, however, does not require a central authority (such as a bank) to track the ledger.
Just as you hand physical currency from one person to the next, you can send Bitcoins from one person to another. In fact, it’s easy to think of a Bitcoin as a contract. The contract states the current owner of the Bitcoins. Each time you want to send it to someone else, you just update the contract to state the new owner.
Conceptually, it looks like this:
Each time a transfer is made, the owner specifies who the funds are being transferred to and then signs their name to authorize the transfer of funds. Note there is also a photo of the previous contract in each transaction (and this photo itself contains a photo of the contract that came before it); this ensures that you can’t rearrange the order of transactions.
In reality, these contracts are “signed” with digital signatures and the “photos” are cryptographic hashes, but those are technical details outside the scope of this post, so let’s just keep it simple.
So we’re done, right? Not quite. There is still one problem with this system: you can double spend your coins. In the example shown above, I transferred 10 Bitcoins to John; but what if I simultaneously transferred that Bitcoin to someone else named Ted? Then I’d be transferring 20 Bitcoins even though I only had 10 Bitcoin to begin with!
The Blockchain
The blockchain solves this double spending problem. The blockchain is an authoritative list of all the transactions that have happened in the past. Because the blockchain maintains a history of past transactions, it can be used to validate a Bitcoin has only been spent a single time.
New blocks are added to the blockchain periodically and the blockchain is not stored by a single authority. Rather, it is distributed across the entire Bitcoin network, so no one maintains control of the blockchain.
Much like in my previous diagram, each block added to the blockchain contains a “photo” of the previous block (which, in turn, contains another photo of the block that came before it). This makes it extremely difficult to go back in time and fraudulently alter a single block because you would also need to alter the “photo” in each and every block that appeared afterwards. In other words, each new block strengthens the validity of the blocks that came before it.
Because the blockchain has copies stored across the entire network, it is nearly impossible to alter fraudulently. A fraudulent change in the blockchain may be introduced temporarily, but it will quickly be discarded as there will be many more legitimate copies that can “outvote” the fraudulent one.
Mining Bitcoin
So how are new blocks added to the blockchain? The answer is through the mining of Bitcoin.
Much like a gold miner will search for gold, a Bitcoin miner must also do some work to earn Bitcoins. Miners are given problems to solve. Each time a problem is solved, the answer is broadcast to everyone and a new block is added to the blockchain. Additionally, the person who solved it is rewarded some newly minted Bitcoins. New blocks provide a valuable service to everyone because they store a list of the latest Bitcoin transactions that have happened, effectively recording the time they took place in history. In other words, each new block adds to the ledger of transactions. If you’re sending Bitcoin to someone, you will also usually include a small transaction fee; this serves as an added incentive (on top of the newly minted Bitcoin) for the miner to include your transaction in the block.
The miners are happy because they receive a reward in the form of newly minted Bitcoins and transaction fees. Everyone else is happy because a new block is added to the blockchain, resulting in transactions being validated against double spending. It’s a win-win.
So what kinds of “problems” do miners have to solve? Well, they are mathematical problems that can be solved by any computer. However, the problems can only be solved through trial-and-error and require a lot of work to solve. Additionally, the difficulty of the problem is dynamically adjusted. If a problem was solved too quickly, then the next problem will be more difficult. Conversely, if the problem took too long to solve, the next problem will be easier.
Think of the problems like a slot machine. If you just need to get one “7”, it’s pretty easy. But the more consecutive 7s you need to get, the more work you’ll have to do to win. Because, I can adjust the difficulty of the problem, I can ensure how long it will take you to solve it on average.
Let’s say in the future, you get a bionic arm that allows you to pull the slot machine lever 10 times quicker; well, I’ll just make the problem 10 times harder. Or let’s say you install multiple slot machines and have your friends come and help you out; again, I’ll just make the problem more difficult. In the same way, Bitcoin ensures that as computers become faster and more miners enter the playing field, coins are still produced at a predictable, consistent rate.
Oh, and one side benefit to incentivizing new blocks with Bitcoin is that it encourages people to use their energy to help the system rather than hurt it. If I’m a motivated hacker with access to thousands of computers, I may try to use my power to hack the blockchain and steal other people’s money. But, it’s probably easier for me to use that same computational power to mine Bitcoins and honestly earn the money instead.
Other Topics
I want to keep this post short and accessible, so I am deliberately avoiding the discussion of too many topics. However, I’d like to very briefly touch upon a few additional topics I feel are important.
The value of Bitcoin
As I mentioned earlier, like any fiat currency, Bitcoin has no “inherent” value. The value of Bitcoin is whatever someone is willing to pay for it. At the time of this writing, you can probably purchase a single Bitcoin for around $3,800.
Like stocks and other currencies, Bitcoins can be traded on an exchange. An exchange just brings a bunch of people together and allows them to purchase and sell things with others. Think of it like eBay: the value of an item is based on how much someone else is willing to bid on it.
You can search for “Bitcoin exchange” and find many offerings.
A single Bitcoin costs $3,800? That seems impractical.
A single Bitcoin currently sells for around $3,800 but you don’t have to purchase whole Bitcoins. They can be split up into smaller units. The smallest unit is known as a “satoshi” and represents a hundred millionth of a Bitcoin.
Will Bitcoins be indefinitely generated?
The production of Bitcoins is scheduled to decrease over time. It’s estimated the last Bitcoin will be mined around 2140 based on the current production schedule.
This makes Bitcoin a deflationary currency. There are different viewpoints on what this means. I am not an economist so I can’t comment on this with any credibility.
What is Ethereum?
Since the Bitcoin gained popularity, many dozens (maybe hundreds) of other cryptocurrencies have been introduced. They all claim their unique benefits, but to my knowledge, they are all based on variations of the concept of a blockchain.
Ethereum is currently the second most well-known currency after Bitcoin. I am fascinated by Ethereum and I believe it offers some unique, new benefits. Ethereum allows its blockchain to be used for more than trading money (though you can use it for that purpose as well). It allows you to create “smart contracts,” which are essentially computer programs that run in a distributed fashion rather than on a single computer. This ensures that a contract will be executed without alteration.
This may seem like an obscure use case, but it has many practical applications. For example, if I’m an insurance provider who insures farmers, I may have a contract that pays if there is no rain for 45 consecutive days. Similarly, if I’m a bank, I may want to define a new derivative that pays out under certain situations (for example, if a stock reaches a certain value). Being able to execute these contracts without a central authority opens up many possibilities. It allows contracts to be defined and executed without the need to trust anyone.
Conclusion
I hope you have found this post helpful in understanding Bitcoin and the world of cryptocurrencies. There’s plenty of technical details out there on how Bitcoin works, but I’ve deliberately tried to avoid computer science jargon to make it easy to understand for anyone, including non-technologists.