Blockchain-based prediction markets need to integrate information from the outside world in order to resolve markets. Most of the events being predicted take place off-chain (for example, the outcome of a presidential election), so there needs to be some way for that information to be recorded on the blockchain to trigger the payout of the smart contract. This is known as the oracle problem, and it is the central challenge facing all decentralized prediction markets.
We recognize that there are many ways of designing and implementing oracles and that different types of oracles may be better for different types of markets. Augur, for example, allows market creators to specify a market resolver, but also allows for those resolutions to be challenged by users and eventually resolved by a fully distributed oracle maintained by an incentivized group of REP token holders. This is a highly fault-tolerant system, but it can take weeks to resolve contentious markets and may not be necessary or ideal in all cases.
Using the EOSIO account system, the PredIQt protocol is able to offer maximum flexibility to market creators and users. Each market that is created must specify an EOS account that will act as the resolver. Because EOS accounts are highly configurable, this resolver could be a single individual, a multi-sig, a DAC, a smart contract, a LiquidApps DSP, or a secure data feed like Oraclize. This allows market creators and users to choose the resolution models that make the most sense for each type of market. Market creators can experiment with different levels of trust and decentralization, and users can choose whether or not to participate in markets based on their confidence in the resolution system.
The goal of PredIQt is not to build a single resolution system that is used by all markets. Rather, the goal is to create a platform where anyone globally can create a resolution system, any of which can be easily plugged into any market on PredIQt. We believe that new decentralized business models will appear where distributed organizations specialize in resolving markets for users, earning resolver fees in the process. The organizations that offer the most reliable and trustless resolution services will be chosen by market creators for the most important markets, and the markets resolved by the most reputable sources will attract the most interest, participation, and liquidity. Because both market creators and market resolvers can profit from popular markets, this creates a positive feedback loop that drives proper incentives on both sides. For high-profile and high-stakes markets, market creators can even specify an oracle system that requires multiple independent resolvers to reach the same decision before a payout can be triggered.
Under the PredIQt system, market creators can choose to resolve markets using anything from a single resolver to a fully distributed system like that of Augur. We believe that this offers more customizability to users and better reflects the realities of prediction markets, where one resolution model may not be ideal for every different type of market. Further, it allows user to determine their own risk level. Some users may be willing to participate in low-stakes markets with mostly centralized resolvers, while other users will prefer to only participate in markets whose resolution is determined by a highly distributed resolver.
While any market creator can set any EOS account as the market resolver, the PredIQt team has also built a distributed market resolution system powered by $IQ. This serves as an option for any market creator to use, and it further drives value and engagement to the $IQ token.
This system works through the use of a designated resolver, and a distributed system that provides fault tolerance in the case that the designated resolver does not resolve the market or resolves it incorrectly.
When a market creator creates a market that uses this resolution system, they must specify an EOS account that will serve as the designated resolver. 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.
One a challenge has been issued, the new staked outcome becomes the new pending outcome. In order to further challenge the pending outcome, another user would need to stake at least double the amount of $IQ on a different outcome. In this case, that would require a user to stake at least 200k $IQ in a subsequent round. However, a user can 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.
Another scenario transpires in the case that the designated resolver does not resolve the market at all. If more than 72 hours has passed since the market’s maturity, and the designated resolver has not resolved the market, then any EOS account can propose the resolution (and earn the resolver fees that would have gone to the designated resolver). That process simply replaces the designated resolver, but the challenge periods proceed as normal.
PredIQt, by virtue of being a modular platform, allows for various types of market resolution. One of the core learnings we took away from studying other prediction market platforms was that a one-size-fits-all resolution method was not ideal for serving nuanced, complex market types. As such, we designed PredIQt from the ground up to allow for modular approaches to resolution that could serve the individual needs of those participants.
Any EOS account can serve as a market resolver. This allows for individual accounts, multi-sigs, distributed organizations, on-chain data feeds, and oracle services like Provable or LiquidApps to all provide market resolution on PredIQt. This allows for maximum flexibility and customizability for market creators.
Currently, one of the options for market creators to use is the PredIQt Multi-Sig, a multi-signature account made up of block producers and other community participants.
In certain cases, some markets may be unresolveable. This can happen due to circumstances that invalidate the original market, or because the market creator has not properly defined the market.
It is up to the resolvers of the market to determine whether or not the market is invalid. Currently, PredIQt features binary markets. Market resolvers can specify the outcome as one of the two binary outcomes, or as invalid. In the case that a market is declared invalid, all shares are refunded equally. Users should be careful to only participate in markets with a clearly defined outcome, and market creators should define their markets very specifically in order to attract significant interest.
In other cases, it’s possible that markets go entirely unresolved. All markets have an expiration date when the market ends. After the market expiration, there is a 15-day window in which the market resolver must specify the outcome. If the market resolver fails to do so in this time period, then the market automatically becomes invalid.
When a market is declared invalid, all shares are paid out equally.