sladuca.eth

Posted on Feb 07, 2022Read on Mirror.xyz

The Web3 Infra Paradox

There’s a somewhat unsettling pattern I started to notice in the space about a year ago. Over the past few months I’ve seen it play out more and more, and I’m sure I’m not the only one who’s brought it up. But I haven’t seen any good articles about it, I decided I’d share my thought on the matter.

Web3 infrastructure has a problem. Many networks have launched offering a decentralized market for a previously centralized service. Examples include L1s like Ethereum, L2s like Polygon and, and infra projects like IPFS, Filecoin, and The Graph.

All of the protocols I just mentioned do something valuable. L1s provide a VM capable of arbitrary smart contracts. L2s provide decentralized, off-chain scalability improvements. Infra projects created open, highly-competitive markets for storage, compute, and other resources, unlocking vast abundance and unbelievable prices.

The problem with all of the protocols I mentioned is that they require someone to stand up some kind of infrastructure to use it. To use Ethereum from a webapp, a developer needs an RPC node, and to make the app usable, they need a relayer to pay for users’ gas. L2s require bridges. IPFS doesn’t guarantee that a file will be stored indefinitely, so a developer needs to guarantee the files are stored with a pinning node. Using Filecoin requires a developer to manage storage deals - they have to extend deals after they’ve expired, make new deals for new data, etc. Automating that requires standing up a service to do that. Using The Graph’s mainnet requires paying fees for each query from an app’s front-end, but that’d be terrible UX, so developers need to set up relayers to pay for users’ query fees.

All of that infra needs to scale. All of that infra needs sybil-resistance. All of that infra needs DDoS prevention. All of that infra needs to be kept online 24/7. That’s a lot of work that developers don’t want to do. Oftentimes it’s more work than building the app.

But developers need to get to market ASAP! They need to iterate on their product as fast as possible! The fastest companies win, so instead of dealing with all this infra, they’ll pay someone else to do it for them. This is why everyone uses new SaaS products like Alchemy, Infura, Chainstack, Moralis, Biconomy, Pinata, Textile, Fleek, The Graph’s Hosted Service, and more.

And now, we’re beginning to see projects like Pocket Network build decentralized alternatives to the new SaaS companies I just mentioned. If any of these new networks, require infra to use (still unclear because it’s so early), the cycle will repeat itself.

This is what I’ve begun to call “The Web3 Infra Paradox”. At a high level, it plays out like this:

  1. A decentralized network is created to marketize and decentralize existing centralized infrastructure
  2. That network needs infra to run, but developers don’t want to deal with it.
  3. So SaaS companies launch products to do it for them, and developers are more than happy to pay for them.
  4. A project comes along and tries to provide an open, decentralized alternative to those SaaS products, completing the cycle.

So what do we do about it? The only way to break the cycle is to build decentralized infra that requires 0 infra to use. And that’s quite difficult to do. I’m not sure if there’s a single project that has done it yet. Even if someone builds a protocol that doesn’t require relayers or RPC nodes, sybil-attacks are still an issue. Maybe decentralized identity can solve that, but there’s still the light client problem. If a developer wants to verify the data their app is getting from said infra, and they need to maintain the entire history of the chain, verification will require infra. Maybe recursive SNARKs can solve that. Maybe that’ll be enough to break the cycle, but it’s still too early to be sure.

That said, I’m more or less convinced that breaking the cycle is necessary for a truly user-owned, censorship-resistant, and decentralized web. If you don’t care about that stuff, there’s nothing wrong with trading JPEGs and rotating shapes without a care in the world. But if you do care, maybe think about this the next time you build a dapp or evaluate infra projects.

Web3