When it comes to blockchain scaling, we have often ended up with reductive narratives like “TPS number go up gud”. Since then, we have evolved to care more about security properties as well, leading to the rise of rollups. However, even so, there’s great value to be had in granularly examining the actual scalability demands for each type of application and their potential respective product-market fit.
Now, some will say that it’s too early, but I push back against this narrative. Ever since the Ethereum whitepaper in 2014, and discussions in 2015-16, we have widely known where blockchain apps make sense. Through the 2017 ICO mania, we have seen pretty much every blockchain app attempted, and indeed, most of them made no sense whatever - so we reverted back to the applications imagined back in 2014-15. In 2020-22, we finally established product-market fit for most of the applications imagined, but not all. The truth is - we have known for nearly a decade now what applications make sense for blockchains, we have experimented plenty, and IMO today have a reasonably good grasp of what applications will have product-market fit in the future and to what extent. Of course, some applications have been more popular than expected (collectible NFTs) some less so (prediction markets). This is not to say there won’t be surprisingly novel applications - of course there will be - but it’s also prudent to stay grounded and build effectively for the applications we know have a high probability of succeeding.
The two companion pieces to this are where blockchain apps make sense and what sort of product-market fit and blockspace demands will they actually have. However, for this post, I’ll follow the model laid by Vitalik’s post about applications, because Vitalik is far more respected than me (fwiw, I largely agree with Vitalik’s take on what blockchain apps make sense anyway):
1) Money: Still the dominant product-market fit. Within money, the top usecase is actually just an alternative reserve asset, a store-of-value. Theoretically, this only requires minimal scaling, as the numbers are just sitting there on a ledger. But of course, there’s a small amount of speculation and coins changing hands. Then there’s stablecoins and tokens that may be used for day-to-day payments. Overall, though, the scalability needs for money - which will continue to drive most of the value in crypto, are surprisingly modest.
At first glance, a private UTXO-based ZK rollup makes the most sense for money, basically Aztec 1. However, we also need to interact with DeFi and such, so there needs to be a VM. Perhaps it could be two different execution layers - one for transfers, the other for smart contracts, kinda like Cardano. Or multiple - as we’ll see from the other application categories. Arbitrum seems to be working on something like this with Stylus, with both an EVM and WASM layer. There are other interesting possibilities like Springrollup which greatly compresses data. Either way, the whole spectrum of money is easily solvable and does not require much compute or data footprint on-chain (I estimate at a few hundred kBs/second), even if we onboard every user globally where this makes sense. The bottleneck today is not scale, but rather UX, trust (yes, really - even the few who are better served with crypto in failing economies, still don’t trust crypto), Lindy, and generally onboarding users etc.
2) DeFi: For DeFi, you definitely need programmability and a VM, however, the primary requirement is security. Indeed, one could argue even the EVM is too complex, and there can be a stripped down VM designed for DeFi. Remember - trillions of dollars are settled by half a century old COBOL code that few people can even read anymore - there’s no reason for fix what works and ain’t broke. EVM is the gold standard here, with pretty much every DeFi app transacting any value build for the EVM. Further still, after an incredible amount of experimentation in the last couple of years, it’s abundantly clear that core DeFi - lending, options, swaps etc. - are the vast majority of pmf. The EVM has proven to be very capable of handling these usecases, while there’s a vast ecosystem aligned on security.
The holy grail towards scaling DeFi is zkEVM, of course, but also in the short-to-medium-term zkEVM comes with bug risks. So, until zkEVMs mature, EVM optimistic rollups are the best choice. The crossover point happens when zkEVM are battle-tested enough for the capital efficiency advantages and the ability to atomically compose with L1 (and other ZK-L2s?).
DeFi also doesn’t need any tremendous scalability, when you consider the profile of users and the types of transactions it’ll be used for. We certainly need to make EVM clients stateless, parallelize the EVM, and generally make EVM clients more efficient (Reth and Erigon are working on this) but this should be more than enough for its eventual product-market fit. While DeFi transactions can be computationally intensive, they also don’t require much of a data footprint - I believe the expanded EIP-4844 will be more than enough for the foreseeable future.
Of course, there can be more experimental DeFi-related apps that can be built on more novel VMs, but the core stuff are best served by the EVM community.
Both 1) Money and 2) DeFi usecases benefit strongly from economic security and access to liquidity, which is why they only really make sense as rollups on Ethereum (or Bitcoin, were that possible). Note that there’ll be a handful of alt-L1s - so far only Tron and BSC - that may build significant economic activity, but rollups remain the technically ideal solution to this, and specifically zkEVM rollups. Also, I’d estimate >90% of crypto’s total addressable market in value, so it’s prudent to double down on these, instead of being distracted with shiny new things.
3) Identity ecosystem: The identity ecosystem will be best served by a ZK chain - it could be L1 or L2. I’d say an L2 makes a lot of sense to onboard the broad Ethereum community where there are already plenty of users for apps like ENS or POAP; however, I’m also open to the possibility of an innovative new L1 focused on identity. Unlike 1) or 2), the economic properties are not important here - only to the extent of onboarding the money and DeFi users. ZK because privacy is very important for the identity usecase. Yes, you can do ZK over optimistic rollups, but the advantage of recursive proofs in a ZK rollup are too great to give up.
If we assume initiatives like SIWE become huge and live alongside the likes of Google, Facebook or Microsoft as a default sign-in method, there’s still no huge requirement for scale. Yes, there’ll be billions of “transactions” daily with users signing and applications reading the chain - but these don’t need to write to blockchains! Of course, there are still some transactions going through - attestations, registrations, NFT transfers etc. Some of these need on-chain data commitments, like attestations and registrations, but there are also some that can leverage solutions like validiums or volitions. For example, identity properties within a group/club/community are only relevant to said group - no need to commit full on-chain to a public blockchain as long as validity is verifiable on-chain. In some cases, even that might be overkill and something like an optimistic chain would be enough. All in all, this is another category which doesn’t need a great deal of traditional scalability, but can benefit immensely from a purpose-built privacy ZK VM.
4) DAOs: DAOs need different types of scaling depending on their nature. The big internet-native DAOs will likely remain on Ethereum L1, moving some of their functionality like voting and coordination to L2s. Of course, DAOs on other chains will remain native to their chain. There’s a niche possibility of real-world organizations moving to DAOs for transparency. Again, this doesn’t require any real scale. If this is a large corporation, then it’ll probably go to Ethereum L1 for maximum security, others may go to L2s or alt-L1s based on the level of security they desire.
Then there may be DAOs that just want to use some of this tech for efficiency. They don’t actually need to put most of these on a public blockchain - just commit some elements on-chain. The perfect solution for this would be volitions. Depending on the security required by the DAO, they can remain mostly off-chain, with committing some data to an L2 or L1 of their choice. The beauty of volition is they can even settle to different chains depending on what’s required. An example could be the DAO has their own volition chain for coordination, voting, etc - but only the token is bridged via rollup mode.
5) Hybrid applications: the key concept I introduced right above is local consensus vs. global consensus. For example, a DAO or community that wants to coordinate within itself just needs local consensus - they don’t need to commit everything on a public blockchain. Indeed, a vast majority of proposed “web3 applications” only require local consensus, and not strict global consensus.
Hybrid applications is a broad category where I’m sure we’ll see a ton of experimentation. Some of these applications do require massive million TPS throughputs, novel VMs - some may not even have blocks or chains, and just have a ZKP to verify integrity. Some of the examples noted by Vitalik are government registries, corporate accounting, games, supply chain, tracking access authorization etc and I’d add speculation and gambling. In a lot of these usecases, a majority of transactions are perfectly fine with local consensus, with only some elements needing on-chain commitments, bringing back to the whole volition thing. In many cases, all they really need is access to the cryptoeconomy. Many of these low-value applications don’t even need that - they will be perfectly fine on their own sidechain/L1.
Alright, I’ve rambled on enough. My general conclusion is - money and DeFi are the killer app for crypto, accounting for >90% of total addressable market, and we have all the solutions required for scalability today. The focus must shift to applications, UX and onboarding users. For the rest, there’s certainly room for experimentation, but we must also consider carefully what actually needs global consensus - because a vast majority of so-called “web3” apps are most effective with a hybrid model where only certain elements are committed publicly. I believe taking a more application-centric approach will lead to the most effective scaling strategies, rather than a melting pot approach.
Addendum: I guess Vitalik isn’t interested in collectible NFTs - but it’s one of the biggest usecases so I should address it. Which solution is uses depends largely on the NFT itself. If it’s meant to be a luxury collectible - then you’re going on Ethereum L1 (also, this falls under the Money category). If it’s game or social, you’re going to some optimistic chain or validium or sidechain. Likewise, if programmability is required etc. I’ve already mentioned identity ecosystem NFTs may require privacy.