-
Notifications
You must be signed in to change notification settings - Fork 2
Written By: Martin Nikoltchev
Compiling and running Tap is easily accomplished by building an artifact. In The InteliJ IDEA IDE go to Build -> Build Artifacts... -> Tap
The jar will then be compiled and automatically put in the /path/to/starvote/STAR-Vote/out/Tap as Tap.jar
With the jar built, you can simply cd to the jar directory and :
$ java -jar Tap.jar [serial number] [report address] [port]
serial number - serial number given to the tap machine report address - IP address of the Auditing Web Server port - port to connect to on the web server (usually set to the default port, 80).
Tap is a data diode, meaning that it sends data out of the network. Specifically, Tap is responsible for sending information about voter's choices to a Web Server, allowing voters to verify, post-election, that their votes were counted correctly. If the voter decides to challenge the voting machine, the web server also provides a visual representation of the voter's selection as a way to verify the correctness of the system.
The Tap sits on the Auditorium network awaiting a polls closed message. Upon polls closed, it waits for the supervisor to fire the UploadCastBallotsEvent and the UploadChallengedBallotsEvent. The former contains a list of the ballot Ids and encryptions of all votes that were successfully cast in the election. The latter contains a list of the ballot Ids, the encryptions of the voters' selections, and the plain texts (in s-expression form) of all ballots that were challenged by voters during the course of the election. Tap uploads this data to the dedicated web server.