zKSBT for Privacy-Preserved Onchain Identity
zkSBT is an SBT issuer/holder/verifier app with ZKP. Issuers can generate SBT and holders can hold the minted SBT, then the SBT can be verified on-chain.
We are leveraging ZKP, so the SBT is managed on-chain, but actual data is never disclosed to others.
https://docs.google.com/presentation/d/1xxOehKbgM_QP3lgP6JZ4cTB4VcvhXqJZxb83q-iR-Fg/edit?usp=sharing
https://zk-sbt-five.vercel.app/
- Can create privacy-preserved SBTs using ZKP
- Can distribute the SBTs to target holders
- Can display SBTs in the wallet
- Can verify the SBTs credential using ZKP
This is going to implement QR code communication
- The issuer generates QRCode and distributes it to the holder
- The holder scans QRCode
- The SBT is minted on-chain with ZKP
- The verifier generates QRCode and distributes it to the holder
- The holder scans QRCode and submits the SBTs
- The SBT is verified on-chain with ZKP
- Credential management is using W3C verifiable credential model.
- We are using SBTs as a credential registry
- Our ZKP implementation is an extended version of this repo which leverages Iden3.
- Only signature hash is stored on-chain, and use ZKP for the verification
We have a similar NFT distribution model with POAP and Kudos. POAP is proof of attendance and Kudos is the SBT version of POAP. Our service provides more flexible credential types and leverages ZKP for user privacy.
We have a similar credential model with Polygon ID. Polygon ID is a verifiable credential management tool with ZKP and the credential is issued off-chain but verifiable on-chain. Our service provides issue credential on-chain for better composability and still preserve user privacy with ZKP.
We are not being the competitor of those existing great services. We can have zkSBT gateway for the above services so that we can access the existing user base too.
For the smart contract implementation, we leveraged existing ZKP smart contract implementation.
We focused on better UX with issuing, holding, and verifying zkSBT to make it usable in the actual use case.
https://github.com/enricobottazzi/ZK-SBT
https://github.com/SpartanLabsXyz/zk-sbt
https://goerli.etherscan.io/address/0x662506FC9F1229D8d46964d6F987c98de49BCE48#code
https://goerli.etherscan.io/address/0xba197739eC32fc15ff4Dc99a02896D16C289704e#code