Dream11, a leading fantasy sports platform, has come under fire for multiple instances of leaked player team data before matches. These breaches have raised significant concerns regarding the platform's handling of user privacy.
Dream11 is embroiled in legal disputes due to the pervasive allowance of the use of bots by powerful bookies, which distort fair competition by artificially inflating betting pools. These automated entities erode the integrity of the platform.
Dream11's lack of transparency with its scoring system breeds distrust among players, who question the accuracy and fairness of leaderboards.
Our innovative approach involves generating a Merkle Root of each user's meticulously crafted squad of 11 players, arranged in a specific order, before the commencement of the match.
The Merkle Root generated is then combined with the user's address and timestamp, forming a unique squad hash.
To ensure anonymity and resist Sybil attacks, this squad hash is encrypted using Anon Aadhaar Proof and securely transmitted to our contract for registration. Once registered, any attempt to modify the squad becomes evident, as any alteration would lead to a change in the squad hash. Additionally, the squad remains confidential as the hash assigned to each user is distinct, even if multiple users generate identical squads simultaneously.
Following the match's conclusion, before computing player points, our system employs a Zero-Knowledge (ZK) circuit crafted using the sophisticated Noir ZK DSL on Polygon's zkEVM Cardona Network to validate the squad's integrity.
This stringent verification process ensures fair play and upholds the integrity of our fantasy sports protocol.
The scoring process is facilitated by a Chainlink Any API Oracle, ensuring transparency and reliability, enabling users to send zk-proven query results onchain.
Since this was the first time we were using ZK DSLs, or rather writing custom ZK circuits for our projects, we encountered numerous challenges while developing the circuits for the zero-knowledge proof using Noir language. Unfortunately, we found a lack of well-established forums specifically addressing Noir JS issues. Additionally, initially, we encountered difficulties deploying the zk verifier contracts onto the Polygon ZK EVM. Resolving these issues required extensive searching and participation in various online discussion forums before arriving at a solution, alongside suggestions and help from the onsite mentors.
Tracks Applied (7)
Lumio
The Graph
Ethereum Support Program
Avail Project
Polygon
Polygon
Discussion