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

Self Sovereign Individuals

Improving ETH Global registration process, using Polygon ID credentials for verifiable on-chain POAP reputation score

Self Sovereign Individuals

Created At

ETHGlobal Lisbon

Winner of

🆔 Polygon — 🥉 Best use of Polygon ID

Project Description

The goal of our project is to facilitate the hackers registration process at ETH Global Lisbon. We believe that staking 0.05ETH is cumbersome and is not feasible for a portion of attendees, either by lack of available ETH tokens or because users don't want to disclose publicly their addresses, at a conference. Our project aims to facilitate this process. The idea is to use Polygon ID solutions to provide the following registration set up:

  1. Whenever a hacker submits its project to the hackathon, attendance credentials will be issued (ideally by the ETH Global organisation) so that the hacker can claim it in its wallet.

  2. With these credentials, the user can interact with our smart contract (developed during the hackathon), deployed at

https://mumbai.polygonscan.com/address/0xBF26bf8857b4C9156404565B4b016817B91B3aA9

to redeem our ERC20 tokens (think of it as reputation tokens). The user should also submit to the contract how was its experience at the event, so the organisation can have some feedback.

  1. With the claimed tokens, the user can then use these to participate in future ETH Global events, without having to stake any ETH. The tokens give the user reputation for future attendances. Moreover, since these tokens are ERC20, the hacker can share a portion of these with friends/collaborators for future attendances. That is, one can form a social graph of hackers, across the globe, which will greatly improve the registration process and will benefit event access to those with less means (financially, beginners in the space like students, etc).

We believe hackathons are technical as well as social events, and in the future they will play a role to greatly foster the advancement of technology. Our long term goal is to facilitate this process and allow for the best ideas to come through.

How it's Made

The project relies heavily on Polygon Id solutions. Namely, we set up an issuer node to emit credentials whenever our "event" QR code was scanned. To create this issuer node, we follow the Polygon Id documentation closely, and we had to solve some technical details (like ngrok communication sharing, CORS authentication, Polygon Id wallet, etc). To configure the issuer node and its UI, we had to write our own custom schema and load it to the issuer.

After creating the credentials, we wrote our main smart contract. The development contract encompasses the following crucial technical ideas:

  1. The main contract, deployed at

https://mumbai.polygonscan.com/address/0xBF26bf8857b4C9156404565B4b016817B91B3aA9

inherits the ERC20 standard (to mint and transfer fungible tokens), as well as a ZKPVerifier.

  1. The main contract also adds logic to vote and submit a survey answer (on the experience) of the event. Tokens can only be minted if the user has provided a suitable ZK proof of attendance (i.e., ownership of the right credentials) as well as submitting its survey experience.

  2. Finally, we defined a ZKPVerifier contract, that is responsible for verifying (BJJ signature) ZK proofs of ownership of suitable credentials from the interacting wallet (emitted above, via the issuer, as described above). This step is crucial, otherwise any user could interact with the contract and get attendance tokens.

  3. The verifier logic, is enforced to hold whenever a user submits a survey and thus claims newly minted tokens. This is equivalent to say that the user has the right to hold tokens if and only if it has the right credentials (in plain english, attended the event and submitted an hackathon project).

background image mobile

Join the mailing list

Get the latest news and updates