project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

my-self-ticket

This project uses the Self Protocol to build a ticketing website.

my-self-ticket

Created At

ETHGlobal Taipei

Winner of

Celo

Celo - Celo L2 Pool Prize

Prize Pool

Project Description

To prevent ticket scalping and bots from snatching up tickets, many concert ticketing platforms in Taiwan require real-name registration. This means buyers must provide their national ID number and full name when purchasing tickets, and present their ID for verification at the event. However, this approach not only forces attendees to carry their ID to the concert, but also raises concerns about privacy and data exposure.

In this project, we use the Self Protocol to address the issues mentioned above. With Self Protocol, users can scan their own passport and securely store the passport data on their mobile device. When required to provide this information, users can generate a Zero-Knowledge (ZK) proof to authenticate the data without revealing sensitive details. As a result, users only need to bring the mobile device that has previously scanned the passport, attend the concert, scan the QR code provided by the event staff, and have their name and ticket ownership verified.

Features

  1. Login: Users can simply use the Self Protocol app to log in to the My Self Ticket website.

  2. Browse Events: All concert events are displayed on the main page. By clicking on an event, you can view more details, including the date and seating information.

  3. Buy Tickets: After selecting the tickets, proceed to checkout to complete the purchase (WIP).

  4. Verify Ticket: There is a staff-only page available exclusively on the day of the event. This page can be accessed by appending /qr to the event URL, for example: https://my-self-ticket-ethtaipei.vercel.app/events/cm94cxq2n00a3clvhaq8g47ek becomes https://my-self-ticket-ethtaipei.vercel.app/events/cm94cxq2n00a3clvhaq8g47ek/qr

How it's Made

  1. Self Protocol: Self Protocol offers both a mobile app and a TypeScript SDK for building websites and enabling interaction with the mobile app. The website displays a QR code that the mobile app can scan, initiating a WebSocket session. Once the session is established, the mobile app generates a Zero-Knowledge (ZK) proof, which is processed by an endpoint defined in the SDK. The endpoint then handles the data and returns either a success or failure response.

  2. Celo: Celo is a public blockchain that not only stores data but also supports on-chain verification of zk-proofs, allowing anyone to verify the correctness of the proof.

  3. Polygon: Polygon is also a public blockchain that not only stores data but also supports on-chain verification of zk-proofs, allowing anyone to verify the correctness of the proof. Though it doesn't support IdentityVerificationHub, we can still deploy these contracts with Deployment instructions.

background image mobile

Join the mailing list

Get the latest news and updates