A common notion in the blockchain space is that base layers should be stable and simple, while complexity and further applications should be built on layer 2. In a recent blog post on his website, Vitalik Buterin, co-founder of Ethereum, challenges this notion, stating that while the separation is a good idea in the long-term, the layer 1 base level must be powerful enough to support the complexity of applications on the 2nd layer.
According to Buterin, if the layer 1 protocol is not powerful enough, solutions designed on layer 2 to fill that gap reintroduces “trust assumptions that the layer 1 was trying to get away from.” He called the functionality at which point all layer 2 solutions can be developed without changing the base layer, “functionality escape velocity.”
Buterin explained that it must be possible to execute custom user-generated scripts on-chain without the need for a high-performance language, but just the level of functionality required to be able to verify “arbitrary things that might need to be verified.”
“This is important because the layer 2 protocols that are going to be built on top need to have some kind of verification logic, and this verification logic must be executed by the blockchain somehow.”
Turing complete languages can be translated into one another, though Buterin says that slightly lighter languages can also be used and that it’s okay to restrict to programs without loops, or programs which are guaranteed to terminate in a specific number of steps. Additionally, the Ethereum co-founder said that both the existence of such a programming language, and how it is integrated into the blockchain matters.
He also said that a “pure function” approach wouldn’t be powerful enough to implement many kinds of layer 2 protocols that people actually want to implement, such as scaling techniques with stronger properties or bootstrapping systems that have more complicated notions of state. Using just pure functions, this cannot be implemented because of the lack of a way to move coins from a “normal” state to an “awaiting withdrawal” state.
“[This] is what I mean by ‘rich statefulness’. It can be implemented in many ways, but without it, a blockchain is not powerful enough to implement most layer 2 protocols, without including trust assumptions.”
Buterin also pointed out that plasma, channels and other layer 2 protocols that are fully off-chain have some fundamental weaknesses that prevent them from fully replicating the capabilities of layer 1. For example, they need to have a way of adjudicating situations where some parties maliciously fail to provide promised data, which is not game-theoretically stable. With the ability to compress most activity to ~10-20 bytes per transaction using a rollup, Buterin further explained how increasing scaling for data without increasing computational load is a viable path for blockchains to take, as internet bandwidth does not seem to be slowing down as Moore’s law for computation is.
“With a rollup, you can compress most activity to ~10-20 bytes per transaction, so 1 kB/sec gives you 50-100 TPS, 1 MB/sec gives you 50,000-100,000 TPS, and so forth.”
In conclusion, the Ethereum co-founder added that we need layer 1 development in parallel with layer 2 in the short-term, and more focus on layer 2 in the long-term.