We initially planned to create an open prediction market and create bets using zero-knowledge proofs in a decentralized manner for bets as small as between two friends on one scoring more than the other on a subject as open as a cricket match between India and Pakistan with millions of users and billions of dollars at stake. but due to the limited knowledge and the constraints of building the ZKproof system, we have limited ourselves to only sports data using chainlink oracles because there were no other platforms for trusted data sources. We also have implemented a dynamic reputation that gamifies the experience of players and have implemented seven levels or ranks a player can have, ranging from 300 to 800, where every time a player makes a correct prediction, they get a positive score, and for losses, they get a negative score. An algorithm chooses this dynamically, and in the future, it can also be used to take leverage from the team when making a prediction and earn more. The product can be used by individuals who are owners to create upcoming matches and then have users make their predictions after the result is fetched from the data provider. The contracts release all the funds and update the metadata to a new URI for all the soul-bound tokens (NFTs) that are used to maintain the reputation score. All the images have been permanently stored on IPFS and Filecoin using the Lighthouse SDK. All the current market makers also have highly large market maker fees, typically ranging from 1.5 percent to 5 percent, but our platform has been designed to take only 1 percent from all the matches, which are eventually used to pay for the gas used in the transfer and updating the metadata for all the tokens.
Building a ZK-proof system was not possible because it was too difficult to have proof for all the possible things that can be predicted, like for smaller bets, so we stuck to the existing technology. We wanted to use cricket data from ChainLink's data providers, but it was not supported. Also, while creating the split functionality for the smart contract, we wanted to use Superfluid's IDA, but that required us to either convert all the tokens in the contract to super tokens and then use that to call the split contract, but then we changed the perspective and used Open Zeppelin's split token contract to do the same. Also, we wanted to have a social login platform like Arcana where we would be able to use Gmail, but after integration, we realized it was getting difficult to get the account details and use the payment as compared to Metamask. The platform was also supposed to work with the graph protocol to allow us to keep track of a user's metadata for their lifetime, and then the user can use these reputation milestones to check his previous records and all his predictions but as that was getting a bit tough we stuck to keeping only the recent score and check that while updating the metadata. Also being a decentralised platform the platform was supposed to have real examples in the backend for the previous bets made in the platform but due to no such case we just hard-coded some examples of how the dashboard might be shown given they were made using our platform. This being a very heavy real world data dependent platform we have usually used most of data that are not real.
Tracks Applied (5)
Polygon Technology
Polygon Technology
Chainlink
QuickNode
QuickNode
Discussion