Skip to content

CrediMatch is a verifiable credential-based dating platform built on the Polkadot ecosystem, offering users secure, privacy-focused, and authentic connections. By leveraging self-sovereign identity, Zero-Knowledge Proofs, and AI-driven matching, it ensures verified profiles and meaningful relationships while prioritizing data privacy and security.

Notifications You must be signed in to change notification settings

Nakshatra05/MaskAuth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 

Repository files navigation

MaskAuth: Decentralized 2FA with ZK Proofs & AI Face Recognition

MaskAuth is a decentralized, privacy-first, two-factor authentication (2FA) system leveraging Polkadot's multi-chain infrastructure, Zero-Knowledge Proofs (ZKPs), and AI-based Face Recognition to ensure secure and user-friendly transaction authentication for Web3 applications.


πŸ”’ Why MaskAuth?

In Web3, losing private keys often means losing funds forever. MaskAuth introduces an extra layer of security that allows users to authenticate transactions securely without compromising privacy or relying on centralized systems. Using Face Recognition and ZKP, it ensures that user identity is verified anonymously, eliminating risks from traditional 2FA systems.


πŸš€ Features

  • Decentralized Two-Factor Authentication: Uses AI face recognition and ZKPs to secure transactions without centralized oversight.
  • Privacy-Preserving: No personal data is stored or shared; the process is fully anonymized through ZKPs.
  • Polkadot Integration: Built on Substrate, it benefits from Polkadot's scalability, interoperability, and security.
  • Multi-Device Support: Allows secure verification across devices via WalletConnect.
  • Custom ZK Circuits: Uses Circom circuits to handle anonymous proof generation and verification.

πŸ› οΈ Architecture

1. User Registration

  • Users register by:
    • Connecting their wallet using WalletConnect.
    • Capturing 5-6 images of their face to create a dataset for the DeepFace AI model.
    • A unique cryptographic key is generated and stored securely in a decentralized system.
    • The Poseidon hash of this key is stored on-chain for later verification.

2. Transaction Verification

  • When initiating a transaction:
    • The user receives a notification on their registered device.
    • The app triggers face recognition via the DeepFace AI model.
    • The face data is verified through a ZKP circuit to prove authenticity without revealing identity.
    • The ZKP output determines if the transaction proceeds or is rejected.

πŸ“‚ Directory Structure

MaskAuth/
β”œβ”€β”€ client/                # React Native app for user interface
β”œβ”€β”€ backend/               # Backend API for AI model and ZKP processing
β”œβ”€β”€ zk-circuits/           # Circom circuits for ZKP proof generation
β”œβ”€β”€ smart-contracts/       # Substrate-based smart contracts for Polkadot
β”œβ”€β”€ subgraph/              # Subgraph for querying on-chain data
β”œβ”€β”€ push-channel/          # Push protocol integration for notifications
β”œβ”€β”€ docs/                  # Documentation, architecture diagrams, and workflows
└── README.md              # Project overview (this file)

πŸ“¦ Installation

Prerequisites

  • Node.js and npm
  • Rust (for Substrate smart contracts)
  • Circom (for ZKP circuits)
  • Docker (optional for running services locally)

Steps

  1. Clone the repository:

    git clone https://github.com/yourusername/MaskAuth.git
    cd MaskAuth
  2. Install dependencies:

    npm install
  3. Compile ZK Circuits:

    cd zk-circuits
    circom zkproof.circom --r1cs --wasm --sym
  4. Deploy Substrate Smart Contracts:

    cd smart-contracts
    cargo build --release
    substrate-deploy --network=testnet
  5. Start the Frontend:

    cd client
    npm start
  6. Start the Backend:

    cd backend
    npm start

πŸ’» Technologies Used

  • Blockchain: Polkadot (Substrate framework)
  • Zero-Knowledge Proofs: Circom and SnarkJS
  • AI Face Recognition: DeepFace
  • Frontend: React Native
  • Backend: Node.js, Express
  • Push Notifications: Push Protocol
  • Smart Contracts: Rust, Ink!
  • Decentralized Storage: IPFS/Filecoin

πŸ“ˆ Use Cases

  1. Securing Transactions: Adds an extra layer of security for DApps, ensuring user funds are safe even if private keys are compromised.
  2. Authentication for DAOs: Validates members during voting or proposal submissions.
  3. Decentralized Finance (DeFi): Secures high-value transactions in lending, staking, or trading platforms.

πŸ›‘οΈ Security & Privacy

  • Zero-Knowledge Proofs ensure no sensitive data is shared.
  • Decentralized Design removes reliance on centralized authentication servers.
  • End-to-End Encryption for communication between devices.

πŸ§‘β€πŸ’» Contributing

We welcome contributions! To get started:

  1. Fork the repository.
  2. Create a new branch for your feature/fix.
  3. Submit a pull request with a detailed description.

πŸ“œ License

This project is licensed under the MIT License.


🌐 Live Demo

A live demo will be available soon. Stay tuned for updates!


πŸ› οΈ Future Enhancements

  • Multi-language support for a global audience.
  • Enhanced AI model for better recognition accuracy.
  • Support for biometric fallback methods like fingerprint authentication.

πŸ™Œ Acknowledgments

  • Polkadot Hackathon Team: For providing the platform and resources.
  • Circom Community: For their support with ZKP implementation.
  • DeepFace Contributors: For the open-source face recognition model.

πŸš€ Let’s redefine transaction security together with MaskAuth! πŸš€

About

CrediMatch is a verifiable credential-based dating platform built on the Polkadot ecosystem, offering users secure, privacy-focused, and authentic connections. By leveraging self-sovereign identity, Zero-Knowledge Proofs, and AI-driven matching, it ensures verified profiles and meaningful relationships while prioritizing data privacy and security.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published