Skip to content

Instantly share code, notes, and snippets.

@mohamedhayibor
Created November 30, 2020 16:38
Show Gist options
  • Save mohamedhayibor/b511ace8404a9a4ad3d43658f40e8239 to your computer and use it in GitHub Desktop.
Save mohamedhayibor/b511ace8404a9a4ad3d43658f40e8239 to your computer and use it in GitHub Desktop.

Mechanism is an algorithm plus incentives.

A mechanism is a tool that takes inputs from multiple people and uses these inputs as a way to determine things about its participants' values, so as to make some kind of decision people care about.

In a well functioning mechanism, the decision made is both efficient (the best possible outcome given the participant's preferences, and incentive-compatible, meaning that people have the incentive to participate "honestly". Private property is as effective as it is: not because it is a god given right, but because it's credibly neutral mechanism that solves a lot of problems in society, far from all but still a lot.

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.

reason 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 who's a developer (and how much work they did), and most attempts to identify who is a developer in practice easily fall prey to accusations of favoritism.

It's crucially important for a mechanism to be able to convince a large and diverse group of people that the mechanism at least makes basic efforts to be fair.

Everone participating must be able to see that the mechanism is fair. (reassurance that peeps don't ditch it the next day)

Massive

To achieve this kind of common knowledge of neutrality, it must be really easy to see, that even a relatively uneducated observer can see, even in the face of a hostile propaganda effort to make the mechanism seem biased or untrustworthy.

Credible neutral mechanism

  1. Don't write specific people or outcomes into the mechanism
  2. Open source and publicly verify execution
  3. Keep it simple
  4. Don't change it too often

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.

Most bits of information in the output should come from the participant's inputs, not from hard-coded rules inside the mechanism itself.

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 in favor of your friends...

When we foresee a possible breakdown in voice, we can mitigate the risks by improving freedom of exit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment