There have recently been some discussions on the ongoing role of L2s in the Ethereum ecosystem, especially in the face of two facts:
* L2s' progress to stage 2 (and, secondarily, on interop) has been far slower and more difficult than originally expected
* L1 itself is scaling, fees are very low, and gaslimits are projected to increase greatly in 2026
Both of these facts, for their own separate reasons, mean that the original vision of L2s and their role in Ethereum no longer makes sense, and we need a new path.
First, let us recap the original vision. Ethereum needs to scale. The definition of "Ethereum scaling" is the existence of large quantities of block space that is backed by the full faith and credit of Ethereum - that is, block space where, if you do things (including with ETH) inside that block space, your activities are guaranteed to be valid, uncensored, unreverted, untouched, as long as Ethereum itself functions. If you create a 10000 TPS EVM where its connection to L1 is mediated by a multisig bridge, then you are not scaling Ethereum.
This vision no longer makes sense. L1 does not need L2s to be "branded shards", because L1 is itself scaling. And L2s are not able or willing to satisfy the properties that a true "branded shard" would require. I've even seen at least one explicitly saying that they may never want to go beyond stage 1, not just for technical reasons around ZK-EVM safety, but also because their customers' regulatory needs require them to have ultimate control. This may be doing the right thing for your customers. But it should be obvious that if you are doing this, then you are not "scaling Ethereum" in the sense meant by the rollup-centric roadmap. But that's fine! it's fine because Ethereum itself is now scaling directly on L1, with large planned increases to its gas limit this year and the years ahead.
We should stop thinking about L2s as literally being "branded shards" of Ethereum, with the social status and responsibilities that this entails. Instead, we can think of L2s as being a full spectrum, which includes both chains backed by the full faith and credit of Ethereum with various unique properties (eg. not just EVM), as well as a whole array of options at different levels of connection to Ethereum, that each person (or bot) is free to care about or not care about depending on their needs.
What would I do today if I were an L2?
* Identify a value add other than "scaling". Examples: (i) non-EVM specialized features/VMs around privacy, (ii) efficiency specialized around a particular application, (iii) truly extreme levels of scaling that even a greatly expanded L1 will not do, (iv) a totally different design for non-financial applications, eg. social, identity, AI, (v) ultra-low-latency and other sequencing properties, (vi) maybe built-in oracles or decentralized dispute resolution or other "non-computationally-verifiable" features
* Be stage 1 at the minimum (otherwise you really are just a separate L1 with a bridge, and you should just call yourself that) if you're doing things with ETH or other ethereum-issued assets
* Support maximum interoperability with Ethereum, though this will differ for each one (eg. what if you're not EVM, or even not financial?)
From Ethereum's side, over the past few months I've become more convinced of the value of the native rollup precompile, particuarly once we have enshrined ZK-EVM proofs that we need anyway to scale L1. This is a precompile that verifies a ZK-EVM proof, and it's "part of Ethereum", so (i) it auto-upgrades along with Ethereum, and (ii) if the precompile has a bug, Ethereum will hard-fork to fix the bug.
The native rollup precompile would make full, security-council-free, EVM verification accessible. We should spend much more time working out how to design it in such a way that if your L2 is "EVM plus other stuff", then the native rollup precompile would verify the EVM, and you only have to bring your own prover for the "other stuff" (eg. Stylus). This might involve a canonical way of exposing a lookup table between contract call inputs and outputs, and letting you provide your own values to the lookup table (that you would prove separately).
This would make it easy to have safe, strong, trustless interoperability with Ethereum. It also enables synchronous composability (see: https://t.co/9jy6v1X6Fw and https://t.co/gZmu3YjebM ). And from there, it's each L2's choice exactly what they want to build. Don't just "extend L1", figure out something new to add.
This of course means that some will add things that are trust-dependent, or backdoored, or otherwise insecure; this is unavoidable in a permissionless ecosystem where developers have freedom. Our job should make to make it clear to users what guarantees they have, and to build up the strongest Ethereum that we can.
Have you ever looked at different DLT projects and realized they're all converging on the same ideas, just with different terminology?
And have you ever wondered what would happen if you forced all DLT projects to have a baby, where each could only contribute their most powerful ideas?
You'd be surprised by the overlap - how non-unique many projects actually are - and how few genuinely good ideas exist. Often they sound almost trivial once you strip away the noise.
The problem is that fundamental breakthroughs get buried under layers of unnecessary complexity - the inevitable result of gradually expanding a protocol's capabilities as research progresses.
With Kaspa, we have the benefit of being late. In fact, we're so late that we arrive at the party when almost all the research has already been done. We can skip the archaeology and just make that perfect baby - making the final breakthrough on our quest for perfection.
Today we are open-sourcing our vprogs framework: https://t.co/eCvvSAyt1n
A post-Amdahl execution engine that enables inter-block parallelism and linear scaling beyond boundaries traditionally assumed to be possible in the context of DLT execution.
By deeply understanding causal actors and domains, we eliminate almost all logic and instead encode behavior in dependencies and relational properties of a generic type framework.
This allows us to transparently map hardware resources to workload - achieving linear scalability.
The design principles:
- No fsync / WAL flush boundaries
- No mutexes / locks
- Versioned append-only data with efficient rollbacks
- Maximal parallelism - even inter-block - breaking through Amdahl's law
- No wasted CPU cycles on speculative execution
This repo is still heavily WIP with rough edges (we don't even prune state yet). But the goal of this repository is to create a concrete instantiation of all existing research directions condensed into a singular, maximally performant type framework that gets away with almost no logic.
There's still room for improvements (zero-copy deserialization, NUMA affinity, etc.) but we're converging toward a system that can eventually no longer be optimized or simplified.
The holy grail of blockchain execution isn't more complex but orders of magnitude less complex than anything that exists today!
I am really looking forward to tell you more about this in the coming weeks (I just ordered a new microphone pre-amp to be able to host regular hangouts where we can discuss and explain how everything works under the hood - let's pray for a fast delivery 😅).
A one-pager recap of our space with @hus_qy yesterday for those who missed it.
@hus_qy is a veteran DLT researcher who worked on advanced consensus and parallel execution at @iota. After the project shifted direction, he left to pursue a blockchain that truly aligned with Nakamoto's idea, the decentralization values. @hus_qy found that alignment with #Kaspa—one of the very few projects still genuinely committed to the foundational ideals of cryptocurrency while also pushing the boundaries of high-performance blockchain design.
Now supported by KEF, @hus_qy is building #Kaspa's next-gen execution framework—modular VMs, DAG-based parallelism, and ZK-ready architecture.