The drawbacks of strict global consensus

Strict global consensus is the only unique property enabled by public blockchains, but it has several drawbacks, so you should only leverage it if it’s essential for your application.

  1. It’s centralized: You’re relying on either a plutocracy and/or a corporatocracy for strict global consensus. Indeed, you need a fallback to make that acceptable, but this relies on rough consensus. So, it’s not really strict global consensus in those edge cases? Confused? Yes, that’s the drawback.

  2. Expensive: Even in the endgame with validity proofs, there’s still going to be a significant overhead, technically, economically, and socially. In the monolithic era, which we are still transitioning through, it’s 1,000x worse. Strict global consensus comes at a cost.

  3. Slow: At the endgame, you can have many high-performance chains interoperating via validity proofs, with each chain featuring parallelism, each faster than the fastest chains that exist today. However, you can’t really have a high-performance application as each application is ultimately bound by a single thread. Some applications can be multi-threaded by accessing different state, but many of the apps suitable for strict global consensus will be bound to a single thread. There might be solutions to this - one that I can think of is something like an EVM ASIC, instead of running on a CPU, with a “massive thread”, so to speak. But it’s still not going to match non-consensus applications which can parallelize seamlessly across thousands of servers and millions of threads.

  4. Limited: You’re kind of limited by the VM enabling strict global consensus. Some applications can deploy app-specific rollups bypassing VMs, but others requiring composability are bound by the rules of the chain.

  5. Objectivity only [Addendum]: I’m adding this in later, because it’s kind of obvious, and also, a lot of P2P stuff can’t do subjectivity anyway. But it’s worth noting that strict global consensus can only be achieved on objective inputs. So, subjective things like credit scores, reputation, monetary policy - and really most of the human experience - are not possible through strict global consensus.

For many key applications enabled by strict global consensus - particularly objective money/value & objective identity - these trade-offs are well worth it.

However, a lot of purported “web3” applications simply don’t need strict global consensus. If you need decentralization, non-consensus peer-to-peer is significantly more decentralized, efficient, flexible, and performant. If you need privacy and cryptographic guarantees, zero-knowledge proofs enable new usecases without using blockchains. There are interesting hybrids like ZK coprocessors, stuff like Cowswap. Build your application hybrid so it leverages strict global consensus only when actually essential, while using better methods for other features. Of course, it’s a spectrum, with some applications where everything onchain is essential, and others which only use it for 1 thing.

In 2022, hybrid applications were kinda theoretical and I accepted that criticism, but today, Farcaster has proven this model works. Use onchain for the one or three things that need strict global consensus - objective money (fees, assets) & objective identity (ENS) - while doing everything else offchain. For a better visualisation, see:

vitalik.eth on X: "@QwQiao @iamDCinvestor Yeah I agree we can be better at separating out the messaging. The key info for devs is much more like the top of this chart than the bottom. https://t.co/4NS4v7QQz2" / X (twitter.com)
vitalik.eth on X: "@QwQiao @iamDCinvestor Yeah I agree we can be better at separating out the messaging. The key info for devs is much more like the top of this chart than the bottom. https://t.co/4NS4v7QQz2" / X (twitter.com)
Subscribe to polynya
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.