A voting system is termed end-to-end verifiable (E2EVV) if it provides procedures to check that all steps of the voting process are executed correctly. These procedures include both human executed as well as automated software checks. Because the verifiability of end-to-end verifiable voting systems is based on mathematical proofs, the corresponding checks take the form of software components that mechanically verify these proofs generated by the system during a voting process.
A Universal Approach to Election Verification: An Opportunity for Increased Trust in Elections
Introduction
A voting system is termed end-to-end verifiable (E2EVV) if it provides procedures to check that all steps of the voting process are executed correctly. These procedures include both human executed as well as automated software checks. Because the verifiability of end-to-end verifiable voting systems is based on mathematical proofs, the corresponding checks take the form of software components that mechanically verify these proofs generated by the system during a voting process.
Ideally, these verification tools, which we call verifiers, should be written independently of the system they verify, by people not associated with it. This independence, both of software as well as of people, increases the confidence in the verification process, for technical as well as trust reasons.
In practice, providers of E2EVV systems, which range from academic projects to commercial vendors, do not dedicate sufficient resources to ensure that these independent tools and procedures are developed. This is not surprising, because this development is expensive, even more so if done in an independent and principled (with the least amount of assumptions beyond mathematical specifications) way. Moreover, the incentives to dedicate these resources are not in place: there exist no agreed upon precise technical standards that the population at large can use to evaluate to what degree systems are indeed E2EVV. Consequently it is unclear what the return on investment for efforts to meet high standards in this area, including quality verifiers, are.
At the same time, many existing E2EVV systems share a substantial amount of commonality in the mathematical fundamentals at the base of their verifiability. Indeed, one can classify most E2EVV systems into very few classes according to the main cryptographic techniques they employ. The most cited examples are mixnets, homomorphic tallying, and blind signatures.
A Universal Verifier
The combination of these two observations naturally suggests an opportunity to improve the current state of affairs: if most E2EVV systems share substantial underlying technology, it is possible that this commonality could be exploited to achieve a high quality universal verifier compatible with all of them. This universal verifier would be a joint effort from all E2EVV players, in effect being independent of each provider individually. But the benefits of such a project are not limited to improving the state of election verification software.
The work necessary to define and develop a universal verifier for these systems would constitute the first steps towards the definition of precise standards defining and potentially certifying what an E2EVV system is. This is because in order to develop a universal verifier one needs to define verification very precisely (to the point of mechanical execution) and in sufficient generality (to be compatible across all instances of E2EVV). The long term outcome of these first steps would be a robust, rigorous and precise technical standard that would elevate the practices of all participants and instantiations of E2EVV voting. But because there are already benefits in providing a universal verifier compatible with existing systems today, it could be possible to bootstrap a standardisation process without a huge initial investment.
First steps
The first step in the path towards a universal verifier supporting arbitrary E2EVV systems is to identify a small selection (say 2 or 3) of E2EVV systems currently in use and to develop a prototype that targets them. As a proof of concept this would serve to remove uncertainty from some of the fundamental problems a full fledged universal verifier could present, for example:
- Whether it is possible to extract sufficient commonality in underlying mathematical constructions to make a universal verifier generally applicable.
- Whether it is possible to extract sufficient commonality in implementations to make a universal verifier viable from the perspective of software complexity. This includes the question of whether the last mile effort to adapt a universal verifier to a particular system constitutes a sufficiently small fraction of total effort.
- Whether existing E2EVV system authors and vendors are receptive to collaborating on a universal verifier (and using it as part of their complete solution), as well as participating in the possible standards emerging in the longer term.
Ideally many of these questions would be clarified during the initial stages of a prototype development as well as discussions with relevant parties