The Mirage of Decentralization
In My First Impressions of Web3, Moxie Marlinspike, founder of Signal and a lifelong cryptographer with strong grassroots-tech instincts, dives headfirst into building dApps and experimenting with NFTs. But it takes a mysteriously disappeared JPEG NFT to awaken him to a harsh truth: despite all the rhetoric about decentralization, the client-side experience of Web3 has quietly reverted to the old logic of Web2. His article reads like a technical field report and a sober warning, when the noise of a gold rush drowns out the ethos of protocol, decentralization may just be Web2 × 2.
The Death of the “Run Your Own Server” Dream
- The Romance of Web1: A time when everyone was their own publisher and sysadmin—managing email, blogs, Finger services on self-hosted machines.
- The Reality: Most people (even tech-savvy ones and companies) don’t want to run their own servers → paving the way for Gmail, Facebook, AWS, and other hosting behemoths.
- Conclusion: Hosted infrastructure isn’t a technical regression but a social preference. If Web3 ignores this driver, it’s doomed to retrace the same platform path.
Even “non-custodial” wallets like MetaMask rely on Infura, Etherscan, and OpenSea APIs to display balances and assets. When OpenSea returns a 304 No Content, the NFT effectively disappears.
-
Clients Can’t Be Full Nodes: Phones and browsers lack bandwidth and storage to sync the chain → must rely on node-as-a-service providers.
-
Protocol Evolves Slowly, Platforms Move Fast:
- ERC-721 lacks royalty fields → OpenSea patched its own system.
- IRC took 30 years to standardize video; Slack added custom emoji in weeks.
-
Speculation Drives Centralization: Speculators don’t care about decentralization—they need liquidity, which aggregates around Coinbase, OpenSea, Infura.
The result: Web3 rapidly evolves into a stack of hosted APIs + private indexing + centralized discoverability—undermining even the censorship-resistance and privacy of Web2.
-
Distribute Trust via Cryptography, Not Node Count:
Instead of chasing full decentralization, embrace the reality of client-server architecture but demand cryptographic proofs, transparent logs, and verifiable delay functions from servers.
-
Simplify the Stack:
Distributed systems are inherently complex. Without lowering the cost of development and deployment, users will “vote with their feet” and return to centralized solutions.
How Might We “Reclaim” Web3?
-
Client-Side Verifiability:
Push for Light Clients, ZK-proofs, and other mechanisms that let mobile devices validate headers and state.
-
Composable, Open Indexes:
Design provable content-addressed data layers (e.g., CID + Merkle Proof) for NFTs and on-chain content to prevent front-end monopolies.
-
Fast-Track Protocol Governance:
Introduce layered protocols or modular upgrade paths to shorten iteration cycles—without sacrificing consensus security.
-
Privacy by Default:
DID, ZK-payments, and stealth addresses should be built into wallets as native features, not optional add-ons.
-
Educate Investors:
Encourage self-custody, RPC diversity, and critical awareness. Remind users: “Your NFT isn’t yours if it’s just a JSON line on OpenSea.”
Conclusion: Don’t Let Web3 Become Web2 × 2
Moxie’s piece is a calm stress test. If Infura, Alchemy, and OpenSea simultaneously locked down APIs or delisted “non-compliant” content, what would remain of Web3? If the answer is “run a node in the command line,” then this wave of decentralization hasn’t truly reached the user layer.
I’m reminded of a developer’s quip: “Blockchain’s greatest invention was turning database errors into a consensus feature.” But perhaps the deeper truth is this: the politics of technology doesn’t live on-chain—it lives in the interfaces users see (and don’t see).
If those layers are still monopolized by a few domain names, API keys, and SDKs, then all the elegant off-chain signatures and consensus algorithms are just expensive background noise.
The real path to Web3 must start by reclaiming visibility at the client layer.