Credible Neutrality

From P2P Foundation
Jump to navigation Jump to search

= in the context of Mechanisms in crypto design

Description

Vitalik Buterin:

"What is credible neutrality?

Now, let us talk about this all-important idea, “credible neutrality”. Essentially, a mechanism is credibly neutral if just by looking at the mechanism’s design, it is easy to see that the mechanism does not discriminate for or against any specific people. The mechanism treats everyone fairly, to the extent that it’s possible to treat people fairly in a world where everyone’s capabilities and needs are so different. “Anyone who mines a block gets 2 ETH” is credibly neutral, “Bob gets 1000 coins because we know he’s written a lot of code and we should reward him” is not. “Any post that five people flag as being bad does not get shown” is credibly neutral, “any post that our moderation team decides is prejudiced against blue-eyed people does not get shown” is not. “The government grants a 20-year limited monopoly to any invention” is credibly neutral (though there are serious challenges around the edges in determining what inventions qualify), “the government decides that curing cancer is important, and so appoints a committee to distribute $1 billion among people trying to cure cancer” is not."

(https://nakamoto.com/credible-neutrality/)


Characteristics

Vitalik Buterin:

"Building credibly neutral mechanisms

There are four primary rules to building a credibly neutral mechanism:

  • Don’t write specific people or specific outcomes into the mechanism
  • Open source and publicly verifiable execution
  • Keep it simple
  • Don’t change it too often


(1) is simple to understand. To go back to our previous examples, “Anyone who mines a block gets 2 ETH” is credibly neutral, “Bob gets 1000 coins” is not. “Downvotes mean a post gets shown less” is credibly neutral, “prejudice against blue-eyed people means a post gets shown less” is not. “Bob” is a specific person, and “prejudice against blue-eyed people” is a specific outcome. Now of course, Bob may genuinely be a great developer who was really valuable to some blockchain project’s success, and deserves a reward, and anti-blue-eyed prejudice is certainly an idea I, and hopefully you, don’t want to see becoming prominent. But in credibly neutral mechanism design, the goal is that these desired outcomes are not written into the mechanism; instead, they are emergently discovered from the participants’ actions. In a free market, the fact that Charlie’s widgets are not useful but David’s widgets are useful is emergently discovered through the price mechanism: eventually, people stop buying Charlie’s widgets, so he goes bankrupt, while David earns a profit and can expand and make even more widgets. Most bits of information in the output should come from the participants’ inputs, not from hard-coded rules inside of the mechanism itself.

(2) is also simple to understand: the rules of the mechanism should be public, and it should be possible to publicly verify that the rules are being executed correctly. Note that in many cases, you don’t want the inputs or outputs to be public; this article goes into the reasons why a very strong level of privacy, where you cannot even prove how you participated if you want to, is often a good idea. Fortunately, verifiability and privacy can be achieved at the same time with a combination of zero knowledge proofs and blockchains; see here for more details.

(3), the idea of simplicity, is ironically the least simple. This post on “central planning as overfitting” goes into many of the arguments much more deeply, but it’s worth summarizing. The more simple a mechanism is, and the fewer parameters a mechanism has, the less space there is to insert hidden privilege for or against a targeted group. If a mechanism has fifty parameters that interact in complicated ways, then it’s likely that for any desired outcome you can find parameters that will achieve that outcome. But if a mechanism has only one or two parameters, this is much more difficult. You can create privilege for very broad groups (“demagogues”, “the rich”, etc) but you cannot target a narrow group of people, and your ability to target specific outcomes goes down further with time, as there is more and more of a “veil of ignorance” between you at time A that is creating the mechanism and your beneficiaries at time B and the specific situation they will be in that might let them disproportionately benefit from the mechanism.

And this brings us to rule (4), not changing the mechanism too often. Changing the mechanism is a type of complexity, and it also “resets the clock” on the veil of ignorance, giving you the opportunity to adjust the mechanism to favor your particular friends and attack your particular enemies with the most up-to-date information about what unique positions these groups are in and how different adjustments to the mechanism would affect them."

(https://nakamoto.com/credible-neutrality/)


Discussion

Vitalik Buterin:

"Of course, neutrality is never total. Block rewards discriminate in favor of those that have special connections that give them access to hardware and cheap electricity. Capitalism discriminates in favor of concentrated interests and the wealthy, and against the poor and those who rely heavily on public goods. Political discourse discriminates against anything caught on the wrong side of social desirability bias. And any mechanism that corrects for coordination failures has to make some assumptions about what those failures are, and discriminates against those whose coordination failures it underestimates. But this does not detract from the fact that some mechanisms are much more neutral than others.

This is why private property is as effective as it is: not because it is a god-given right, but because it’s a credibly neutral mechanism that solves a lot of problems in society - far from all problems, but still a lot. This is why filtering by popularity is okay, but filtering by political ideology is problematic: it’s easier to agree that a neutral mechanism treats everyone reasonably fairly than it is to convince a diverse group of people that some particular blacklist of unallowed political viewpoints is correct. And this is why on-chain developer rewards are viewed more suspiciously than on-chain mining rewards: it’s easier to verify who’s a miner than it is to verify who’s a developer, and most attempts to identify who is a developer in practice easily fall prey to accusations of favoritism.

Note that it is not just neutrality that is required here, it is credible neutrality. That is, it is not just enough for a mechanism to not be designed to favor specific people or outcomes over others; it’s also crucially important for a mechanism to be able to convince a large and diverse group of people that the mechanism at least makes that basic effort to be fair. Mechanisms such as blockchains, political systems and social media are designed to facilitate cooperation across large, and diverse, groups of people. In order for a mechanism to actually be able to serve as this kind of common substrate, everyone participating must be able to see that the mechanism is fair, and everyone participating must be able to see that everyone else is able to see that the mechanism is fair, because everyone participating wants to be sure that everyone else will not abandon the mechanism the next day.

That is, what we need is something like a game-theoretic concept of common knowledge - or, in less mathematical terms, a widely shared notion of legitimacy. To achieve this kind of common knowledge of neutrality, the neutrality of the mechanism must be very easy to see - so easy to see, that even a relatively uneducated observer can see it, even in the face of a hostile propaganda effort to make the mechanism seem biased and untrustworthy."

(https://nakamoto.com/credible-neutrality/)