5

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

1 Answer 1

9

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

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

Capacity: The number of payments 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, including changes that facilitate production of equivalent transactions at lower cost. These approaches tend to provide at most a linear capacity increase, although some are also scalability improvements.

Examples:

  • Blocksize/blockweight increase
  • Faster blocks
  • The witness discount of segregated witness
  • More efficient new address formats
  • Smaller size of Schnorr signatures
  • Cross-input 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. I also include approaches that create non-equivalent transactions that result in more efficient use of blockspace.

  • 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.

2
  • 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
    Commented Aug 8, 2018 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 equivalent transactions.
    – Murch
    Commented Aug 8, 2018 at 15:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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