Yes, yes, you have heard me rant and rave about strict global consensus and how it’s the only unique property of blockchains. But I have not talked much in the way of alternatives, because I consciously avoid talking about infra. Infra obsession and consumed the crypto space, to the point everything else is neglected. However, it occurs to me that it’s only blockchain infra, no one really talks about stateless infra - because there are no stateless infra bags to shill. So, I’m going to feel less guilty talking about stateless infra.
What is stateless infra?
First, what is “stateless infra”. Some would say UTXO or DAGs or whatever chains are stateless. Others would say chains with stateless clients are stateless. So maybe we need a better term for this type of infra, suggestions welcome, @polynya on Farcaster.
But for now, for this post, we’ll stick with blockchain = any chain achieving real-time strict global consensus (including rollups); stateless infra = not a chain, no consensus, but decentralized complements that interact with above mentioned blockchains.
As we head into a bold new world of hybrid applications that use blockchains only for strict global consensus - and mostly only for finance and identity - we’ll see almost all of their compute, data etc. happen on non-blockchain infra.
But first, we need to shift our perspective when discussing stateless infra. In the blockchain world, we have been attuned to honest-majority assumptions, and thus running as many nodes as possible is important. However, outside of blockchains things for the most part operate with an honest-minority assumption - as long as there’s one honest party, it’s all good.
I think we can broadly classify these as three different classes:
1) Servers - This one’s obvious and a well-known quantity.
2) Servers with redundancy - Add redundancy and the ability for anyone to spin up a server, and you get some decentralization but also retain the max efficiency of traditional servers.
3) Stateless infra - This is a broad category in itself. These are maximally decentralized constructions, running peer-to-peer, but there’s no consensus (or loose consensus). As a result, you run with an honest-minority assumption, and even a network with 10-100 nodes is perfectly decentralized. But there can also be certain types of stateless infra where there’s only one node, but thanks to validity proofs, they don’t need any more. (These are called ZK Coprocessors) Stateless infra can enable a lot of features incorrectly attributed to blockchains - decentralization, privacy, auditability, permanence - but without the burden of consensus. By calling it “stateless”, we get some sense that they have something to do with blockchains, but they don’t have a state [PS: they can have a state, but not a real-time strict consensus state] and thus don’t come to consensus. Again, this is a very broad category, and I’m sure we’ll see many different solutions. IPFS, BitTorrent, Farcaster Hubs, ZK coprocessors - all can be thought of as forms of stateless infra.
Why do we need stateless infra?
Today, blockchains are extremely inefficient, requiring tens of thousands of times overhead over a server for the same compute. With new tech like validity proofs and data availability sampling, we can be thousands of times more efficient, but even an endgame ZK rollup settling using DAS will probably have a 100x overhead overall.
Today, “web2” runs on 100,000,000+ servers. How bullish we are on decentralized compute varies wildly by who you ask. Monolithic chain maxis are the most bearish, and think 1 chain can handle most of it. More optimistic folks will tell you 1% of all compute will migrate to decentralized compute, while the most optimistic ones would say 10%.
But let’s take 0.01% as an example - not as pessimistic as monolithic maxis, but still fairly pessimistic. This would require the equivalent of 10,000 servers. Adding all the inefficiencies added by chains, you’re looking at a million chains, probably.
With ZK tech, it’s actually possible to scale up to a million chains with universal synchronous composability and shared security - which is literally a million times improvement over monolithic chains.
But it’s not enough. Let’s take the example of a multiplayer game like Palworld. According to their developers, they have a monthly server cost of $500K. Making it all run on endgame ZK rollups - which is the very most efficient frontier of blockchains - will cost multiple millions, making it financially infeasible. (As mentioned above, a usecase like this is completely impossible without using ZK tech)
Instead, we have to take a hybrid approach, while retaining decentralization. Multiplayer games can run largely peer-to-peer, with the game clients running on each person’s computer or console effectively running a vast decentralized network. Somethings need to be coordinate on servers - these can be moved to a peer-to-peer stateless infrastructure. Stuff that needs verifiability but not consensus can run on ZK coprocessors. Finally, the stuff that needs strict global consensus can run on ZK rollups/validiums.
Lastly, it’s important to note that parallelizing across multiple cores and multiple machines is much, much easier with stateless infra, which can lead to exponentially higher scale.
It’s still going to cost a lot more than $500K, but by using the most efficient solution for each task, while retaining decentralization, we can enable new usecases that are simply infeasible today and won’t be feasible in the future just using blockchains, even at its most evolved ZK form.
It’s all about enabling new applications
Today, we are in a very restrictive paradigm. Whether it’s an L1 or L2 doesn’t matter - the hardware limits to one chain - effectively one server - is extremely limited. We have seen L1 after L1 after L2 after L2 reach their limits and get congested very quickly, with even the fastest chains only able to accommodate a few thousand transactions per second at most.
Using new tech like validity proofs, we can start using multiple chains while retaining security and composability, which is already a massive, infinite improvement.
Using stateless infra, we can go further.
By combining all of these, we can start to realize applications that would just not be possible without.
But what about decentralization?
Stateless infra are actually more decentralized than blockchains. Achieving strict global consensus is an extremely difficult process, and requires an expensive Sybil resistance mechanism with honest-majority assumptions. The block production mechanism is at best a plutocracy (proof-of-stake) and at worst a corporatocracy (proof-of-work). These blockchains mitigate this by node running, but they still operate with an honest-majority assumption, and you need thousands of nodes to achieve any level of resilience for the consensus-forming process.
While stateless infra will come in various different forms, most of them will be just fine with honest-minority assumptions - so as long as there’s one node it’s all fine. As a result, they can be much more decentralized with much fewer nodes, and have fewer points of failure and centralization.
In short, if strict global consensus is not required, peer-to-peer stateless infra are both more efficient and more decentralized than blockchains.
It’s about time we stopped fighting over blockchain infra and started building applications, new applications enabled by stateless infra.
Happy to discuss more on Farcaster, @polynya. By the way, Farcaster is a great example of an application that’s only possible using stateless infra, and why it has succeeded where its blockchain-only counterparts like Steem or DeSo failed. More Farcasters please, less L1s and L2s.