zkSMARTHealthCards is a zero-knowledge proof based solution to protect your privacy in Covid-19 SMART Health Card. You can only certify the results of COVID-19 vaccination without disclosing any personal information.
The Covid-19 SMART Health Card is a type of SMART Health Cards that certifies COVID-19 vaccination or test results issued by an agency accredited by the Verifiable Clinical Information Coalition (VCI). SMART Health Cards are the international standard for verifying versions of your clinical information, such as vaccination history or test results.
This project is currently on Polygon Matic network and frontend is hosted on Vercel.
zkSMARTHealthCards Link
Demo Video
Slide
https://www.slideshare.net/Yssy5/zksmarthealthcardspptx
To prove the results of COVID-19 vaccination with Covid-19 SMART Health Cards, you would show a certificate (QR code or app screen) issued by a VCI-authorized organization.
This certificate contains personal information such as name, date of birth, and the municipality that issued it.
For example, at an event or restaurant, you only need to certify the results of COVID-19 vaccination, and in many cases you do not need to disclose your personal information.
Semaphore allows Ethereum users to prove their membership of a group and send signals such as votes or endorsements without revealing their original identity.
With their circuits and verification system on smart contracts, zkSMARTHealthCards enables users prove their membership of particular COVID-19 immunization group without revealing their personal information.
The project has three main folders within root directory:
- contract/
- frontend/
The contract folder contains all the smart contracts used in zkSMARTHealthCards.
The frontend folder contains frontend files built with Nextjs.
- Connect wallet
- If not yet, sign and generate Semaphore Identity for the proof system.
- Create an immunization group
- Users need to send a transaction to create immunization data on chain.
- Join an immunization group
- Check if the user is eligible to join the immunization group, which means the user have a valid SMARTHealthCards, and if eligible, user make a transaction to add a Identity to the MerkleTree on chain.
- Generate a zk proof
- Make a MerkeTree inclusion proof.
- Verify the zk proof
Name | Contract Address | Status |
---|---|---|
zkSMARTHealthCards | 0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9 | Verified |
Verifier | 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 | Verified |