This document outlines solutions to building the database for a voting system with the following features:
- Anonymous means that it is not possible to associate a vote back to a single citizen, but a citizen can log back in and review their ballot was cast correctly.
- Personally Verifiable means that we can automatically detect their vote was counted as they cast it this is something that is not possible in the current voting system
- Publicly Verifiable__ means that we can automatically go through the database and independently count the votes and ensure they have not been altered