Does Bitcoin Scale?

Background

There have been some discussions whether Bitcoin can scale. We know that VISA processes about 150 million transactions per day, and bitcoin in its current form can manage 600,000 transactions per day (assuming 240 bytes per transaction with the 1 MB block size limit.) At first it seems overwhelming to make bitcoin scale and outcompete VISA/MasterCard/SWIFT etc. A quick calculation would require a maximum block size of 250 MB which implies a bandwidth of 3.3 Mbps. And that's just competing with the VISA payment network.

Alternative Strategies

Is it realistic? Maybe, or maybe not. Perhaps Moore's law will save us, or perhaps not. Hope is not a good strategy. Fortunately, there are some alternatives available:

  1. Off chain transactions. Not all payments would have go through the blockchain. Instead the blockchain can be used as a global clearing house. ChangeTip is an example of providing transactions in a faster pace to occasionally broadcast the final balances to the bitcoin blockchain.
  2. Side chains. We can invent bitcoin side chains that have the same behavior and meaning as bitcoin itself (with a one-to-one peg.) Perhaps a side chain based on geographical region would suffice. This would mean that we now have multiple blockchains.
  3. Lightning network. By the use of bitcoin scripting and time locks you can create off chain transactions that are as secure as having them broadcasted on the blockchain itself.

The first two have some pros and cons.

  • Off chain transactions:
    + High volume (essentially no limit)
    - Requires a trusted party. Funds at risk.
    - Transaction requires that sender and receiver are both customers at trusted party.
  • Side chains:
    + No trusted party. No funds at risk.
    - High volume (essentially no limit)
    - Slow movement of coins between chains.
    - Difficult to apply international payments (routing protocol required to figure out side chain)

The Lightning.network

The third solution is the most striking. By clever use of the nLockTime feature and some scripting in the bitcoin protocol it is possible to create an off chain transaction in a "payment channel." These payment channels can be linked into a network so that channeling an off chain transaction gets routed through this network (that is separate from the bitcoin blockchain). The system is setup so that if anyone tries to cheat, or if a payment channel gets closed, the sender and/or receiver can broadcast the latest settlement to the blockchain and all balances are updated.

The lightning.network is an off chain solution, but comparing with option (1) it doesn't require trust to a third party. Therefore, it gets the pros of other off chain solution to get limitless scalability in terms of number of transactions processed yet it is as safe as a blockchain transaction.

So what are the downsides with the last solution?

Currently, for lightning.network to work, we need to fix the malleability issue in the bitcoin protocol. Once malleability is fixed, lightning.network can be implemented and there'll be no limit on the number of transactions the bitcoin network could handle. Then we need to implement the protocol and infrastructure for the lightning.network itself. However, this can be transitioning process. I don't see a problem of using option (1) first (ChangeTip) that softly moves over to option (3) (lightning.network.)

Summary

Therefore, it is totally realistic that bitcoin one day would be able to manage VISA/MasterCard/AMEX/SWIFT all at once in a not too distant future.

So think about that for a moment. How much is that worth? VISA is currently processing $7 trillion annually. So $7 trillion divided by 21 million is, drum roll, $333,333 (three hundred thousand) per bitcoin. And that's just one payment network.

EDIT:

I've got multiple comments that this calculation is wrong. In some sense it is true, because the "same" money can loop in circulation multiple times and prop up the processing number. Although this is true, money also serves as a store of value, so not all the 21 million coins won't go into circulation either. However, we'll see that we get about the same number using a different argument.

The number of transactions per day in bitcoin is around 100,000. VISA has around 150 million transactions per day. So if bitcoin scales 1500x, then the ROI (region of interest) should scale as well. Current price is around $230, so 1500x230 = $345,000. Again, you can argue against this as well because bitcoin transactions may not similar to VISA transactions. So it all comes down to estimates and assumptions. Nevertheless, it should be reasonbly correct in terms of orders of magnitude, i.e. if bitcoin scales to VISA we should get a price in the range of $100,000-$1,000,000.


Datavetaren


References:

  1. VISA Annual Report 2013
  2. http://www.blockstream.com/sidechains.pdf
  3. http://lightning.network