Decentralize all the things?

From some of the excitement these days about Bitcoin and related technologies, you might think that anything can be made better if you decentralize it… or at least, that a whole lot of geeks and multimillion-dollar businesses seem to think so. In this post we’ll try to pick apart what this means, and pin down some substance behind the hype.

A common view is that likely even more important than Bitcoin’s function as a cryptocurrency is its underlying technology, called the blockchain. In a nutshell, the blockchain provides a new way for a decentralized network of parties (i.e., one without a central coordinating party) to maintain a public ledger of logged information that everyone agrees on, even when the parties may be mutually distrusting and may come and go as they please. In Bitcoin, the logged information essentially consists of all the transactions that ever occurred since the start of Bitcoin. (That’s how you know how much money each “wallet” contains: by checking all the transactions it’s ever been part of.) After witnessing the effectiveness of the blockchain in building an unprecedentedly successful decentralized currency — no central bank involved! — it’s certainly exciting to think of applying similar ideas to other domains and to see what cool new things can be built.

But on the other hand, “applying similar ideas to other domains” sounds pretty wishy-washy. What is the excitement really about — is it even well-defined? Should we really decentralize all the things, and what does that actually mean? (What’s a decentralized banana anyway, and does it taste better than a regular banana?)

The key feature of decentralized systems is that they avoid the inherent drawbacks of depending on a central authority. A central authority can potentially be a catastrophic single point of failure: if the authority is malicious (or coerced or hacked, or simply incapacitated by a power outage) then, for example, the entire system could shut down, or users’ privacy could be compromised, or the system could deceive users to think that it’s operating properly when it’s not — potentially tricking them into accepting false information as true, or into handing over further sensitive data. Or all of the above.

A particularly controversial scenario is that of governments compelling companies to censor or discontinue their services, or to hand over users’ private data. Such demands have been made routinely by the US government, both about targeted users (e.g., suspected criminals) and in indiscriminate bulk without users’ knowledge, as the Snowden revelations (summarized here by the EFF) showed in 2013. The latter has been widely considered to be an gross violation of unknowing people’s privacy and trust.

A well-designed decentralized system could avoid such problems, because there would be no central entity with control over the data in the system, and no individual or small group of individuals would have the power to shut the system down. Even if nobody is malicious, this can be useful. For example, system components are bound to fail from time to time, but unless most of the components fail all at once, a decentralized system could stay up and running. Also, grassroots-style efforts that serve popular interest could potentially be realized at large scale, even without the clout of an established company or wealthy backer.

It’s not just a bed of roses, though. In the realm of coercion and malicious behavior, things can be more complex. By building technology that reduces the power of an oppressive government to suppress free speech and harass peaceful activists, to track its population’s every move and impose a regime of fear, we inherently also reduce the power of a well-meaning government to track and hold accountable criminals who engage in human trafficking, black market trades, and other unsavory activities that can be coordinated in a decentralized way. One could say it’s always been that way: if the good guys discover sliced bread, the bad guys will too. What’s clear is that decentralization is by no means a panacea: the reality is that there are complex trade-offs between privacy and security, and most people are willing to tolerate some (small) amount of privacy loss in order to feel they and their children are safe in their homes at night.

For now, though, without delving deeper into the ethics of giving sliced bread to the dark side, let’s consider the fact that those in power have always had the potential to abuse it — and though history has seen some inspirational leaders who have used their powers for good, humankind has consistently demonstrated a woeful capacity for abuse of power.

As digital data, online interactions, and mass surveillance are becoming an ever more pervasive part of people’s lives and livelihoods worldwide, the potential for damage from abuse or coercion of digital power is fast growing alongside.

And data, once stored, can be pretty much forever. I’d say this isn’t something we want to gamble our future world on, much less our children’s.

So let’s say that decentralization can be pretty useful sometimes, and get back to what it means to decentralize all the things. Decentralization isn’t a generic procedure that can be thrown at any system; rather, decentralization is an approach to a complex problem, and it’s hard to do it really well. Each network has its own structure, and each system its own requirements. You can’t just tack on a blockchain to any system, and a blockchain is only one of many possible approaches to decentralization!

Centralized designs are generally more intuitive than their decentralized counterparts. For example, a natural outline of a centralized file-sharing system is as follows: users upload files to a central server where they’re stored (maybe encrypted), and other users can download those files from the server. When designing a decentralized file-sharing system (think, e.g., Bittorrent), one has to ask some trickier questions: how to store a file among a network of machines, so that users can add files to the network and retrieve any file upon request, and yet there is no small group of machines that has control over the content or availability of the files?

It becomes yet more complicated when you consider that not all machines are always online; instead, they may come and go at will. Some might crash and never come back. Often there is some trade-off between decentralization and performance (or other desirable properties), and compromises may be made: for example, even in a decentralized system, certain machines may have “more power”, or different types of power, compared to others (e.g., the Tor network comprises nodes of different types, which perform different functions in the network, and some are more performance-critical than others). Such compromises can be worthwhile and beneficial: it’s important to recognize that many complex systems are not simply “decentralized” or “not”. Rather, decentralized systems encompass a diverse design space, and it’s meaningful to weigh the pros and cons of whether and how to decentralize each aspect of a system.

We’ve learned a lot in the last few years with the explosion of interest in decentralized technologies: we’ve learned lessons about how to build them wrong, how to build them better, and their potential to abet both good and evil. We’ve seen (somewhat) decentralized versions of digital money (e.g., Bitcoin), file-sharing (e.g., Bittorrent), instant messaging (e.g., Jabber), blogging and other online media (e.g., Freenet), scientific research projects (e.g., SETI@Home), and more. While recognizing the reality that decentralization can be touted as a buzzword without a precise meaning, and that it is not a magic wand that transforms systems into better ones, and that decentralizing a system can be risky if you don’t do it right, and it’s challenging to get it right… it still seems an exciting and worthwhile goal to work towards designing these systems really well and exploiting all their potential to do good and insure against evil. Regardless of whether you consider “evil” to take the form of innocuous technological failures, a Donald Trump presidency, a Hillary Clinton presidency, or a conspiracy of aliens to take over the world, I hope we can agree that this is something well worth pursuing.

The author of this post is a Ph.D. student in cryptography at MIT, and a member of the Digital Currency Initiative (DCI) at the MIT Media Lab. The DCI and MIT Media Lab’s Center for Civic Media recently released a report titled “Back to the Future: The Decentralized Web,” discussing ways that decentralized systems could help address the risks of mega-platform consolidation, which may be of interest to readers who want to dive deeper.

Images are by the author and may be reused under a Creative Commons Attribution-NonCommercial license.