← Back to home

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.

Screenshots

Verifit screenshot 1
Verifit screenshot 2
Verifit screenshot 3
Verifit screenshot 4
Verifit screenshot 5
Verifit screenshot 6

Problem Statement

Verifit: Blockchain-Powered Fitness Verification and IncentivizationVerifit 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 ComponentsUser AuthenticationUsers log in to the Verifit app using their Google accounts, ensuring a seamless and secure authentication process.Data Retrieval with zkFetchVerifit 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.On-Chain AttestationUsers 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.Smart Contract IntegrationA hook contract is triggered during the attestation process.This contract verifies the zero-knowledge proof provided by zkFetch, ensuring the data's validity.NFT MintingUpon 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.Accountability BetsVerifit 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.Bet ResolutionWhen 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 BenefitsPrivacy Preservation: By using zero-knowledge proofs, Verifit allows users to verify their fitness achievements without revealing sensitive data.Trustless Verification: The use of blockchain and smart contracts eliminates the need for a trusted third party to verify fitness data or resolve bets.Gamification and Incentivization: The combination of NFT rewards and accountability bets creates strong motivators for users to achieve their fitness goals.Immutable Record Keeping: All verified achievements and bet resolutions are recorded on the blockchain, providing an tamper-proof history of user accomplishments.Community Building: The betting system encourages users to engage with each other, fostering a supportive and competitive fitness community.Technical InnovationVerifit 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.

Solution

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

Hackathon

ETHOnline 2024

2024

Prizes

  • 🏆

    Sign Everything Pool Prize

    Sign Protocol

  • 🏆

    Best ZK Attestation Verifier With Schema Hooks

    Sign Protocol

Contributors