Search projects, hackathons, sponsors and tech

    ← All projects

    Demo

    About

    The problem it solves Traditional online authentication systems rely on centralized servers to store and verify user credentials, which creates significant privacy and security risks. Large databases become prime targets for breaches, and users must depend on third parties to control their accounts and personal data. These systems are also vulnerable to phishing, replay attacks, and other exploits, while offering limited integration with blockchain applications. Our zkLogin-based authentication system addresses these challenges by enabling users to prove their identity through zero-knowledge proofs without exposing sensitive details. By running authentication logic and maintaining the user registry entirely on-chain using Move smart contracts, the system eliminates the need for centralized data storage. Security is further enhanced through ephemeral keys, nonce-based validation, and on-chain proof verification, while users benefit from a seamless login experience using familiar accounts such as Google, Facebook, or Apple. This approach makes authentication safer, more private, and more accessible for both everyday users and blockchain developers.

    How it's made

    Challenges we ran into One of the first challenges I faced was installing and setting up the Sui development environment. Initially, the Sui CLI installation kept failing due to missing dependencies and configuration mismatches. After carefully reviewing the documentation, reinstalling the required tools, and ensuring the correct environment variables were set, I was able to complete the installation successfully. Another hurdle came when connecting the wallet to the application. At first, the wallet connection kept failing during initialization, preventing any transactions from being signed. I resolved this by double-checking the wallet integration code, updating the Sui wallet extension to the latest version, and ensuring the correct network (Testnet) was selected. Once these adjustments were made, the wallet connection worked smoothly.