Search projects, hackathons, sponsors and tech

    ← All projects

    BORDEL-gate

    BORDEL privacy-preserving authentication protocol

    Demo

    About

    The problem it solves In short:* Protect the community sanctuary that is BORDEL with an on- and off-chain authentication protocol enabling privacy-preserving access control * **The Problem:** With BORDEL's basement under renovation, it needs a way to manage member access to community spaces that is privacy-preserving and secure. This would be applicable to doors, gates, fridges, storage, local applications etc. The current system uses Merkle tree based memberships and multiple verification mechanisms to prove that someone is a valid member, but memberships remain publicly visible onchain, permissions are difficult to manage dynamically, and access control still relies on fragmented and partially centralized infrastructure. **Our Solution: BORDEL-gate** An on- and off-chain authentication protocol built around zk membership proofs using NFC wallets and wallet addresses. Instead of using public NFT memberships, BORDEL members are represented inside a cryptographic member set. Members prove they belong to that set without revealing their identity or exposing the entire membership list. When a member tries to access a space, the protocol verifies: - the member is valid - the member currently has that capability - the proof is fresh and non-replayable If valid, the resolver returns the member’s wallet address and access is granted. *BORDEL transforms NFC wristbands and wallets into cryptographic access credentials for Bordel spaces while preserving member privacy.*

    How it's made

    Challenges we ran into **Outdated Noir Reference** One of the main challenges was working with Noir and the surrounding zk tooling ecosystem, which is still relatively new and continuously evolving, which required us to spend additional time adapting code and rebuilding parts of the proving flow to work with the current Noir stack. **Proof Performance and Hashing** Another major challenge was proof performance and efficiency on-device. Our initial implementation used keccak256 inside the zk circuit, but this proved to be too computationally expensive. To make proof generation fast enough for real-world authentication flows, we migrated from keccak256 to Poseidon2, a zk-friendly hash function optimized for proving systems. This reduced proving overhead and improved proving performance by roughly 50x, making local proof generation viable on consumer devices.