Voting

Votes on verifiable.vote currently implement ranked choice voting, although alternatives may be offered in the future.

Ranked choice voting is as simple as following these steps:

  1. Log in with Google Sign-In, Login with Amazon, or a link sent to your email.
    Just be sure to use the email that the vote holder entered to permit you to vote.
  2. Order the options of a ballot item from favorite to least favorite.
  3. Click "Cast Vote."
For the Borda Count decider, each option will get a number of points equal to the number of options you put behind it in your ordering. So your top choice will get n-1 points and your bottom choice will get 0 points.

Holding a Vote

Votes on verifiable.vote currently consist of a single ballot item with an arbitrary number of options to choose between.

Holding a vote is as simple as following these steps:

  1. Log in with Google Sign-In, Login with Amazon, or a link sent to your email.
  2. Click on "Create Ballot Item."
  3. Add a title, optionally a description, and however many options people need to vote on.
    You can paste in options separated by newlines.
  4. Click on "Create Ballot Item" and note the cost per voter.
  5. Add in the emails for Individuals permitted to vote on the ballot.
    You can paste in emails separated by pretty much anything.
  6. Ensure that you have enough coins by checking the menu at the top and click on "Create Ballot".
  7. Once you're ready to close the vote and see the results, click on "Close Vote".

It is important to note that:

  1. Nothing you create is editable, to ensure integrity of the voting process.
  2. Closing a ballot is similarly irreversible.
  3. You can add voters if need be by creating another ballot for an existing ballot item, but not after a ballot including that ballot item has been closed.

Core Design Principles

These are the core design goals for verifiable.vote:

  1. Verifiability – It must be possible for voters to verify amongst themselves that the vote was not tampered with.
  2. Security – All data must be kept secure and secret except where necessary for verifiability.
  3. Fairness – Encourage fairer outcomes by supporting ranked choice voting.
  4. Ease of Use – Make things as simple as possible except where necessary for verifiability, security, or fairness.

verifiable.vote was engineered for closed groups that are known in advance of a vote. Individuals invited to vote on a ballot item from a given email address are authenticated and permitted to vote only once for that address.

Cheapness

verifiable.vote aims for "cheap" as in "low in price; worth more than its cost" and absolutely not "inexpensive because of inferior quality." Voting on verifiable.vote is free and it is the aim to keep costs for ballot creators reasonably low. Initial pricing is set at $0.50 + $0.01 per coin, with each email getting 25 free coins (non-cumulative) every 30 days, but feel free to get in touch with business to discuss enterprise rates. Automatic payment processing is not quite implemented yet, but as our user base builds and we're able to better evaluate our expenses, we may choose to reduce prices in the future.

Verifiability

Verifiability is a complicated problem that centers around mitigating attacks on the integrity, real or perceived, of the results of a vote. Claims that electronic voting is inherently suspect are overblown, but it is true that there are tensions between verifiability and ease of use. The following aspects of votes on verifiable.vote mitigate a number of potential attacks that could undermine vote integrity:

  1. Vote outcome decider source code is shared to each group of voters.
  2. How anonymized voters voted is shared to each group of voters.
  3. Hashes enable voters to verify that their vote was uniquely counted as part of the vote.
It is still possible to do better by incorporating public key encryption, but it definitely results in a hit to ease of use. This functionality is already planned and will likely be rolled out in a future update of verifiable.vote.