TrustLevel Launches ZK Voting App on Cardano Mainnet
Invited participants can vote without a wallet or ADA, while ballots and results are recorded on Cardano. The application uses zero-knowledge proofs to verify group membership without revealing which member cast a vote.
By SongMarketCap
TrustLevel’s ZK Voting App is live on Cardano mainnet and the Preprod test network. The open-source application lets organizers create votes for invited groups, with ballots verified and counted on-chain.
Voters receive an invitation link and do not need to sign a transaction or pay a network fee. The organizer sets up the event and covers the costs of publishing it and submitting votes.
How ZK Voting Works on Cardano
An organizer selects the network, voting options, voting method and time window, then invites participants by email. Each invitation contains a private link, and participants must register before the event is published.
During registration, the voter’s browser generates a secret cryptographic identity. A public commitment derived from that identity is added to the group, while the secret remains with the participant.
When casting a vote, the browser generates a zero-knowledge proof that the voter belongs to the registered group without identifying the member. A one-time marker, known as a nullifier, prevents the same identity from voting twice.
TrustLevel’s service submits the vote transaction using its own wallet. The application supports both a single-choice vote and a weighted option that lets participants distribute a fixed number of points across choices.
What the Voting App Keeps Private
The application uses a version of Semaphore, a protocol for anonymous group signaling, adapted for Cardano. Smart contracts verify the proofs, record the votes and update the on-chain tally.
The proof conceals which registered member submitted a ballot, but the selected option remains visible on Cardano. The application does not display interim results while voting is open; anyone inspecting the blockchain can nevertheless follow the tally.
TrustLevel also identifies a limitation in the hosted service. Its backend receives a request associated with the voter before receiving the vote, so an operator logging both requests could correlate the participant with a ballot. The project lists alternative approaches to handling those requests as potential mitigations.
[NEWSBREAK]
Mainnet Costs and Open-Source Availability
According to TrustLevel, publishing an event on mainnet requires approximately 15 ADA locked in the event contracts and around 1.5 ADA in fees. Organizers also prepay 1.3 ADA per registered voter for vote transactions. Any unused portion of that payment is not refunded.
Preprod use is free. Once an event is published, its options, dates and registered group membership cannot be changed. Participants who have not registered by that point cannot vote.
The project received funding through Project Catalyst Fund 12. Its code is available under the Apache 2.0 license, allowing organizations to run their own instance of the application.