I wrote a post in September about where blockchain apps make sense. A few months after that, Vitalik wrote a detailed post about a similar topic, which pushed me to realize my initial model was incomplete. So here, I’ll attempt to expand on it.
Blockchain apps make sense where you need all three:
1) Peer-to-peer operation: this includes P2P software like IPFS, BitTorrent, multiplayer games, messaging apps, and yes, blockchains. It’s important to note that if you just want to eliminate a centralized entity and decentralize an app, you can simply go P2P without using blockchains in most scenarios.
2) Strict global consensus: this is the unique property blockchains bring to the table - strict global consensus, so every peer in the world agrees on exactly the same outputs.
3) Objectivity: however, a limitation of blockchains is it can only parse objective results.
Remember, you need all three for blockchain apps to make sense. P2P is a great idea, and a lot of things can be decentralized that way, trading off speed and efficiency. You can also do both, giving users the choice, or using P2P as a fall-back. Interestingly, you can do local consensus and even loose global consensus even with P2P networks, without using public blockchains.
Where public blockchains come into play is with strict global consensus. What applications require both peer-to-peer operation and strict global consensus? Money/value and identity, in their various forms, barring tiny niches.
But it’s actually a subset of money and identity - objective money and objective value. For example, you can’t have subjective monetary policy, which is essential for currency responding to the dynamic nature of economies, owing to everything from behavioural changes, business cycles to natural disasters. Likewise with identity - you can’t compute reputation or credit scores and the like. So, objective identity and objective money on public blockchains leads to usecases like - reserve assets, IDs, attestations, collectibles, equity-like tokens, overcollateralized lending etc. Can AGI bring subjectivity to public blockchains? Maybe, but that’s very far off, and it’s silly to assume public blockchains won’t be superseded by a better solution by then.
However, you can have objective representations of subjective results. A stablecoin like USDC or DAI is an example of this, as is a credit score that has been computed off-chain. This does help expand the usability of public blockchains significantly, but also adds further assumptions.
So, why not just put all subjective outputs on a public blockchain? The question to ask is - does it need to be global? Often, the answer is no, that certain real-world information is only relevant to a certain jurisdiction, or a certain organization, in which case local consensus is good enough.
Let’s consider overhyped cases like “portability of assets between games”. As I have explained in detail in my Games and Blockchain post, this is much harder said than done, and multiple implicit assumptions are inherently introduced, which means this usecase can only be accomplished with a P2P game engine or local consensus within the game development industry.
Then there are many DAOs and dapps which come with multi-sigs, governance tokens with upgradability, and such. This is indeed an implicit local consensus.
Now, you may argue, by that logic, only native assets on public blockchains - BTC, ETH - and a few immutable smart contracts on Ethereum make sense. This is where I introduce the overriding factor:
0) Access to the global cryptoeconomy
Yeah, sure, “portability of assets between games” is impossible to do using blockchains. But a casino-type game can benefit from accessing the Ethereun economy, via rollups or validiums. To be clear - most such applications are just fine with access only to traditional economy, but public blockchains can come with some additional benefits - a global audience of gamblers, skirting local regulations etc.
This is where an other non-blockchain apps only interacts with a public blockchain to leverage its unique features - objective value and objective identity.
Likewise, with many dapps. What about DAOs, then? Unless they are crypto-native DAOs, in almost all cases, they do not need or want to broadcast activity publicly. However, there may be hypothetical niche cases - like a global co-operative, or a global charity, or a megacorporation - where the transparency can be a benefit.
Remember, though, these are all mixing and matching the two key usecases of public blockchains - objective money and objective identity. I hope to see more innovation on this front.
One argument you may see is - just put everything on a blockchain because why not? The problem is, blockchains will inherently be less efficient and less useful than traditional infrastructure. Even if you get to extremely efficient ZKP proving - which really is the only way to achieve this at scale - there’s still an overhead that adds up over millions of servers, plus the difficulty/impossibility of subjective computations. Furthermore, a vast majority of these applications do not require strict global consensus - you could just use non-blockchain P2P. Still, you’ll see some of these applications deployed even if they don’t make sense.
Lastly, of course there’ll be niche applications beyond everything described above, but more importantly, let’s talk about hybrid applications - which I mentioned in my previous post and was also highlighted by Vitalik. This is where you have mostly a traditional application, run on servers, or perhaps run peer-to-peer, but it has certain elements that interact with a public blockchain. In most cases, this will be due to 0) Access to the global cryptoeconomy.
Consider a decentralized pay-to-win game. So, you can have a decentralized game, where every player runs its own client with anti-cheat (a fascinating example of loose global consensus) and interacts directly with other players. It only interacts with a public blockchain over a validium to settle value as and when required. Interestingly, here’s a niche application that requires a blockchain that goes beyond money and identity - a smart contract generates gameplay puzzles and loops autonomously that the P2P clients can then represent. So, niche usecases may indeed emerge - but the dominant usecases will be a permutation and combination of objective money and objective identiy for the foreseeable future.
I’ll end this post with a spectrum of how blockchainy an app is, in descending order. This is just for fun with select examples and is by no means comprehensive:
10: Native assets on credibly neutral public blockchains (e.g. BTC, ETH)
9: Immutable smart contracts/assets on Ethereum L1 (e.g. a specific version of Uniswap)
8: Immutable smart contracts on a mature L2
7: A dapp with upgradability but a wide tokenholder base whose basic usability depends on access to its chain’s economy (e.g. Aave)
6: A mature app-specific rollup but with a single operator (e.g. Sorare is almost this, although it’s a validium/volition)
5: Dapps that don’t exactly need the chain (can work just as well with local consensus), but benefits from accessing the economy (e.g. Bored Apes)
4: A decentralized P2P app, only use is accessing the economy
3: Dapps in a multi-sig, or an appchain with relatively centralized validation
2: A traditional app, only use is accessing the economy (e.g. like the game I described above, but with a centralized server - so basically 99% of “crypto games” today)
1: A traditional app that gives you the option to pay with crypto (e.g. Shopify)
PS: There’s a longer version of this post which goes through application types in detail, but I believe Vitalik’s post was better so I edited that out.