This example protocol implements the task of Quantum E-voting. In this protocol, the election authority prepares and distributes to each voter a blank ballot, and gathers it back after all voters have cast their vote in order to compute the final outcome.
The tallier is assumed to be trusted to correctly prepare specific states.
Outline
In the beginning, the election authority prepares an N-qudit ballot state where the kth qudit of the state corresponds to ’s blank ballot and sends the corresponding blank ballot to together with two option qudits, one for the “yes” and one for the “no” vote. then each voter decides on “yes” or “no” by appending the corresponding option qudit to the blank ballot and performing a 2-qudit measurement, then based on its result she performs a unitary correction and sends the 2-qudits ballot along with the measurement result back to the election authority. At the end of the election, the election authority applies a unitary operation on one of the qudits in the global state and another unitary operation on one of the qudits to find the number of yes votes.
Notations
voter
c: number of possible candidates
N: number of voters
: vote of voter
T: election authority
m: number of yes votes
Requirements
Quantum channel capable of sending qubits -> (qudit) between the election authority and voters
Qudit Measurement Device for election authority and voters
Properties
This protocol is vulnerable to double voting. Specifically, an adversary can mount a “d-transfer attack”, and transfer d votes for one option of the referendum election to the other.
Knowledge Graph
Protocol Description
Setup phase:
T prepares an N-qudit ballot state .
the states form an orthonormal basis for the D-dimensional Hilbert space, and D > N. The k-th qudit of corresponds to 's blank ballot.
T sends to the corresponding blank ballot and two option qudits, one for the "yes" and one for the "no" option:
, no:.
For we have , where and . Values and are chosen uniformly at random from their domain and is chosen such that < D.
Casting phase:
???
Tally phase:
The global state of the system is: where ,
For every k, T applies on one of the qudits in the global state.
By applying the unitary operator where to compute m.