After the first US Presidential debate, it became obvious Democrats needed a new primary. Along with our friends Nate and David, we pulled together a verifiable election in two weeks. The interactive results are public and live on newdemocraticprimary.org/results.
Our goal was threefold.
Provide a novel way for citizens to voice their opinion. Democracy is often limited to occasional majority voting for a single leader. We wanted to show that ranked choice voting systems like Ranked Robin can be used to select politicians that match citizen's expectations better.
Show that auditable, citizen-gated elections are possible now. Using OpenPassport, we ensured that only US citizen could vote in a cryptographically secure and privacy-preserving way. The alternative would have involved collecting ID card or passport photos, which can be forged by generative models and do not protect privacy or provide auditability.
Stress test OpenPassport. Because passports contain sensitive info, their data shouldn't be shared online, which makes it hard for us to test our app. Only by deploying an application at scale can we make sure it works for most people.
The New Democratic Primary used two main protocols.
OpenPassport was used to check the nationality of users. Upon voting, they were prompted to download the mobile app and scan their passport. Then, they could generate a proof that their passport is valid and commit to a user identifier. When done, the proof was sent to a server along with the intermediate certificate that signed their passport. This certificate only reveals the nationality of the person — which is expected here — and the period of ~3 months in which is was issued.
SIV was used to encrypt and tally the votes. Using SIV, users could decide on an ordering of candidates. Their votes are then encrypted and can be shuffled multiple times to guarantee anonymity. SIV uses multiple cryptographic primitives, including zero-knowledge proofs to make sure the results are auditable. For more information on how SIV works, see here.
We also provided options to verify via phone number or opt out of verification entirely, and tallied votes separately.
A few days after we launched, Joe Biden stepped down and demand for a new primary evaporated. Still, we had 230 votes total, with around 11% (25) completing passport verification.
For interactive results on which candidates scored best, see the result page on newdemocraticprimary.org.
This experience was instructive for us:
Overall, we see a potential in anonymous verification of passports and ID cards for alternative elections, online spam resistance and privacy-preserving compliance checks.
If you want to use OpenPassport, try out the playground now or check out the docs.