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

priv.cast

Sybil Resistant and Private Voting Application built with Farcaster Frames using Noir.

priv.cast

Created At

Circuit Breaker

Winner of

trophy

Scroll - Best ZK Usage for Privacy on Scroll Winner

trophy

Aztec - Best Noir App 1st place

trophy

ETHGlobal - 🏆 Circuit Breaker Finalist

Project Description

Problem

There are several polling applciations built on Farcaster using Frames, an interactive Farcaster posting feature where the users can perform custom actions on the post other than the usual like, comment, repost features in social media applications.

Polling applications need to store the votes of the user in centralized storage solutions which creates the threat of data privacy and vote manipulation resulting in the lack of trust and authenticity in the voting system.

Solution

Zk proofs: Instead of revealing the user’s farcaster id, users generate a zero knowledge proof to vote on a poll. User signs a hashed data containing the vote of the user and the user generates a unique nullifier for every poll when the vote is registered on chain enabling 100% anonymity.

Noir Oracle: Using the address of the signature, the farcaster id is fetched which is used to obtain the nullifier of the user.

Merkle tree: By combining all the proofs, a merkle root proof can be passed on chain to validate the authenticity of all the proofs of the votes by the users.

How it's Made

The project is built using Noir, Anon Aadhaar, Airstack, Farcaster and deployed on Scroll. Users can create polls in The user votes on a poll by generating a zero knowledge proof which is verified and send to the external storage of the application. Once everyone completes their votes, a merkle root of all the proofs are taken recursively using the principle of recursive proofs. The final proof is uploaded on chain to update the votes of the users. Airstack is used to fetch the farcaster profile of the user. Anon Aadhar proof is generated and verified to prevent sybil attacks by voting from multiple farcaster profiles.

background image mobile

Join the mailing list

Get the latest news and updates