Could we create an app for people to use for voting in national elections? I did some work on electronic voting systems problems with Ed Gerck in the early 2000s. It was hard then, it’s arguably harder now. This gets back to what some people have lobbied for since the early days of the Internet: the “Internet driver’s license.” In the U.S., to get a voter’s registration card, you have to prove you are who you say you are, that you live where you say you live, and that you’re a U.S. citizen. That entitles you to be enrolled as a registered voter, which means that for any election in your jurisdiction, you can show up and cast your vote (or as is more commonly the case, to mail your ballot in or drop it off at a collection point).
For vote-by-mail, your ballot envelope has personal identifying information on it, and you must sign it, demonstrating that it was in fact you who voted the votes as recorded on the ballot. For vote-in-person, you’re required to sign your name to a ballot log on the spot indicated for you as recorded on the polls. That’s to make it possible to audit the election, proving that only the people who are authorized to vote actually voted, and that they only voted once. The contents of the ballot are completely opaque to this process—and must remain so to ensure the sanctity of the right to a secret ballot. On paper—that is, in an actual paper system—that’s pretty easy to do. At scale, electronically, it’s nearly impossible to do without it being possible to hack.