[proposal] Shelling Point oracles on keep3r

I believe a decentralized oracle network running on keep3r rivaling that of chainlink can be built.

The concept is based on Schelling Points and it incentivizes good data by making data providers stake their KP3R.

There’s already a lot of writing and papers on SP’s but In short; Schelling Points is a concept from game theory that states that the majority of a crowd will reach a consensus on some unknown truth by having a large number of participants plot their individual votes.

However, this gets more interesting when you can reward or penalize participants.

For a price oracle it would look something like this:


The green line represents the current price of an asset, the red line represents the acceptable deviation from that price. In an implementation that punishes bad actors the majority of the votes will be placed within the price range, hence the bell curve, this means that any vote outside that range will lose their stake.

Rewards are issued based on the amount staked and percentile of the vote you placed, if you fall within the 99% percentile you will receive a larger reward than if you fall in the 95% and so on so forth.

I am unaware how the current oracle implementation on Keep3r works but the strong point of this Schelling Point implementation is diversity of data points and participation, if you can reward multiple Keepers the richness and accuracy of the data will be vast.

In brief this would require that a job can:

  • Be executed by a large set of participants simultaneously.
  • Be recurring as long as there is funding for the rewards.
  • Have a distribution curve with reward and penalty mechanisms.

This concept would use the Node.js scripts from Andre, the final output from the job should be a reliable decentralized price feed.

Perhaps a new valueless token could be created to bootstrap rewards, and later staking, for this specific oracle job.