Systems of governance are challenging to design because they tend to collapse into collusion, corruption, and plutarchy.
Here I propose four principles to strive for as design properties of a system of governance that if achieved tend toward plurality, and tend away from capture and plutarchy.
These are variations on the traditional principles of trustlessness, permissionlessness, and decentralization, which are paradigmatic organizing principles of web3. These are in many ways inspiring and aspirational principles, in other ways they are vague and their meaning has drifted.
In their place, I offer more precisely defined alternatives, may that we might design and adopt better systems of governance. These principles are:
Trustfulness no one must be asked to act contrary to their incentives.
Permissionfulness implies that systems are designed to maximize user permissions. At its best, every user can be granted the same privileges — they have the same moves on the game board. There is no admin mode, nor backdoor, no method by which to systematically capture a system. This doesn’t imply that everyone’s access, ability, and wealth is the same — as in chess, just because everyone has the same moves available doesn’t mean that there aren’t better and worse positions.
Diffusiveness a protocol is diffusive if it tends to push permission toward the edges. Think about waves hitting wave pylons and spreading out the concentrated energy so as to spare the shoreline. A diffusive protocol has this sort of property, and a more diffusive protocol does a better job of it.
Precarity characterizes a protocol where precariousness is made proportional to persuasiveness. This essentially amounts to designing a system that listens more readily to those in more precarious positions: whether that’s because they have a staked claim, a falsifiable theory, or have worse luck. It would be unusual if a system with the property of precarity didn’t tend to empower the unempowered.
For completeness, let’s briefly contrast these principles with the web3 principles of trustlessness and permissionlessness:
Trustlessness is sometimes invoked by saying, “It shouldn’t be necessary to trust anyone.” or “You should only trust the system itself.” This misses the point in many ways, perhaps most substantially by neglecting the fact that what we want is to increase, not diminish, trust — both in systems and one another. The way in which this is true is exactly that stated more precisely by the principle of trustfulness.
Permissionlessness implies that it should not be necessary to receive approval before doing something. But there are boundless contexts where permission is necessary and desirable — from driving licences to code reviews to anti-spam protection to romantic relationships. Permissionlessness attempts to minimize the capacity to require permission, permissionfulness attempts to make it easy to receive permission. E.g. a permissionless solution to driver’s licenses would ban them outright, and grant anyone the ability to drive. A permissionful solution would focus on designing self-driving vehicles so that licenses are unnecessary, and if they are necessary so that they’re as easy as possible to obtain.
While the principles here don’t get us to a concrete implementation, high level principles like this are helpful for guiding system design.
You might notice that none of the principles have to do with how the governance protocol must be “successful”, e.g. it must acquire new citizens, or grow in influence, etc. This requirement is taken as given: of course it must work. Rather, what these principles attempt to do is amend the significant tendency for centralization and the resulting ossification that is so typical of most systems of governance. Of course, that likely implies that from time to time the system itself must be replaced, and so the principles should enshrine that behavior, too.
This article has undergone several revisions, and occasionally upon finding a new idea I’ll return to update it. Treat this as a living document.
Want to print your doc? This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (