We Could Fix the Voting Problem if We Wanted To
At this writing (November 8, 2020), the following seem clear:
- The United States Presidential Election is effectively over and Joe Biden has won. While that’s an unofficial result, and legal challenges to the vote counting process are underway, the outcome seems fairly certain.
- The country is effectively split in half. 48% of the people voted for Trump and 51% of the people voted against him (I’m writing it this way because, as many people have pointed out, many of the “Biden votes” were not endorsements of his positions. See, for example, https://twitter.com/NathanJRobinson/status/1325211064200523776).
- Many of the things I find most disturbing about America will not be resolved in the near term. They are political problems, and the solutions will require a certain level of seriousness and a diligence and a willingness to find common ground that I don’t think currently exists.
However, there are many problems related to elections which are quite solvable. And solving them would go a long way towards making our elections work more smoothly.
For example, I think that everyone agrees that the process by which we count the votes is broken:
- It currently takes 5 to 15 days to count the vote.
- When we do so, we always have allegations of irregularities and fraud. We have questions about “found ballets” and “dead people voting” and so on.
- Every election is this slow, and has these same questions.
- Nobody is actually confident about the final outcome. The winners concede that there was some fraud, but not a lot. The losers claim otherwise. Most people suspect the winners are right, but nobody actually knows.
At the risk of being too glib, this is not a hard problem. It would have been hard 40 years ago (maybe), but we have a lot of prior art under our belts at this point, and many similar systems are already up and running.
- We know how to build scalable and secure systems.
- We know how to build distributed ledgers.
- We know how to run large-scale open source projects.
- We know how to audit code
- We know how to do external validation for security.
- I’m reasonably certain the academic and security communities would be willing to help analyze any such systems developed.
We could even make this an IEEE Standard if we’d like. The only thing that might be missing is the actual desire to fix the problem.
My rough order of magnitude guess on time and cost is:
- A year to get organized (government projects, and the need to be fully transparent, pretty much make this unavoidable).
- A year for a small working group to spec out the basics of the system and vet the core design / algorithms.
- A year to build the server-side software (“V1”) and spec out a reference hardware design
- $100M for the first 5 years and $10M a year in maintenance / upkeep thereafter.
That’s for a fully-secure distributed voting system which returns results within 30 minutes of polls closing, eliminates most sources of voter fraud quantifies the remaining potential sources of voter fraud, and makes fully anonymized data sets available later for sophisticated retrospectives and analysis.
It’s just work, and it’s not that hard. And if we start now, we’ll have it for the next presidential election.