Zicket is a plugin developed on Polygon. We utilized Infura to create the Zicket ID Wallet. Zicket is a solution that can be seamlessly integrated into any ticket-selling platform, effectively preventing ticket resale. During the purchase process, buyers are not obligated to reveal their identities or provide any personal information to the ticket-selling platform. Anonymity is increasingly becoming one of the most important aspects of the future.
Zicket as a solution can be integrated into any ticket-selling platform while preventing reselling. During the purchase, the buyer does not reveal his identity and is not required to leave any piece of personal information to the ticket-selling platform.
Zicket represents one of the PolygonID use cases. PolygonID allows its users to prove their identities using zk proofs, which is also the core and essence of our solution. We used PolygonId-Flutter-sdk which allowed us to use the public and the private key of the users to implement our solution in an elegant way, all while keeping the PolygonId functionalities and creating Zicket ID Wallet.
Zicket as a solution can be integrated into any ticket-selling platform while preventing reselling. During the purchase, the buyer does not reveal his identity and is not required to leave any piece of personal information to the ticket-selling platform. Anonymity represents one of the most important aspects of the future.
Zicket as a solution can be integrated into any ticket-selling platform while preventing reselling. During the purchase, the buyer does not reveal his identity and is not required to leave any piece of personal information to the ticket-selling platform. Anonymity represents one of the most important aspects of the future. Our team consists of two members, and currently, we haven't had sufficient time to integrate zkBob technology into our solution. However, after learning about zkBob during the Main event, we are eager to implement it into Zicket's payment process, thus ensuring private and secure transactions.
Zicket represents one of the use cases for PolygonID. PolygonID enables users to verify their identities using zero-knowledge proofs (zk proofs), which is the fundamental aspect of our solution. We leveraged the PolygonId-Flutter-SDK to elegantly implement our solution by utilizing the users' public and private keys while retaining the functionalities of PolygonID, resulting in the creation of the Zicket ID Wallet.
The Zicket ID Wallet is an identity wallet that securely stores all claims. We built upon the PolygonID wallet, utilizing the Polygonid-Flutter-sdk, and expanded its functionalities to create Zicket ID Wallet. Zicket is a solution that can be seamlessly integrated into any ticket-selling platform, effectively preventing ticket resale. During the purchase process, buyers are not obligated to reveal their identities or provide any personal information to the ticket-selling platform. Anonymity is becoming increasingly important, especially for the future.
Zicket - the anon buyer's ticket
## About
Zicket is a solution to the scalping problem raised by Vitalik Buterin at ETH Mexico 2022 (https://www.youtube.com/watch?v=rp3cDq2LiBM). Currently, people can buy multiple conference tickets at once, which is a problem because it encourages ticket misuse and allows bots to resell tickets at inflated prices. Our solution uses zk proofs to allow buyers to remain anonymous, while also limiting ticket orders to one per person and making the tickets non-transferable. Our goal is to prevent ticket scalping and protect buyers' privacy.
A good example of reselling gone wrong is a group of people who managed to trick the system for EthCC, purchasing 200 tickets with a plan to resell them. But when the conference organizers stripped the NFTs of their metadata, the resellers realized that the plan had fallen apart. They spent about $68k for 200 tickets that were useless (https://rekt.news/ethcc-detychey-vs-touts/).
## Problem Statement
The problem we're addressing is the tension between buyers who want to remain anonymous when purchasing event tickets and organizers who need to ensure that the person using the ticket is the original buyer. Current solutions that can be integrated into ticket-selling platforms without compromising privacy are limited, which is why we created Zicket to tackle multiple issues at once.
## Solution
Zicket is a plugin that can be integrated into any ticket-selling platform. It enables buyers to remain anonymous by using zk proofs generated using PolygonID. To be sure, that the DID from our ZicketID Wallet is correct we use the Merkle tree, which stores hashes of private keys of the corresponding DIDs. To prevent the purchase of more than one ticket, we have a second Merkle tree, which is used to input the hash of the private key after the ticket has been successfully purchased. It also verifies whether the buyer already has a ticket, and if they do, they cannot purchase another one. Tickets are then sent to the buyer's wallet and made non-transferable, preventing reselling and protecting buyers from inflated prices.
## How we used Polygon
We used the Polygon Flutter SDK to create an Identity Wallet that stores the Proof of Humanity claim and the Proof of ticket purchase, which is not in the set of nullifiers. By using Polygon, we ensure that Zicket is efficient, and scalable and provides an easy and simple buyer flow from registration to the ticket claim.
Link to the extended Polygon ID Wallet also known as Zicket ID Wallet: https://github.com/marija-mijailovic/zicket-polygonid-flutter-sdk.git