A prototype client-side privacy-preserving voting application utilizing Polygon Miden Web SDK. This application allows users to cast fully anonymous votes validated via zero-knowledge proofs directly in the browser environment.
Below is the user interface representation of our Miden Private Voting system. You can simulate the operations directly from this guide:
- Miden Node Connection:
π’ Connected to Testnet - Proof Prover Mode:
Client-Side (Local VM Proving Mode Enabled) - Account Anonymity Layer:
Off-chain Private Note Execution Protocol
Select one of the choices below to generate a client-side zero-knowledge proof of your ballot without exposing your cryptographic address or identity.
| Candidate Option | Action | Action Type |
|---|---|---|
| π’ Option A: Protocol Upgrade v1.2 | [ Simulate Vote A ] |
Local Proving (ZK) |
| π΅ Option B: Maintain Current State | [ Simulate Vote B ] |
Local Proving (ZK) |
Once the Miden Client executes local proofs, the zero-knowledge commitment payload maps safely into the public ledger state asynchronous structure.
- Total Ballots Verified via Miden VM:
0 - Option A Verified Commitments:
0 - Option B Verified Commitments:
0
- Local VM Proving: The transaction logic compiles inside the client's browser environment using the single-threaded WASM target stack from
@miden-sdk/miden-sdk. - Private UTXO Notes: Ballots map strictly to zero-knowledge transaction outputs ("Notes"), maintaining state separation until final consumption.
- Zero Information Exposure: The on-chain node only registers a finalized proof string. No third party can analyze which choice your account committed to.
Licensed under the permissive MIT license framework. Feel free to clone, experiment, or propose enhancements to the local proving loops.