project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Verifit

Verifit: A blockchain-powered fitness app that uses zero-knowledge proofs to verify and tokenize your workout data. Set goals, make accountability bets, and earn NFTs for your achievements—all with privacy-preserving, on-chain proof of your fitness progress.

Verifit

Created At

ETHOnline 2024

Winner of

trophy

Sign Everything Pool Prize

trophy

Best ZK Attestation Verifier With Schema Hooks

Project Description

Verifit: Blockchain-Powered Fitness Verification and Incentivization

Verifit is an innovative fitness application that leverages blockchain technology, zero-knowledge proofs, and smart contracts to create a trustless, privacy-preserving ecosystem for fitness tracking and goal achievement.

Core Components

  1. User Authentication

    • Users log in to the Verifit app using their Google accounts, ensuring a seamless and secure authentication process.
  2. Data Retrieval with zkFetch

    • Verifit utilizes a custom tool called zkFetch to retrieve user fitness data from the Google Fitness API.
    • zkFetch is similar to the standard fetch API but with a crucial difference: it returns not only the requested data but also a verifiable zero-knowledge proof.
    • This proof allows for the validation of the data's authenticity without revealing the actual data, preserving user privacy.
  3. On-Chain Attestation

    • Users can attest to their fitness data using the Sign Protocol.
    • This attestation process stores a cryptographic commitment of the data on the blockchain, creating an immutable record of the user's fitness activities.
  4. Smart Contract Integration

    • A hook contract is triggered during the attestation process.
    • This contract verifies the zero-knowledge proof provided by zkFetch, ensuring the data's validity.
  5. NFT Minting

    • Upon successful verification, the system mints a non-fungible token (NFT) for the user.
    • The NFT contains key fitness data such as the number of steps taken and the start and end timestamps of the activity period.
    • These NFTs serve as blockchain-based certificates of achievement, providing users with tangible, tradeable proof of their fitness accomplishments.
  6. Accountability Bets

    • Verifit introduces a novel feature called "Accountability Bets" through the CreateBets smart contract.
    • Users can create fitness goals and place bets on their ability to achieve these goals.
    • Other users can participate in these bets, creating a community-driven incentive system for fitness achievement.
  7. Bet Resolution

    • When it's time to resolve a bet, Verifit again uses zkFetch to retrieve the relevant fitness data and associated proof.
    • The CreateBets contract verifies this proof and automatically resolves the bet based on the achieved results.
    • This process ensures fair and transparent bet resolution without compromising user privacy.

Key Benefits

  1. Privacy Preservation: By using zero-knowledge proofs, Verifit allows users to verify their fitness achievements without revealing sensitive data.

  2. Trustless Verification: The use of blockchain and smart contracts eliminates the need for a trusted third party to verify fitness data or resolve bets.

  3. Gamification and Incentivization: The combination of NFT rewards and accountability bets creates strong motivators for users to achieve their fitness goals.

  4. Immutable Record Keeping: All verified achievements and bet resolutions are recorded on the blockchain, providing an tamper-proof history of user accomplishments.

  5. Community Building: The betting system encourages users to engage with each other, fostering a supportive and competitive fitness community.

Technical Innovation

Verifit stands out for its novel application of zero-knowledge proofs in the fitness tracking domain. By combining zkFetch with blockchain technology, it creates a unique solution that addresses both data privacy and verifiability concerns in fitness tracking applications.

The project demonstrates how advanced cryptographic techniques can be applied to real-world problems, potentially paving the way for similar privacy-preserving solutions in other domains where data verification is crucial but privacy is a concern.

How it's Made

User: Initiates the process by logging in. Google Authentication: Handles user login. Verifit App: The main application interface. zkFetch: A tool similar to fetch that returns data with a verifiable ZK proof. Fitness API: Provides the user's fitness data. Sign Protocol: Used for attesting the ZK proof. Blockchain: Stores attestations, NFTs, and bet data. Hook Contract: Checks proof verifiability. Proof Verification: Verifies the ZK proof. Mint NFT: Creates an NFT with steps count and timestamps. CreateBets Contract: Manages accountability bets. Envio:An indexer to query bets

background image mobile

Join the mailing list

Get the latest news and updates