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

zkWarden

The Farcaster tool employs zero-knowledge (zk) proofs for verifying user details like age and location, allowing access to restricted group chats. In a demo, users verify eligibility to receive a soulbound token, granting entry to NFT-gated communities.

zkWarden

Created At

Scaling Ethereum 2024

Winner of

Arbitrum - DeSoc 2nd place

Arbitrum - Qualifying Arbitrum Submissions

Prize Pool

Project Description

The Farcaster tool integrates advanced cryptographic techniques, specifically zero-knowledge (zk) proofs, to manage user verifications within a decentralized setting. This tool allows group administrators, such as Alice, to enforce verifications for members based on age, geographical proximity, and specific group constraints without compromising the privacy of the individual's underlying data.

In a typical scenario, a user named Bob wishes to join a restricted group chat. Bob accesses a verification link provided by the group admin. This link connects to an application (XYZ app) which interacts with a smart contract utilizing the witness protocol. Bob logs in using his digital wallet, and through the app, he generates a zk-proof that conclusively shows he meets the required conditions (such as being part of the Ethereum contributors or residing within New York City) without revealing any personal information.

Upon successful verification, the witness protocol smart contract issues a soulbound token, an ERC-1155 token, to Bob's wallet. This token acts as a non-transferable digital credential that proves Bob's eligibility. With this token, Bob can then access a final link that redirects him to join the specified group chat.

The process showcases the potential for leveraging blockchain technology and zero-knowledge proofs to create privacy-preserving, secure, and trustless systems for community engagement and access control in various decentralized applications. This system is particularly useful in scenarios requiring confidentiality and strict adherence to membership criteria, such as professional groups or location-based communities.

How it's Made

Creating a system like the Farcaster tool that utilizes zero-knowledge (zk) proofs for secure and private user verification involves several components and steps, combining blockchain technology, smart contracts, cryptographic techniques, and application development. Here’s a breakdown of how it's made:

1. Designing the Verification Criteria

  • Define Constraints: First, specify the verification criteria such as age, location, or membership in certain groups. These criteria must be verifiable and quantifiable.
  • Privacy Considerations: Ensure that the criteria can be verified using zk proofs to maintain user privacy.

2. Developing Smart Contracts

  • Smart Contract for Token Issuance: Develop a smart contract on a blockchain like Ethereum that can issue ERC-1155 soulbound tokens. These tokens are non-transferable and represent proof of verification.
  • Witness Protocol Integration: Implement a protocol within the smart contract to handle the generation and verification of zk proofs. This might involve using existing libraries such as zk-SNARKs or zk-STARKs.

3. Zero-Knowledge Proof Implementation

  • zk-SNARKs/zk-STARKs Setup: Choose an appropriate zk framework. zk-SNARKs offer compact proofs but require a trusted setup, whereas zk-STARKs are larger but do not require a trusted setup.
  • Circuit Design: Design cryptographic circuits that can generate proofs based on the verification criteria. This involves programming how the proof and verification process will work.
  • Prover and Verifier Algorithms: Implement these algorithms. The prover algorithm allows the user to generate a proof that they meet the necessary criteria without revealing the underlying data. The verifier algorithm lets the smart contract verify the correctness of the proof.

4. Application Development

  • User Interface (UI): Develop a user-friendly interface (XYZ app) for users to interact with the system. This interface would guide users through the process of signing in, generating a zk-proof, and receiving a token.
  • Integration with Wallets: Ensure the application can interface with blockchain wallets, enabling users to authenticate and receive tokens directly to their wallets.

5. Testing and Deployment

  • Testing: Thoroughly test the smart contracts and application in various scenarios to ensure they function correctly and securely under all conditions.
  • Deployment: Deploy the smart contracts to the blockchain. Launch the application on a suitable platform accessible to users.

6. Maintenance and Upgrades

  • Monitor and Update: Continuously monitor the system for any issues or potential improvements. Upgrade the smart contracts and application as necessary to address any new security concerns or user needs.

By combining these elements, the Farcaster tool can facilitate secure, private, and verifiable access to group chats and other restricted services within a decentralized network, leveraging the power of zero-knowledge proofs to protect user data.

background image mobile

Join the mailing list

Get the latest news and updates