Back to basics: What is the point of decentralization?
There are two kinds of resources in a network:
- Individualist. The resource is owned by one stakeholder and doesn’t require cross-party coordination. Examples might include: tweets, blogposts, personal websites, likes and comments.
- Collectivist. The resource is owned by multiple stakeholders¹ and needs coordination between them. Examples might include: naming registries, package managers, cryptocurrency account balances, aggregated comment threads.
I start the conversation here because it sets the context for all decentralization: that we have mastered individualist operation and collectivist standardization but have failed at collectivist operation. The inability to collectively operate networks has created the conditions for large monopolies on the Internet.
A case study in anarchy: the Web
At its creation, the Web was notable for requiring much less coordination than other hypertext systems. Nelson’s Xanadu was the common comparison; unlike Xanadu, the Web didn’t support bi-directional links or more sophisticated transclusion links.
This worked strongly in its favor:
In its original 1989 design, the Web is a stateless, distributed, linked information repository. Based on three simple ingredients — HTML, HTTP, and URL — it leaves great freedom to the way information is created, exchanged, and distributed. Furthermore, there is very little structure and meaning given to the exchange units of the components of the Web, that is, marked-up text enclosed in an application-level protocol. Such simple design has made it possible to easily build components for the Web (servers, browsers, content editors) and has proved a crucial factor for its broad adoption and rapid success. At the same time, it does not provide for well-defined hypertextual systems. When compared with a system like Xanadu, Ted Nelson is highly critical, “HTML is precisely what we were trying to prevent: ever-breaking links, links going outward only, quotes you can’t follow to their origins, no version management, no rights management.”
The features which Nelson wanted in hypertext all require coordination between the source and the target of a link. This was not only difficult for Xanadu to implement, but it wasn’t very successful when attempted on the Web with PingBacks, WebMentions, and so on. Instead, we use crawlers to improve discovery and then place more sophisticated features into the individual Websites’ servers. GitHub uses backlinks extensively in its issues system; it just doesn’t coordinate those backlinks with any other sites.
So we can view the Web as a strong example of the individualist model being successfully applied. We can see its strengths — simplicity, low cost — as well as its weaknesses —a limited featureset — as directly arising from the individualist mode.
Is “operational anarchy” the full story of the Web?
No. URLs are built entirely upon DNS — a collectivist network resource. DNS has multiple stakeholders and requires coordination between them to establish a shared state (the domain mappings). If you want to work up the stack you can include IP address assignments and the exchanges between ISP networks, all of which are collectivist systems (again: coordinated and multi-stakeholder).
Additionally: The Web is operationally individualist, but it is architecturally collective. Sites and browsers need to agree on the features of the Web platform, and the industry has formed a standards process to collaborate between those stakeholders.
What can we draw from this? At minimum, we can say: The individualist model of the Web has been enabled by the collectivist models of DNS and standards development.
Collectivism implies coordination around a multi-stakeholder resource. It does not imply how that happens.
Facebook is a collectivist resource. We all use the same service to access our social graphs, so we’re all stakeholders. We all use the same processes to interact with each other, so we’re coordinated. All of the necessary conditions for collectivism are satisfied.
The how is the problem: the coordination process is not distributed among the stakeholders. We solve coordination by routing all interactions through a single authority which executes them for us. Without being involved in the execution, we don’t get any say in the design of the resource.
The story of the Web’s success tells us why this happened. Distributed coordination is hard — so we don’t bother with it. Authoritarian coordination is easy and individualist resources are easy, so they’re what we use.
Is operational anarchy therefore the goal?
When I say “operational anarchy” I mean a network designed entirely around the individualist model. With no collectivist resources, there’s no governance or state or authority over end-users.
For some decentralizers, the answer to this section’s question would be yes. I know multiple projects which are more anarchic than the Web, which often means replacing DNS and IPs with personal address-books, distributed search indexes, Webs of Trust, and public-key addresses. Some of these teams might permit governance such as moderators in the case of small communities, but I know some who flatly refuse to sacrifice individual choice even then.
The interesting thing to observe is that for some decentralizers, the answer is no, operational anarchy is not the goal. Given how fundamental this question seems, what does it mean that we can disagree on this answer?
Another interesting observation is that some of the most vehemently anti-governance people come from the Bitcoin community, which I would argue is the most noteworthy collectivist resource since the creation of DNS. What gives?
Decentralized operational collectivism
Putting aside any feelings about Bitcoin, what it accomplishes is a form of distributed operational collectivism. Let’s break that down:
- Collectivist. Bitcoin maintains a shared resource: the currency-ownership ledger. Everybody needs to agree on the state of this shared resource for it to have value, which means it’s coordinated and multi-stakeholder.
- Operational. When I say “operational collectivism,” I mean the actual operation of the system is collectivist, as opposed to (say) the design of the system.
- Decentralized. No single authority is responsible for the execution of Bitcoin. Rather, all the miners and validators work together to execute it.
Bitcoin is ungoverned in the sense that nobody is censoring transactions or changing a balance without the authorization of the key holder. The reason that’s possible, though, is because there is a governing system. It’s just tightly constrained.
Why decentralize operation?
Whoever operates a collective resource has the power to change its implementation. The reason we decentralize operation is to distribute that power of implementation. If the stakeholders have the power of implementation, they’re able to ensure the resource represents their interests.
When Bitcoin advocates decry governance, they’re not definitionally wrong or hypocritical. It’s the wide decentralization of Bitcoin’s operation which produces the outcome they desire — which is not to change the protocol. (Or, at least, not often, and not without very wide consensus.)
If some group of people got together and conspired to push through a change to the protocol, they’d need extremely wide agreement by the users to accomplish it. That’s what a highly distributed governance achieves.
Can you ever fully remove governance?
I argue that you cannot. Individualist resources require standards — which are inherently collectivist — and collectivist resources cannot remove the power of implementation. I have not yet been successful at enumerating the political systems of Bitcoin governance, but I strongly believe it exists because otherwise the protocol would never have changed.
My previous attempt asserted that miners possess that political power, but since then I’ve learned that validators hold significant power as well. This makes analyzing Bitcoin’s political system difficult since it’s unclear how many nodes exist at a given moment, much less how many of them need to adopt a soft fork for it to apply.
In the case of a hard fork, you’re presented with an even more vexing question: which is the true chain? Ethereum created a hard fork in response to the DAO hack and managed to convince everybody that the new chain was “Ethereum” and the original chain was “Ethereum Classic.” Try to formalize that!
Nonetheless, soft forks and hard forks are possible, and the stakeholders of a shared resource will come to a consensus about them. I’d call that governance.
Can the individualist exist without the collectivist?
The rallying cry to “own your data” is connected to the obvious issue that resources which are functionally individualist are captured under authoritarian collectivist systems. Why for instance does Twitter have control of my tweets when they’re just a log of small text snippets and images which I could easily self-host?
The answer is that networks which are comprised of individualist resources are woven into a variety of collectivist resources. Twitter includes the following, if not more:
- The username registry
- All metrics (likes, retweets, comments)
- The collection of secondary indexes, including the collection of comments, the search index, and algorithmically suggested tweets and users
- The process for moderation and managing abuse
All of these resources can be replaced with individualist alternatives to create anarchic operation, but doing so sacrifices the coordinated concept of Twitter as “one place.” Almost every decentralized Twitter sacrifices the ability to see all the content and metrics which logically exist within the network.
Does this matter? I personally think that it does — that people want to feel like they’re experiencing everything that exists within the place they’re operating within. Having spent a lot of time in p2p Twitters, I really didn’t enjoy wondering if somebody had replied or followed or liked and I wasn’t able to see it. After all, that just meant there’s some dopamine out there that I wasn’t getting because I don’t see all the likes on my shitposts.²
What resources need to be collectivist or individualist are a matter of debate for each project. The point is that when you do need those collectivist resources, your solution to coordinating them ends up defining the entire network. This tells me that the interesting work in decentralization is now not solving individualist data publishing, as that has been solved pretty well. The interesting work is decentralizing the collectivist resources.
The intransigence of consensus
What’s the point of decentralization? It’s to ensure that the stakeholders — the end users — are represented. Individualism enforces personal control, while decentralized collectivism produces an intransigent consensus. We limit collectivist systems because they’re powerful systems, and power must always be checked.
I’m curious to see what could happen if decentralized collectivist operation became a solved problem. How often do we reach for blockchains because it’s just too difficult to form international non-profits? Maybe if we had the tech to make this easy, our alternatives to centralized products would be more successful?
¹ Whether there are “multiple stakeholders” is not always universal. A website can have one or multiple stakeholders. Multiple people may depend on a search index, but are each of them stakeholders? It depends on how you want to view the resource.
² I think it’s meaningful that there aren’t any popular, traditionally-designed social networks which only show data from your local social graph like the p2p social networks do. If that was something that people wanted, wouldn’t we see them using it already?