Illustration redesigned by Devin Thorpe
This post may contain affiliate links. This means if you make a purchase, ETEKLY will receive a small commission at no cost to you. We hand select only the best products and services that our readers will find fun, interesting, or useful. Please view our full disclosure policy for more information.
You’re at the supermarket. You grab some ice cream, then approach checkout. The cashier scans your items, the register totals it up, and you insert your credit card into the point-of-sale machine to pay. You wait for the transaction to go through.
Except, instead of just seconds, full minutes pass. The computer screen simply reads “Processing.”
At what point do you decide the ice cream is not worth it? You want to get home. A line has formed behind you–frustrated shoppers waiting their turn. They’re tapping their feet, checking their watches, leaning in to see what’s causing the holdup.
Long after you’ve lost track of time, the transaction goes through. You grab your ice cream, which has already begun to melt into soup, and rush out.
If credit cards took more than a few seconds to process, you would probably just use cash to buy things. Right? Luckily, you can measure the latency period on your credit card purchases in seconds.
On the other hand, Bitcoin–the world’s foremost cryptocurrency, touted by many as the future of money–sports latency periods measured in minutes, even hours. Depending on network activity, one transaction can take over a day to post.
It’s why we don’t pay for, say, groceries with Bitcoin.
If you are interested in getting started with trading cryptocurrency, check out Coinbase via our affiliate link. Discover how specific cryptocurrencies work, and get crypto to try out for yourself.
One might assume, because it’s so slow to process transactions, that Bitcoin must be inherently flawed. Perhaps that’s true, in a broad sense. But it’s not actually a design flaw that causes the network to run so slowly. In fact, Bitcoin is specifically designed to be exactly as slow as it is.
Computers from around the world act as arbiters of Bitcoin’s peer-to-peer network (we call them “miners”). Anybody can participate or, rather, compete, to successfully process (“mine”) any given “block” of transactions. Each block contains many transactions grouped together, and appends onto the chain. That chain consists of all previous blocks that came before it.
Ultimately, then, Bitcoin is just a ledger–a record of all the transactions that have ever occurred between investors. This record is maintained by users of the system, each of whom owns a copy.
Now, consider for a moment how difficult it would be to maintain a physical list (of any kind, really) with thousands of people adding to it at once. It’d get messy, right? With everybody writing new lines of information, the result is a cacophony of scribbles, overlapping text, and potentially fraudulent information. Furthermore, the fraudulent information gets buried so deep in the ledger that it is irreversible without ruining everyone else’s business.
How might you establish order and fairness in this scenario? You’d probably want to slow everybody down, first and foremost. For example, you could make a rule: everybody gets a pair of dice, and in order to write a new entry into the ledger, you first must roll three snake eyes in a row.
Bitcoin’s solution to maintaining order, reducing waste and preventing fraud is to make the process of adding new blocks to the chain difficult; difficult like having to roll snake eyes three times in a row. The network automatically self-corrects every two weeks such that the first computer to successfully process a new block in the chain will take, on average, around ten minutes to do so.
This ten minute rule is essential to Bitcoin’s function. In fact, it has been written into law since the beginning. From Medium:
Satoshi Nakamoto (inventor of Bitcoin) himself decided that the block production rate should maintain a steady average pace of 1 block per 10 minutes, because: a blockchain will estimately need 10 minutes to propagate the latest block(s) to all nodes globally, in order for the blockchain to stay properly synchronized. If blocks are produced at a faster pace, some nodes on the other side of the globe might not be able to catch up fast enough with the late transaction data, and this may cause nodes to be no longer correctly aligned, leading to “uncle blocks” (chain splits), which is basically something a blockchain must avoid as much as possible in order to stay secure.
Bitcoin works well when all participants agree on the same data. When new blocks post too quickly for the entire network to get on the same page, Bitcoin ceases to work as well.
So we’re stuck with ten-minute wait times. But it’s worse than that. There is another layer of security which further extends the time it takes for a transaction to settle. In the original Bitcoin white paper, Satoshi Nakamoto proposed a hypothetical:
We now consider how long the recipient of a new transaction needs to wait before being sufficiently certain the sender can’t change the transaction. We assume the sender is an attacker who wants to make the recipient believe he paid him for a while, then switch it to pay back to himself after some time has passed. The receiver will be alerted when that happens, but the sender hopes it will be too late.
How can we be sure that somebody won’t reverse a previous payment issued from their account? The equations we use to calculate such probabilities are beyond the scope of this article. Suffice to say: there is a value that Satoshi landed on, for which even a very powerful malicious actor would not have any reasonable chance at reversing a prior payment.
That value is six blocks. Six blocks before a payment can be considered 99.9% irreversible.
In other words: after the ten minutes it takes to validate your transaction, five more blocks of transactions have to be added to the blockchain before yours can be considered set in stone.
You should hope that your grocer isn’t too paranoid, or else you’ll be waiting at the cashier’s station for a full hour before walking away with your ice cream.
Say you’re building a highway between two major cities. You expect lots of people to use this highway. What can you do to maximize throughput and minimize traffic for drivers? The first thing would be to set a high speed limit. Still, you can’t set it too high, or else you’ll cause crashes.
Block times, in Bitcoin, are like speed limits. You want everything to move as fast as possible. But, past a certain point, there’s a high risk of danger.
There’s a second solution to designing a busier, more efficient highway. You can build more lanes.
Each Bitcoin transaction, as we mentioned, joins a block with other transactions. Users of the network must validate that block of data, and add it to the chain of all other previous blocks of data in the network’s history.
For many years, Bitcoin’s block size was effectively limited to one megabyte. As of 2017, the maximum block size is two to four megabytes. On average, though, most blocks tend to contain around one megabyte of data.
For a sense of how little one megabyte is, consider this: your average iPhone photo runs around three megabytes in size.
While any given Bitcoin transaction can be measured in only hundreds of bytes–meaning a single block typically holds over two thousand transactions–this still doesn’t make room for a worldwide network of users. During periods of high traffic, the network approves only a couple thousand transactions every ten minutes. This slow approval process results in a serious backlog. Allowing for larger block sizes could amend this issue, by grouping larger numbers of transactions together.
However, just as there are potential consequences to decreasing block times, there are potential consequences to increasing block size.
As mentioned above, every computer that participates in the Bitcoin ledger also plays a part in maintaining it. Each is called a “node.” “Full” nodes maintain the blockchain in its entirety. There are currently just under 10,000 publicly visible full nodes maintaining the ledger, with likely tens of thousands more out-of-view. Still, full nodes represent only a small percentage of the total Bitcoin user base, because downloading the entire ledger costs a lot of computing power. Most ordinary Bitcoin nodes simply don’t have the capacity to store the entire history of Bitcoin.
This is what worries detractors of large block sizes. The fact is that while larger blocks would facilitate more activity over the network, more activity over the network would require more computing power dedicated to maintenance, and as a result, fewer computers would be able to run full nodes. More users would choose to run “light” nodes, which download only a small percentage of the data on the blockchain in order to save on computing resources. Light nodes contribute much less towards network security, therefore a Bitcoin network with larger blocks would be less secure.
What the Future Holds
Visa, with its 350 million customers, processes over 150 million near-instant transactions every day, or about 1,700 per second. That’s a huge amount of data processing, occurring at all hours of the day. It’s difficult to comprehend a single company processing so many financial transactions so quickly. In reality, the company’s infrastructure is built to handle nearly four times this volume, should it need to.
Bitcoin processes just over 4.5 transactions per second, when averaged. As we’ve established, individual transactions take ten minutes to post, sixty to confirm.
In its current state, we can’t possibly use Bitcoin at the cash register–it would be comically impractical to try. Sure, people trade in it at all hours of the day, every day, around the world. But it functions less as an alternative to cash or credit than to stored gold. One sits on Bitcoin, hoping it’ll appreciate in value. No more than that.
This, of course, wasn’t the utopia we’d hoped for. We wanted the future of money–a currency to circumvent all governments, and all faceless financial megacorporations. Bitcoin today is an interesting investment asset, but it’s nowhere near replacing the current financial status quo.
We’re left to ask: if Bitcoin is this slow in servicing just seven million active users, how could it ever possibly grow to match a payment network on the scale of Visa?
The short answer is: it can’t in its current form.
Since the beginning, various ideas on how to fix Bitcoin’s inherent scaling limitations have been floating about the internet. Some thinkers have proposed minor tweaks to the system, where others have lobbied for major overhauls. Some ideas have been quite good, others not so much. Some become law, and others fall by the wayside. Some have inspired and birthed entirely new cryptocurrencies. Bitcoin is a democracy, where everybody has a say, and so these technical matters tend to flare up into full-on political battles among opposing factions.
The history of how we got even just this measly version of Bitcoin we have today is long, intriguing and dramatic. A few of the solutions in the public forum right now are innovative, exciting, potentially revolutionary…