I’ve often talked about how almost all blockchains have two pragmatic options in the medium term: either become a rollup (or validium/volition), or become the best host for rollups. A vast majority of blockchain activity will move to rollups as they mature for reasons I’ll assume readers are familiar with.
Until now, all blockchains have been trying to do it all themselves, and we’ve had to endure severe trade-offs on the blockchain trilemma as a result. Departmentalization is a proven concept since the dawn of the industrial revolution — why try to do everything yourself, when collaborating with specialized entities could yield greater efficiency? I believe the same is true of blockchains.
Taking this concept further, I believe in the future the blockchain world will be split into three distinct functions:
- Execution: Execute transactions as fast as possible. This is where we’ll see most innovation, and we could see large-scale applications build their dedicated execution chains optimized for specific usecases. Example: Reddit building their own rollup.
- Consensus: Provide security, coordination and store transaction proofs and “metadata”. Perhaps it’d be better to call these “Security chains” going forward as the other two types may also have consensus mechanisms, albeit much simpler ones.
- Data availability: Provide data availability and store compressed data for transactions
Interestingly, with ZKPs, we can mix and match these.
- Execution, consensus and data availability on a single chain 0: This is how most blockchains work today, and how Ethereum L1 will continue to function.
- Execution on chain 1, consensus and data availability on chain 0: This is how rollups work today. Rollups are chain 1, Ethereum chain 0 here.
- Execution and data availability on chain 1, consensus on chain 0: This is how Validium works, with zkPorter being an example implementation.
- Execution on chain 1, consensus on chain 0, data availability on chain 0 and 1: This is Volition, where the user selects which chain will have data availability. The zkSync 2.0 and zkPorter system in combination is a Volition setup, where all execution is done on the zkSync chain, all transaction proofs are rolled up to Ethereum, but users have the option of choosing between Ethereum and zkPorter for data availability. In the future, we could see smart contracts could do this granularly — keep critical data like user balances on chain 0, while everything else on chain 1.
- Execution and consensus on chain 0, data availability on chain 0 and 2: Interestingly, Vitalik once wrote a post about how Ethereum could use Bitcoin Cash for data availability. With data sharding, Ethereum is well-placed to also become the best data availability layer long term, though if a data availability specific chain in the future does offer as good or a solution or better than Ethereum data shards, this becomes a viable option to complement Ethereum’s own data shards or perhaps even replace them.
But we can expand from here! Indeed, I learned yesterday that Celestia (previously LazyLedger) has a MVP for a data availability specific chain. A volition type system can thus combine Ethereum, Celestia and its own consensus for data availability. With schemes like Adamantium you can even expand this to power users or financial institutions or service providers providing their own data availability. You could have a rollup that mirrors its execution details on two chains for redundant security. You get the point, there’s a wide range of possibilities, and these may continue expanding as blockchain tech marches forward. This does mean binary terminology of L1 and L2 stops being very useful. This is why I prefer referring to them as them as “rollups”, “validiums” etc. Those are accurate descriptors for what bespoke combination of execution, data and consensus are used.
All of this may sound confusing, but the good news is that much of this happens behind-the-scenes. For end users — you’ll just be interacting with the execution engines. Things start getting exciting when these execution chains start seamlessly interacting and interoperating with each other. The multi-chain world is indeed happening: just not as people imagined.
Anyway, the point is: the era of the do-it-all monolithic blockchain is over. Let the era of departmentalized chains begin!
Cross-posted from r/ethfinance.