Mina offers verifying vote counts as a future use case for zk-SNARKs to increase transparency and build trust in our electoral process.
San Francisco, CA; November 2, 2020
A Pew Research survey published in April found that only 14% of voters were “very confident” the 2020 presidential election would be conducted fairly and accurately. The electoral process is complicated with many moving parts, but verifying vote counts is one aspect that can be addressed with technology.
Mina, developed by o1Labs, introduced verifying vote counts as one of its first proposed use cases for its lightweight blockchain. Mina uses the mathematical concept of zero-knowledge proofs, which allows for the verification of data without revealing identity, to enable the syncing of its entire blockchain in mere seconds. Mina’s lightweight design is intended to usher in a new era of accessibility and scalability for blockchain.
Once the Mina mainnet launches, developers will be able to leverage Mina to create verifiable SNARK-powered smart contracts, or zkApps, for enabling the verification of any type of data, including payments, loan eligibility, data ownership, ID, and—most relevant to today—vote counts.
Izaak Meckler, CTO and Co-Founder of o1Labs, the team behind Mina, conveyed in ZKPROOF that “a verifiable electoral system should be private in the sense that each vote will have no identifying information attached to it. It will be verifiable in the sense that at the end we’ll have a small proof of the result that can be easily checked on almost any device, including a browser or a phone.”
Izaak expands upon these concepts in a Mina blog, sharing how verification of vote counts via zkApps could work. At a high level, the voting state machine would be defined by:
- State: The current tally of votes, along with a set of “ballot stubs”, each a piece of data unique to a given voter, to prevent double voting. Only the hash of this state will appear on chain.
- Update: An update to the state is a valid vote, which consists of the vote itself, a zk-SNARK proving eligibility to vote (which provides a level of anonymity) and a valid ballot stub.
Beyond the state machine, there are two components of a zkApp’s architecture:
- State store: The zkApp’s state must be stored somewhere. This state is essentially the tally of the election before, as well as the set of “ballot stubs” to make sure no one votes twice. This doesn’t have to be held by a single party. It could be as centralized as being stored with AWS, or as decentralized as Sia or Filecoin.
- Prover: Some party is responsible for proving correctness of each state transition, SNARKing together all the user-submitted state transitions, and uploading the aggregated SNARK to the Mina blockchain to update the on-chain zkApp state. Beyond stand-alone verifiable computation, having the hash of a zkApp’s state on chain has two types of benefits.
End users will ultimately be able to use the Mina blockchain to verify the correctness of a claimed result of an election as well as check whether or not their vote was included.
Izaak expressed, “If we are really serious about having fair elections, we need the ability to both detect and respond to manipulation. On the detection side, this is a technology that would be useful at the point of vote counting, but it needs to be accompanied by powerful, mass organizations of people that are capable of detecting and responding to manipulation on every level, from voter suppression, to propaganda, to outright fraud at the point of vote counting.”
Evan Shapiro, Co-Founder and CEO of o1Labs, expressed, “If we cannot trust the facts of a system due to a lack of transparency and verifiability, the system falls apart. When it comes to the electoral process, we cannot afford to allow that to happen. We look forward to launching the Mina mainnet, at which point, developers can use the protocol to create verifiable zkApps that, collectively, will form the basis for a new, more transparent and secure Web 3.0.”
For media inquiries, please contact Kili Wall at (310) 260-7901 or Kili(at)MelrosePR(dot)com.
About Mina
Mina is the world’s lightest blockchain, powered by participants. Rather than apply brute computing force, Mina uses advanced cryptography and recursive zk-SNARKs to design an entire blockchain that is and always will be about 22kb, the size of a couple tweets, ushering in a new era of blockchain accessibility. With its robust decentralized network and open-programmable currency, Mina is powering a more efficient and fair Web 3.0 so anyone can participate, build, exchange and thrive. Mina is a project of o1Labs, a leader in verifiable computation.
About Mina Protocol
Mina is the world’s lightest blockchain, powered by participants. Rather than apply brute computing force, Mina uses advanced cryptography and recursive zk-SNARKs to design an entire blockchain that is about 22kb, the size of a couple of tweets. It is the first layer-1 to enable efficient implementation and easy programmability of zero knowledge smart contracts (zkApps). With its unique privacy features and ability to connect to any website, Mina is building a private gateway between the real world and crypto—and the secure, democratic future we all deserve.