PredIQt is built to be the most modular prediction market platform in existence. One of the key forms of modularity is the oracle system. Any EOS account may serve as a market resolver (aka an oracle) for any market. This account is selected by the market creator during the market creation process.
However, in some cases the outcome of a market, as reported by the designated resolver, may be disputed by the users of PredIQt. In order to deal with these situations when they arise, we’ve built a native dispute resolution system powered by the $IQ token.
When a user creates a market on PredIQt, they must specify an EOS account to serve as the market’s resolver. When the market matures, that EOS account is tasked with sending a transaction that declares the outcome of the market. As a reward for this work, the resolver earns the market’s resolver fees.
When the market matures, this resolver is tasked with declaring the market’s result (yes, no, or invalid). This becomes the pending outcome. This process kicks off the first round of resolution. For 24 hours after the designated resolver has entered their result, other users have the opportunity to challenge the result by staking $IQ on an alternative outcome. The initial threshold to challenge an outcome is 100k $IQ.
In most cases, the resolver will declare the market’s outcome, payouts will be triggered, and users will receive their rewards. In some cases, however, the resolver may fail to show up upon market maturity. After 3 days, any EOS account can step in, resolve the market, and claim the resolver fee.
In some cases, the outcome of the market, as specified by the resolver, will be disputed by users. This is where the $IQ-based dispute resolution system comes in.
Any user can initiate a market dispute within 24 hours of the market’s resolution being proposed. Initiation of a dispute requires a stake of at least 100,000 $IQ, which can be contributed by a single user or multiple users.
By issuing a dispute, a user changes the market's pending outcome. If the designated resolver initially resolved a market as "yes," but then a challenge was issued, the new pending outcome is "no."
Each dispute is followed by a subsequent dispute round in which another user (or group of users) can again change the pending outcome by staking a dispute bond that is at least double that of the previous round. For example, if the first dispute user staked 100k $IQ, the next round would require a stake of at least 200k $IQ. Users can also up the ante and stake any amount over double the previous round. If a user in round two staked 1M $IQ, for example, the following round would require a stake of 2M $IQ in order to create a new pending outcome.
A market is finally resolved when no party offers to challenge the previous round by staking double the amount of $IQ. After 24 hours has passed, the existing pending outcomes becomes the resolution.
When a market reaches final resolution, the rewards and penalties of the dispute process are issued.
Users who issued a dispute that was unsuccessful lose 100% of the tokens that they staked on the dispute. Of the tokens staked on an unsuccessful dispute, 10% are burned, and the rest (90%) is re-distributed to users who staked on the correct outcome.
Users who staked on a successful outcome receive a pro-rata share of the tokens redistributed from the unsuccessful challengers.
PredIQt $IQ dispute resolution is based around Schelling point consensus. At a high level, this means that a distributed, decentralized group of users is most likely to converge on a consensus that matches reality, since converging on any other outcome would require widespread malicious coordination among a decentralized group.
Individual resolvers will assume that other rational resolvers will report the outcome as it actually occurred. Therefore, the actual outcome becomes the Schelling point and users are incentivized to report it as such. It's far more difficult for a distributed group to maliciously coordinate on a false outcome, since that group would have to convince the majority of users to pursue an irrational strategy.
Any individual user who reported a false outcome would not just be pursuing an irrational strategy, but would also stand to loose the entirety of their stake. This provides both a strategic and financial incentive for users to report outcomes correctly using this system.