No Bitcoin-based protocol can handle more than 20M users per month

Posted on October 8, 2017 by Rune K. Svendsen

To solve Bitcoin’s scalability challenge, many so-called layer 2 protocols have been proposed. All of these protocols operate on the same, relatively simple, principle:

  1. User deposits bitcoins (via the Bitcoin blockchain) into the layer 2 system
  2. Stuff happens within the layer 2 system – without touching the Bitcoin blockchain – which assigns arbitrarily small parts of the deposited bitcoins to other users (recipients) in the system
  3. Recipients withdraw received bitcoins (into the Bitcoin blockchain)

This increases the scalability of transferring bitcoins from user to user, since at Step 2 nothing touches the blockchain. In fact, since nothing touches the blockchain, the transaction speed (as measured in transactions per second) is theoretically unlimited, and in practice only limited by latency and bandwidth between nodes.

The problem, however, is Step 1. When a user receives money – which humans usually receive monthly as wages/salaries – they need to deposit it into the layer 2 system, in order for it to be available within it. At the current block size limit of 1 MB, the maximum number of deposit transactions per month – assuming the simplest Bitcoin transaction (single-signature) with a size of 224 bytes is used – is 20 million1.

This is a maximum, since a single-signature Bitcoin transaction isn’t very interesting in the context of layer 2 protocols (it essentially constitutes sending your bitcoins to a trusted third party). Thus, with more complex (e.g. multi-signature) deposit transactions, the number of monthly users will be less than 20 million. Furthermore, this figure does not include the withdrawal transactions (where recipients withdraw funds from the layer 2 system to their private Bitcoin address), which will decrease the maximum number of supported users even further.

In conclusion, if Bitcoin is to scale to more than ~0.2% of the world’s population, layer 2 protocols – operating on the principle described above – will not be sufficient. The Bitcoin blockchain will need to increase its capacity in conjunction with layer 2 protocols, or it will not have sufficient capacity to support more than – at most – 20 million users per month.

      1 1,000,000 bytes per block/224 bytes per transactions = 4464 tx/block
         4464 tx/block*6 blocks per hour*24 hours per day = ~643000 tx/day
         643000 tx/day*30 days per month = ~20 million tx/month