A

AttestVerify

This project implements a system that allows users to obtain private attestations from reputable sources about their personal information, such as age without private information about themeselves.

A

AttestVerify

This project implements a system that allows users to obtain private attestations from reputable sources about their personal information, such as age without private information about themeselves.

The problem AttestVerify solves

This project implements a system that allows users to obtain private attestations from reputable sources about their personal information, such as age or address, without revealing the details of the attestation. The attestation data is embedded securely within a URL and can be verified without direct exposure. By leveraging the EIP712 standard for signing attestations and integrating RISC0 ZKVM for zero-knowledge verification, we ensure both the privacy and authenticity of the claims. Verification proofs are uploaded to the zkVerify blockchain for decentralized trust.

Technical Overview

  1. Private Attestation System
    The system allows users to request attestations (e.g., proof of being over 18 years old) from a reputable entity. Key characteristics include:

EIP712 Compliance:
The attestations are signed using the EIP712 standard, ensuring structured and tamper-proof signatures. EIP712 supports cryptographic signing of structured data, making it ideal for attestation purposes.
Private Data Embedding:
The data for the attestation is securely encoded and stored within a URL. This ensures the attestation remains private while accessible when needed.

  1. Verification Using RISC0 ZKVM
    Zero-Knowledge Proof Generation:
    Upon submission of the attestation JSON file to our interface, RISC0 ZKVM processes the file to verify its cryptographic integrity (ECDSA signature) and validate the specified criteria (e.g., age > 18).
    RISC0 ZKVM enables computation to be proven without revealing the input data, ensuring privacy during verification.
  2. zkVerify Blockchain Integration
    Proof Submission:
    The output proof from the RISC0 ZKVM is prepared for verification on the zkVerify blockchain. zkVerify ensures trustless verification of the proof in a decentralized manner.
    Immutable Trust:
    zkVerify's blockchain ledger provides immutable storage and verification for the proofs, enhancing system reliability and security.

Challenges we ran into

Challenges Encountered
Proof Submission Issues with zkVerify
Technical Problem:
While attempting to send the generated proofs to the zkVerify blockchain, we encountered issues that hindered successful proof submission. These issues included:
Incompatibility in Version Errors:
We are trying to generate proofs on the RISC0 ZKVM v1.0.1 but we are facing some errors with version v1.0.1 we also had a long chat with Daniele and Rolf and we also talked to RISC0 team but they said that version 1.0.1 is very old and might not work now due to this we were also unable to built a frontend for the app.
Integration Bugs:
While using zkVerifyJs for sending proof to the zkVerify blockchain I am getting

RPC methods not decorated:

. API communication between our interface and zkVerify was unstable, leading to intermittent failures in proof uploads.

Impact on the Project
These issues prevented the successful deployment of a complete end-to-end verification system.
While local verification using RISC0 ZKVM was successful, the inability to finalize proof submission on zkVerify limited the scope of decentralized verification.

Tracks Applied (5)

zkVerify Main Prize Pool Track

Privacy-Preserving Transactions Our project directly addresses the Identity Verification category within this track. Her...Read More

Privacy Application Builders

Privacy-Preserving Transactions Our project directly addresses the Identity Verification category within this track. Her...Read More

Horizen Labs

Hyperbridge

Privacy-Preserving Transactions Our project directly addresses the Identity Verification category within this track. Her...Read More

Hyperbridge

Sindri Cloud ZK Tools

Privacy-Preserving Transactions Our project directly addresses the Identity Verification category within this track. Her...Read More

Sindri

Verify Private Data with zkPass

Privacy-Preserving Transactions Our project directly addresses the Identity Verification category within this track. Her...Read More

zkPass

Discussion