Tuesday, July 11, 2017

7/11

Yesterday, I created a very simple election with Helios but didn't really discuss the process much, so I'll talk about it today. As I stated yesterday, creating an election is pretty easy. Right from the get-go I get to input some attributes for the election, mainly its short name, (for the URL) its name, and its description. There are then some more options that can be inputted- whether it is an election or a referendum, (although I'm not quite sure what the difference is) whether or not voter aliases are toggled (meaning that those who voted have names replaced with aliases in the Ballot Tracking Center, whether the election is public or private, and when the voting begins and ends. Today, I'll set the options to the opposite of what I set up yesterday- referendum, voter aliases on, and private. Once these options are submitted, they can still be updated later.
The next step is to add some questions. I'll add a generic one for now. Creating questions is simple as well, all that's needed is to input the questions and their respective answers. However, there's also some additional possibilities at the top. I can choose how many answers that can be selected (I'll put from 1 to 5) and whether the result type is absolute or relative. (not sure what this means either) In addition, it's possible to attach a link to each answer that appears in the voting booth via a '[more info]' footnote.

Since I set it to private, obviously not everyone can vote. However, it seems that the only way to add voters is to upload them in bulk. The site tells me that the easiest way to do this is to use a spreadsheet program and to export it as a CSV file. I uploaded a document containing my unique code, email, and full name, and I was added to the list of approved voters.

Since I didn't do this last time, I'll try to add a trustee. I put in my name and email, so it should send me my public and secret keys. I was sent a public key, which I had to upload before the voting, and some JSON as a secret key.

The final step is to freeze the ballot. This means that the settings, list of voters, and trustees can no longer be updated, and that the voting opens when it is the right time. This election has 1 voter, (me) and 2 trustees. (me and Helios)

When voting, you can choose to audit your vote. From what I can tell, all this does is make it so that your vote does not count in the tally. After voting, I am required to input my login and password, which was supposedly emailed to me. However, Helios does not do this automatically when the document containing the email addresses is uploaded, but the administrator has to utilize a function of Helios's to send out a mess email to everyone which contains each respective login and password. Obviously, this is not much of a problem but because all voters, unique codes, and emails are uploaded at the same time, I got the impression that their codes would be emailed automatically when the ballot was frozen.

Now that all 1 of the election's votes have been received, I'll compute the encrypted tally. Since I'm a trustee, I actually have to take part in this instead of having Helios do it all itself. All I have to do is paste my secret key, which serves as partial decryption for the tally. Then, I compute the tally and release the results. And the election's done! I could also archive the election (unsure of what that does) or duplicate it.

Looking back, there's three things that I stated that I did not fully understand. The first one is election vs. referendum, however I believe that this is purely a cosmetic naming convention rather than two functionally different types of voting. Say if you were creating a way for people in your club to vote on passing a certain law or not, it would be silly to call it an 'election,' so another option is given. The second, absolute vs relative results, I'm still not sure about. The first election I created was set to 'absolute' while the second was 'relative,' but I'm not noticing any fundamental differences between the results page for each. Finally, we have the ability to archive an election. I'm going to go purely off of the word 'archive' and guess that this only saves the results and other facets of the election from being deleted, however I have no way of knowing if that's really true.

Yesterday, one of Mr. Elkner's students on IRC said that he was going to help me test Helios more thoroughly today, however he's not online as of 11:20, so I'll do some more experimentation by myself for now.

After logging back in to Helios, I can't see the election that I created today on the homepage, but I can still see the one that I had made yesterday. I'm guessing this is because I archived the second one, which is interesting. I'm not sure what purpose that serves considering I can still access the second election via the link or viewing the entire list of elections that I have participated in. So far, all I've seen the 'archive' function do is hide the election from from access immediately, but not long after that, which is a bit strange. I'm not sure how that qualifies as "archiving," but then again I could be missing something.

It appears as though a server is being set up for the purpose of testing Helios with the NOVA email account, although it's not available yet, so it's going to be a short while before I'll be able to assist Mr. Elkner's other students with testing the system.

NOVA now has its own Helios server, and I've been made an administrator. However, there's not much time left today and we've got a field trip tomorrow, but I'll be able to access IRC while I'm working at home on Thursday and Friday so we'll have to work more on it then.

1 comment:

  1. Great work! We are realizing just how tricky an application helios is to setup, which may soon block you from being able to make further progress. Be prepared to sum up and switch to a new task if that becomes the case. Let's not give up yet, since there are two useful things you could do today:

    1. Create a cvs file for a "voter group" consisting of the 6 of us here at ACC and the 3 other folks who regularly hang out on our irc channel. That will give you 9 voters to test with.

    2. Create a few more elections on the test server and get all 9 of us to try your elections.

    3. Document your results.

    At this point if we can't give you a local server you'll be prevented from further progress at this time. I'm hoping we can make some progress over the weekend. Let's see how that goes.

    ReplyDelete