Bitcoin has a scaling problem.
It was designed to facilitate payments not dependent on trusted third parties, and in order to accomplish this the system needs to be verifiable for all users to ensure payments are valid without trusting the word of a third party.
These two things are diametrically opposed.
If the system facilitates everyone who wants to transact doing so on the blockchain, then the cost for people to verify all of these transactions increases enormously, forcing most people to trust a third party who can afford those costs. If the system maintains a low cost of verification for participants, then everyone who wants to cannot cost effectively transact on the blockchain.
So we’ll scale Bitcoin with Layer 2s, right? But what does that mean? I’m sure most people reading this hear the word scaling and immediately think purely in terms of transactions per second. The more transactions we can do with bitcoin the asset per second, the more we have scaled, right?
I would argue no. That is a huge component of it, but that is not the only thing we are trying to scale. We are trying to scale the important properties of Bitcoin as a censorship resistant system. If we didn’t care about that aspect of scaling, we could already call it a day. We have exchanges, banks, and other centralized custodians.
Trustlessness
We want solutions we build for throughput scalability to preserve trustlessness. Users should not have to depend on the honesty of another party in order to guarantee the security of their funds. Within some constraints users must have the ability to guarantee the ownership of their funds while depending on the action of no party other than themselves.
This doesn’t necessarily mean the same security model as the blockchain, i.e. send your funds to an address and then no other action is required beyond keeping your keys safe. Users might need to stay online, or check in online periodically within some defined time window, or store data that can’t be deterministically regenerated, but they should be capable of unilaterally ensuring that their funds remain in their control.
Settlement Finality
Users need to have a high degree of certainty that transactions they have conducted are final, and cannot be wound back. This is the entire core function that the blockchain fulfills in the system, processing a transaction and ensuring settlement finality.
Currently no Layer 2 system actually provides settlement finality off-chain. What they provide is a settlement guarantee backstopped by a third party, such as a federation, custodian, or system operator, or an option to exercise settlement finality when the user wants in the form of pre-signed transactions.
The theoretically ideal Layer 2 system would provide actual settlement finality itself off-chain. While this might not actually be possible, we should be searching for stronger settlement guarantees provided by third parties, and more flexible and efficient designs for finality “options” in the form of unilateral exit schemes for Layer 2s.
Cost
We must minimize the cost for users to utilize these systems. This relates very heavily to settlement finality efficiency. If the exercising of a settlement finality option is too expensive, users will opt for systems where they delegate finality guarantees to third parties.
The cost of using a blockchain is based on how much data your use of it requires. The more data, the more expensive. As blockspace becomes more demanded and fees increase, users must be able to afford to exercise a finality option.
Liveness Requirements
All current Layer 2s that actually provide an option for settlement finality have some form of liveness requirement, i.e. the user must remain online or get online periodically in order to guarantee the trustless nature and settlement properties of that Layer 2.
Systems like Lightning require you to be online all the time, use a third party to be online and monitor the blockchain for you, or explicitly trust the people you have channels open with not to try to steal your money with old states. A system like Ark requires you to check in online and rotate your coins because an Ark batch expires and the operator can sweep all funds.
The only way out of this is to delegate settlement finality and trustless security of funds to a third party. We need to be reducing the liveness requirements as much as possible for systems that do not delegate control to a third party.
Putting It All Together
Only after we think about these properties that we want to retain while scaling throughput can we actually start to think about the functionalities needed in the Bitcoin protocol itself to facilitate that scaling.
For current Layer 2s to be trustless, the users themselves must be involved in authorizing balance updates off-chain. This requires users to interact with each other to approve updates. Obviously then, any opcode or change to Bitcoin that would allow users to interact with each other more efficiently and quickly to pre-sign transactions enforcing settlement finality would be beneficial for maintaining trustlessness while scaling.
To go even further, an opcode that allowed some portion of a UTXO to be freely used by one authorized user, but the rest of the balance remained restricted and only accessible to other users, could maintain trustlessness while doing away with the need for users to all coordinate together at all, or minimize that need to only the starting point of a protocol.
Thinking about the end result we want, in specific terms of the desired properties we want it to have, is what is necessary to actually scale this protocol in a meaningful way long term. Only then can we take a step back and think about the concrete functionality that the desired end result will need on a technical level.
To scale Bitcoin is more than just increasing the number of transactions it can process per second. We can do that right now with custodians. To scale Bitcoin is to increase the number of transactions that can occur trustlessly, with censorship resistant finality, without burdensome requirements of liveness placed on the user, and for a cost that a larger set of users can afford.
If we can’t scale those properties, then Bitcoin hasn’t actually scaled, no matter how many transactions a second are occurring with bitcoin the asset.