zkpVault

zkpVault

Tokenize your Privacy Protected sustainable on-chain Identity

The problem zkpVault solves

Contract Deployed on 5ire Chain:

Explorer : https://explorer.5ire.network/
zkpVault SBT : 0x6A6c948b10812112BCF9bDbA4C8411aCe06eD054
Proof of Credit Verifier 0xFEa990072F95A7f7c9A417676ec65e578DcE19aE
Proof Of Followers Verifier 0xccaCdf14a2fe9C03F27B3DEA926fe0e638A87452
Proof of Age Verifier 0x552665C6abaDB368e49a2D5c90657FAC6Df2cF73

zkpVault is the solution to the problem of people having to give out way too much personal info just to prove who they are or what they can do. With zkVault, you can give just the proof you need without giving away any extra details. This is great because it makes things more private, more streamlined, and more secure. zkpVault is totally changing the game by giving us a place to keep and check proofs, and it's making online services way more trustworthy for everyone involved. It works on Zero knowladge technology
Proofs are non-transferable tokens (SBTs) that represent verifiable claims authenticated by zkpVault.

image

When minting a Proof, a user generates a proof to authenticate an anonymized verifiable claim about some data that only they own. Then using snarkjs and Groth16 a proof is generated and proof is then verified and tokenized as a SBT by zkpVault—smart contracts that convert proven data into non-transferable tokens (SBTs) As SBT are issued as tokens on-chain, they are compatible with the burgeoning ecosystem of web3 applications.As such, Badges represent verified acts about a user’s digital identity. For example, a user could have a ZK SBT proving they have a certain threshold of Twitter followers

image

Challenges I ran into

  • Generating Proofs on Server using SnarkJs
  • Making server handle different Proofs
  • Handling initial Trust Ceremony for Groth16

Discussion