What is on-chain scaling and off-chain scaling? What is the core difference between on-chain scaling and off-chain scaling?


Note, I use scaling, capacity, and scalability as follows:

Scaling: Growing the network's utility in any fashion.

Capacity: The number of transactions that can be processed on the network.

Scalability: Capability of the network to handle a growing amount of work.

On-chain scaling

The term "on-chain scaling" is frequently used to exclusively refer to increasing the blockchain capacity by means of bigger blocks.
However, in the literal sense of the term, it should refer to any sort of protocol change that improves the network's capacity at the blockchain layer. These approaches tend to provide at most a linear capacity increase, although some are also scalability improvements.


  • Blocksize/blockweight increase
  • The witness discount of segregated witness
  • Smaller size of Schnorr signatures
  • Bellare-Neven signature aggregation
  • Key aggregation

Off-chain scaling

The term "off-chain scaling" refers to approaches that increase the utility of the network without touching the blockchain, or by making superlinearly efficient use of the blockchain load they produce.

  • Batching multiple payments into one transaction
  • Virtual payments within the system of a custodian (Tipbots, Coinbase,…)
  • Payment Channels/Tumblebit/Lightning Network
  • Sidechains
  • Colored Coins

Generally, off-chain solutions are scalability improvements but go hand-in-hand with a different trust model and different trade-offs. They often require additional software and complexity over on-chain scaling approaches.

For example, Lightning Network will require its users to be online to receive payments while on-chain transactions allow passive receival. On the other hand, it will easily scale the count of payments between participants, but only scale the number of participants in a limited fashion as becoming a LN user requires on-chain transactions.

  • Whats your reasoning for putting 'batching multiple payments into one transaction' in the off-chain section? It seems to me that it would fit better in the on-chain section. Even if a single transaction accounts for many payments in your own accounting system, there is still an on-chain payment that encompasses them all. I'm assuming you're describing a situation like an exchange batching many individual withdrawal transactions into a single on-chain transaction. Or do you mean it in the case of: 'two users kept their own tab, and then settled the tab later using a single transaction'? – chytrik Aug 8 '18 at 7:50
  • @chytrik: I've put it in the off-chain section, because batching does not improve the capacity. Rather, one is creating a different form of transaction for the same payments. This is strictly more efficient use of the blockchain space at the cost of incurring higher wait times for the recipients, different privacy properties, and a caching period of payments before initiating settlement. In the on-chain section, I've only collected features that actually increase capacity or decrease size of the same transactions. – Murch Aug 8 '18 at 15:26

On chain scaling requires you (or the developers) to change one of Bitcoin's properties (block size limit, transaction format, transaction signature format etc...), while off chain scaling requires building something on Bitcoin that is compatible with older software (for example the Lightning Network that is built on multisig addresses, or the more complex Omni layer).

Off chain is backwards compatible while on chain scaling isn't. On chain code is simpler and easier to maintain.

Also off chain used to be unable to scale without on chain scaling, before this, another complex trick.

  • 1
    Does not address the core diff in my opinion. Saying off-chain is backward compatible is wrong in the general case, for instance lightning network will never work with the old version of Bitcoin without segwit. Off-chain capabilities are very much dependent of the on-chain properties – Oliver Nov 25 '17 at 18:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.