AttestVerify
By Ctrl-Alt-Elite
Description
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. 2. 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. 3. 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.