How Bitcoin Works in 5 Minutes (Technical)
Say there’s a coin that’s currently worth hundreds of U.S. dollars, but it’s not made of gold, or platinum, or any precious metal. In fact, it’s not the kind of coin you can hold in your hand or stick in a piggy bank. It’s a digital currency, which means it only exists electronically. I’m talking about bitcoin. Bitcoin doesn’t work like most money. It isn’t attached to a state or government, so it doesn’t have a central issuing authority or regulatory body. Basically, that means there’s no organization deciding when to make more bitcoins, figuring out how many to produce, keeping track of where they are, or investigating fraud.
So how does bitcoin work as a currency, or have any value at all? Well, bitcoin wouldn’t exist without a whole network of people and a little thing called cryptography. In fact, it’s sometimes described as the world’s first cryptocurrency. And here’s how it works. Bitcoin is a fully digital currency, and you can exchange bitcoins between computers in a worldwide peer-to-peer network. The whole point of most peer-to-peer networks is sharing stuff, like letting people make copies of super legal music or movies to download.
If bitcoin is a digital currency, what’s stopping you from making a bunch of counterfeit copies and becoming fabulously wealthy? Well, unlike a mp3 or a video file, a bitcoin isn’t a string of data that can be duplicated. A bitcoin is actually an entry on a huge, global ledger called the blockchain, for reasons we’ll get to in a minute. The blockchain records every bitcoin transaction that has ever happened. And, as of late 2016, the complete ledger is about 107 gigabytes of data. So when you send someone bitcoins, it’s not like you’re sending them a bunch of files.
Instead, you’re basically writing the exchange down on that big ledger – something like, “Michael sends Hank 5 bitcoins.” Now, maybe you’re thinking, “But, wait. You said bitcoin doesn’t have a central authority to keep track of everything!” Even though the blockchain is a central record, there’s no official group of people who update the ledger and keep track of everybody’s money like a bank does – it’s decentralized. In fact, anybody can volunteer to keep the blockchain up to date with all the new transactions.
And a ton of people do. It all works because there are lots of people keeping track of the same thing, to make sure all transactions are accurate. Like, imagine you’re playing a game of poker with some pals, but none of you have poker chips, and you left your cash at home. There’s no money on the table, so a few of you get out some notebooks, and start writing down who bets how much, who wins, and who loses. You don’t completely trust anyone else, so everyone keeps their ledgers separately.
And at the end of every hand, you all compare what you’ve written down. That way, if someone makes a mistake, or tries to cheat and snag some extra money for themselves, that discrepancy is caught. After a couple hands, you might fill up a page of your notebook with notes about the money movement. You can think of each page as a “block of transactions.”
Eventually, your notebook will have pages and pages of information – a chain of those blocks. Hence: blockchain. Now, if thousands of people are separately maintaining the bitcoin blockchain, how are all the ledgers kept in sync? To stick with our poker analogy: think of the entire bitcoin peer-to-peer network as a really huge poker table with millions of people.
Some are just exchanging money, but lots of volunteers are keeping ledgers. So when you want to send or receive money, you have to announce it to everyone at the table, so the people keeping track can update their ledgers. So for every transaction, you’re announcing a couple of things to the bitcoin network: your account number, the account number of the person you’re sending bitcoins to, and how many bitcoins you want to send. And all of the users who are keeping copies of the blockchain will add your transaction to the current block.
Having a bunch of people keep track of transactions seems like a pretty good security measure. But if all it takes to send bitcoins is a couple of account numbers, that seems like it might be a security problem. It’s a huge problem with regular money – just think about all the ways criminals try to steal other people’s credit card information. And with bitcoin, there’s no central bank to notice anything weird going on to shut down fraud, like if it looked like suddenly you spent your entire life savings on beef jerky.
So what’s stopping Hank from pretending he’s me and just sending himself all of my bitcoins? Bitcoins are kept pretty safe thanks to cryptography, which is why it’s considered a cryptocurrency. Specifically, bitcoin stays secure because of keys, which are basically chunks of information that can be used to make mathematical guarantees about messages, like “hey, this is really from me!” When you create an account on the bitcoin network, which you might have heard called a “wallet,” that account is linked to two unique keys: a private key, and a public key.
In this case, the private key can take some data and basically mark it, also known as signing it, so that other people can verify those signatures later if they want. So let’s say I want to send a message to
the network that says, “Michael sends 3 bitcoins to Olivia.” I sign that message using my private key, which only I have access to, and nobody else can replicate. Then, I send that signed message out to the bitcoin network, and everyone can use my public key to make sure my signature checks out.
That way, everyone keeping track of all the bitcoin trading knows to add my transaction to their copy of the blockchain. In other words, if the public key works, that’s proof that the message was signed by my private key and is something I wanted to send. Unlike a handwritten signature, or a credit card number, this proof of identity isn’t something that can be faked by a scam artist. The “who” part of each transaction is obviously important, to make sure the right people are swapping bitcoins.
But the “when” matters, as well. If you had a thousand dollars in your bank account, for example, and tried to buy two things for a thousand dollars each, the bank would honor the first purchase and deny the second one. If the bank didn’t do that, you’d be able to spend the same money multiple times. Which … might sound awesome, but it’s also terrible. A financial system can’t work like that, because no one would get paid. So if I only have enough money to pay Olivia or Hank, but I try to pay them both, there’s a check built into the bitcoin system.
Both the bitcoin network and your wallet automatically check your previous transactions to make sure you have enough bitcoins to send in the first place. But there’s another problem that might happen with timing: Because lots of people are keeping copies of the blockchain all over the world, network delays mean that you won’t always receive the transaction requests in the same order. So now you’ve got a bunch of people with a bunch of slightly different blocks to pick from, but none of them are necessarily wrong.
Okay, bitcoin. How do you solve that problem? Turns out, it’s by actually solving problems. Math problems. To add a block of transactions to the chain, each person maintaining a ledger has to solve a special kind of math problem created by a cryptographic hash function. A hash function is an algorithm that takes an input of any size, and turns it into an output with a fixed size. For example, let’s say you had this string of numbers as your input And our example hash function says to add all of the numbers together.
So, in this case, the output would be 10. What makes hash functions really good for cryptography is that when you’re given an input, it’s really easy to find the output. But it’s really hard to take an output and figure out the original input. Even in this super simple example, there are lots of strings of numbers that add up to 10. The only way to figure out that the input was ‘1-2-3-4’ is to just guess until you get it right. Now, the hash function that bitcoin uses is called SHA256, which stands for Secure Hash Algorithm 256-bit.
And it was originally developed by the United States National Security Agency. Computers that were specifically designed to solve SHA256 hash problems take, on average, about ten minutes to guess the solution to each one. That means they’re churning through billions and billions of guesses before they get it right. Whoever solves the hash first gets to add the next block of transactions to the blockchain, which then generates a new math problem that needs to be solved. If multiple people make blocks at roughly the same time, then the network picks one to keep building upon, which becomes the longest, and most trusted chain.
And any transactions in those alternate branches of the chain get put back into a pool to be added onto later blocks. These volunteers spend thousands of dollars on special computers built to solve SHA256 problems, and run their electricity bills up sky high to keep those machines running. But why? What do they get out of maintaining the blockchain? Is it just community service? Well, bitcoin actually has a built-in system to reward them. Today, every time you win the race to add a block to the blockchain, 12 and a half new bitcoins are created out of thin air, and awarded to your account.
In fact, you might know the bitcoin ledger-keepers by another name: miners. That’s because keeping the blockchain updated is like swinging a proverbial pickaxe at those hash problems, hoping to strike it rich. When bitcoins were first created in 2009, they didn’t really have any perceived value. Tens of bitcoins would have been worth the same as a bunch of pennies. As of November 10th, 2016, though, one bitcoin is worth 708 US dollars. So 12 and a half bitcoins are worth 8,850 dollars. That’s a nice chunk of change! Every single bitcoin that exists was created to reward a bitcoin miner.
Besides the big payout when they add a new block of transactions, miners are also essentially tipped a very small amount for each transaction they add to the ledger. It’s also worth noting that every 210,000 blocks, the number of coins generated when a new block is added goes down by half. So what started as a reward of 50 bitcoins decreased to 25, then 12 and a half. It’ll only be around 6 bitcoins in a couple more years, and keep decreasing. Eventually, there will be so many transactions in a block, that it’ll still be worthwhile for miners to mostly be paid in tips.
According to current projections, the last bitcoin – probably around the 21 millionth coin – will be mined in the year 2140. This decreasing number of bitcoins is actually modeled off the rate at which things like gold are dug out of the earth. And the idea is that keeping the supply of bitcoins limited will raise their value over time. So, is investing in bitcoin a good idea? Now that’s… not really a SciShow kind of question. Bitcoin is still volatile, and experimental. A lot of people love it, and a lot of people think it’s doomed to fail.
Still want more? Check out my training and LIVE charts on the latest in Bitcoin, Blockchain, and a survey of the most exciting projects coming out (Ethereum, etc): http://www.bitcoin-tips.blog/blog/