The speed of Bitcoin (aka the scaling issue)

Bitcoin is the best-known blockchain implementation, and has been highly successful. Due to its success, its adoption rate has increased, but not its speed (transaction rate). The scaling issue deals with several techniques that could improve Bitcoin’s speed. This could make Bitcoin more usable as a means of payment, instead of just a store of value.

The issue

The Scaling IssueThe Scaling Issue
The Scaling Issue
  1. Each block contains, on average, around 2.000 transactions and is 1 MB in size.
  2. A new block comes available roughly every ten minutes, this is a pre-set interval, regulated by mining difficulty.
  3. So, theoretically, the network will be able to handle roughly (2.000/10)/60 = 3,2 possible transactions per second (TPS).
  4. Note: VISA does around 2.000/second. 1

To summarize; seeing as the 10 minute block-interval is fundamental to Bitcoin, the network will not get faster by growing: Bitcoin’s blockchain is throttled by a Proof-of-Work that continuously scales to meet that ten minute timeframe and the size of each block will remain 1MB. This results in a steady TPS rate of around 3,2.

Possible solutions

1: Doubling the block size (“2x”)

Gain: 2x speed
Doubling the block sizeDoubling the block size
Doubling the block size
Doubling the block size to 2 MB (the ‘2x’ part of SegWit2x) would – in turn – double the transaction capacity. This is a quick fix though: at around 6,4 TPS, Bitcoin would still be very, very slow when compared to other monetary systems. Furthermore, doubling the size of blocks would make the blockchain grow exponentially larger, making it too large to handle in a few years time.

2: Segregated witness (“SegWit”)

Gain: 2.6x speed
SegWitSegWit
SegWit
  • Each block on a blockchain contains transactions and their signatures (hashes).
  • These signatures are only needed for verification, but account for roughly 60% of a block‘s size. This means the full blockchain copy carries around 60% ‘dead weight’.
  • By separating (’segregating’) the signatures (’witnesses’) and putting them behind the block, in an optional ‘extended block’, more room is freed inside the block, increasing its capacity by ~250%. The extended block will then be requested by a node only when needed (on validation), but is otherwise ignored.
  • As there is more room for transactions inside the block, TPS increases to around 8,3.
  • SegWit also offers a solution for the ‘Transaction Malleability’ bug, which is considered a prerequisite for the Lightning Network (see below). Read Bitcoin developer Jimmy Song’s take on it here.
SegWitSegWit
SegWit

2a: Schnorr signatures

Gain: 2x speed, 5.2x when combined with SegWit

Schnorr, named after its inventor Claus-Peter Schnorr, is a signature algorithm: the series of mathematical rules that link the private key, public key and signature together. Many cryptographers consider Schnorr signatures the best in the field. Bitcoin now (feb 2018) uses the ECDSA signature algorithm, which does not support multisig (having one signature represent several signatures).

Schnorr signaturesSchnorr signatures
Schnorr signatures
  • Many Bitcoin transactions include multiple inputs, referring to the addresses bitcoins are sent from. In this case, a 1 BTC transaction consists of 3 ‘parts’.
  • Each of these inputs require the signature of the sender, and all these signatures are included in the transaction.
  • With Schnorr signatures, all inputs combined require only one signature to represent all the different signatures.
  • This means transactions are smaller, freeing up up to 40% more room in the block.
Schnorr signaturesSchnorr signatures
Schnorr signatures

3: Segregated witness + double block size: “SegWit2x”

Gain: 5.2x speed
SegWit2xSegWit2x
SegWit2x
Combining both doubling the block size (1) and Segregated Witness (2) creates a hybrid, also known as SegWit2x. This way, a block can both take ~250% more transactions and is twice the size, boiling down to a ~500% transaction increase per block.

So, theoretically, the network will then be able to handle roughly ((2.000 x 5)/10)/60 = 16,6 TPS; a 5.2x speed increase. Inherently, SegWit2x suffers from the same growth-related problem as doubling the block size (1).

4: The Lightning Network (LN)

Gain: ∞ (extreme)
Lightning NetworkLightning Network
Lightning Network

Perhaps the best, and no doubt the fastest, solution to the Bitcoin scaling problem is The Lightning Network, which theoretically delivers millions to billions of transactions per second. To see how it works, check out our separate explanation of The Lightning Network.

Overview

Bitcoin ScalingBitcoin Scaling
Bitcoin Scaling

Notes

  1. VISA can even burst to a maximum of around 56.000 tps (transactions/second), though they rarely use more than one third of that capacity. The SWIFT system, used by banks, claims it can do 200 tps. Though it should be noted that just around 10% of these ’messages’ are actual monetary transactions, so this comes down to a more plausible 20 tps.