Ripe

The voting platform for creating and managing secure elections, using ZK proofs to ensure voter anonymity.

  • 0 Raised
  • 284 Views
  • 0 Judges

Categories

  • 🔒 Privacy
  • 💰 Bounty - PSE - MACI - 3000 USD
  • 💰 Begginers Bounty - Scroll - 2000 USD

Description

Designed for privacy, security, and ease of use, Ripe leverages Minimal Anti-Collusion Infrastructure (MACI) and ZK Proofs to offer a transparent yet anonymous voting experience. 

With Ripe, coordinators can effortlessly create and manage polls, invite participants, and ensure that every vote is cast and counted without revealing voter identities. The platform integrates with token-based access control and uses email verification to streamline the user experience, making secure voting accessible to everyone. 

Ready to meet your next favorite voting platform?


The MVP

During the last 36 hours, we've developed the core voting workflow, providing the essential functionalities required for users to participate in anonymous voting processes. These features form the foundation of our application and pave the way for further enhancements.

While the features for creating organizations and initiating discussions are still under development, they are planned for release in version 1.5.

During development, we spent considerable time integrating the email feature, crucial for validating and managing voter registration. Despite encountering challenges with the ThirdWeb SDK, we managed to validate the coordinator's email domain, ensuring it originates from a institution.

One of the more challenging tasks was enabling the coordinator to register voters via email -while creating them a wallet in the backend. Although we’ve made a lot of progress on this feature, we plan to refine it and make it more robust for the next release in version 1.5.

Although we didn’t fully implement all features in this release, we have a clear roadmap for achieving this through the following pipeline:

  • User Login: The user logs in with a thirdweb wallet, utilizing account abstraction to enable Google account login.
  • JWT Generation: Once authenticated, a JSON Web Token (JWT) is generated, allowing us to verify the domain of the associated email address. This step certifies that the user belongs to a specific organization by reading the JWT payload.
  • Attestation: After successful domain verification, the coordinator issues an attestation to the user, enabling them to vote (MACI).

After all, time is limited!

Demo


Attachments