DataFi

Internet Verifiable Markets, using ZK proofs (Self.xyz), Lighthouse and zkEmail.

DataFi

Created At

ETHGlobal New Delhi

Project Description

DataFi is a decentralized platform for Internet Verifiable Markets. It facilitates ethical, privacy-preserving exchange of information by:

Privacy-First Verification: Uses Zero-Knowledge Proofs (ZK proofs) from Self.xyz to verify identity attributes (e.g., age, nationality) without revealing personal details.

Proof of Service: Employs ZK-Email for private verification of off-chain activity, like confirming account ownership or usage frequency.

Encrypted Storage: Secures all submitted information via Lighthouse (IPFS), granting decryption access only to the verified buyer post-purchase.

Automated Exchange: Uses smart contracts to instantly handle payment and token distribution upon successful proof submission.

Example: A competitor needs data from verified Spotify Premium subscribers in a specific country.

Buyer (Competitor) creates a data request pool. Seller (Spotify User) uses Self.xyz ZK Proofs to privately prove country residency (e.g., Canadian). The Seller uses a ZK-Email proof to confirm they receive a recurring Premium subscription receipt, verifying loyalty without showing the email. Once all ZK proofs are verified by the smart contract, the Seller encrypts their top music genres and stores them on Lighthouse. The smart contract then automatically pays the Seller and grants the Buyer access to the verified, anonymous genre data. The Buyer gets precise insight, and the Seller keeps their identity and account details private.

How it's Made

Smart Contracts: Built with Solidity/Foundry, they act as the central Access Controller, recording proof requirements and governing payments/access via the Pool.sol contract.

Privacy / ZK: We use a dual approach: Self.xyz provides Zero-Knowledge Proofs (ZK) for identity verification (e.g., age), while ZK-Email handles ZK proofs for off-chain activity (e.g., subscription receipts).

Data Storage: Lighthouse (IPFS) is used to encrypt raw data client-side. Crucially, the Smart Contract authorizes the buyer's decryption key access only after the required ZK verification is successful.

Frontend: Built with Next.js, it uses Wagmi/Viem to provide the user interface and enable type-safe interaction with the ZK proof and payment contracts.

background image mobile

Join the mailing list

Get the latest news and updates