Self Proof
Self Proof Flow
The Self Proof Flow is a specialized flow similar to OAuth, but with a key difference: users interact directly with the system without the need for client interaction. Clients post their data requirements and associated behaviors on a smart contract, offering rewards to qualified users (e.g., sending advertisements to users who frequently play FPS games). Users who meet the criteria can submit proof to the TEE server, receive the advertisement, and share in the rewards—without ever sharing their data directly with the client.
Three Modes: On-chain mode, off-chain mode, data storage (DA) mode.
1. Task Publishing:
The DApp publishes a task on the target chain, outlining the specific requirements (e.g., target users, behaviors) and rewards.
2. Task Viewing and Verification Request:
Users view the task on the target chain and opt to participate by initiating a request to the Verifier via a client or web front-end.
3. Data Submission:
Data Stored in CARV DB (DA mode):
User data is stored in CARV DB or CARV Layer 2. Users submit a data request, and the TEE server retrieves the data from the DB.
User Self-Submission (off-chain mode):
Users encrypt their data and submit it to the TEE server via the Verifier.
The Verifier then submits the encrypted data to the TEE server for verification.
4. TEE/ZK Verification:
TEE Verification:
The TEE verifies the data against the task requirements. Once verified, the TEE signs the result and uploads it to CARV Layer 2.
ZK (Zero-Knowledge) Verification:
Users generate a zk-proof using a self-hosted or third-party zk tool and submit it to CARV Layer 2 for on-chain verification via a smart contract.
5. Verification Result On-Chain and Reward Distribution:
The TEE uploads the signed verification result (attestation) to CARV Layer 2.
The Verifier monitors the chain for the verification result and, if no issues arise, rewards are distributed to the user on the target chain.
Last updated