ICANNs vs Blockchains
There’s a running “joke” (using that word generously) that techies will use blockchains when they really want to make ICANNs. The point being that their actual goal is to govern a shared resource, but for whatever reason — tech fascination, hype, misapprehension of their goals— they end up using a cryptocurrency.
I understand that decision though, especially now that DAOs and smart contracts are available. Even with gas fees, DAOs are much easier and cheaper to form than non-profits. There are apps for it. They’re easier for programmers to litigate, since few of us are also lawyers. DAOs are also not bogged down by the complexities of international law.
When you’re starting a new project and you have aspirations for open governance and collective ownership, you rarely have the money to form a legal entity — but networks require shared resources and those resources need coordinated, multi-stakeholder governance. What are we supposed to do?
A common option tends to be informal consortiums. These are often created to manage implementations and specs, but aren’t often used for the operation of networks. (By informal consortium, I really mean a GitHub org.)
For “shared operation” we tend to use federation, which means the active resources — names, content, indexes, metrics, moderation — get segmented into governance islands (the servers) with standard protocols for accessing those islands. But this doesn’t really solve the problem. Federation is not shared operation; it’s just inter-operation.
Hats off to Mastadon and ActivityPub for giving federated social networking a serious modern try, but it’s just not interesting to use a segmented network. Twitter is an interesting place because it’s “where everybody is,” and the usability is likewise strengthened by having one place to go for doing everything. Federated networks are worse products by comparison.
What would interest me is a decentralized social network which feels like a traditional network but is operated by multiple orgs and maintains open interfaces and an open political process. This would mean sharing usernames, indexes, metrics, and (to some degree) moderation across multiple orgs. Has anybody done that before? Well, yes: ICANN did it for IP address and domain name assignment. Could the same be done for your Twitter replacement?
Technologies that reduce the amount of trust you need in other participants can increase cooperation. If I know that other participants will play by the rules, then I can play along with strangers to reach a shared goal. Decentralized, Internet-scale systems need that kind of help if cooperation is going to happen. Blockchains, smart contracts, and DAOs make sense as an answer to sharing operational resources in open networks. That’s why they come up so often in the context of naming systems. (That said, they should never be pitched as ungoverned systems; that’s just incorrect. If anything, they’re technologies for governance.)
Of course, blockchains are a bit stuck in the mud right now. Every project I’ve seen reach for a smart contract gets hung up entirely on how to reduce gas fees. This, in addition to the general complexity of deployment, key management, contract security, the culture of scam artistry, and ecological concerns.
I’m critical, but I see the potential. I’m less interested in “are they good?” and more interested in “when are they good?” The Chris Dixon Web3 push of 2021 — Ethereum’s big moment— coincided with a gas fee skyrocket that stopped uptake entirely. Thus there are two meanings to the “when.”
- One: when will blockchains work?
- Two: when do use-cases match?
A blockchain that costs 0.01 cent per transaction has different use-cases than one that costs 10 dollars per tx, and it’s possible that the “two whens” never align for this kind of governance. We will see.
My point is that decentralization is just as stuck in the mud as blockchains so long as we don’t have good answers to coordinated, shared resources. If we can’t find a way to coordinate operations more closely than Federation’s interoperable islands, we just won’t make any products that compete with centralized services.
There are a couple ways to solve this, so take your pick:
- Blockchains get cheap enough and usable enough to run smart contracts and DAOs. This might happen through L2s.
- A non-blockchain technology for multi-party governance works out, which is what I’m looking at with Vitra.
- Some company makes it trivial to form international orgs with the tooling to run services and databases under their umbrella.