• Increase font size
  • Default font size
  • Decrease font size
Elections Reform


October 6 - Almost There
Projects - Elections Reform
Written by Michael Yaroshefsky   
Monday, 28 September 2009 10:11

helios-logoTwo weeks ago I delivered my third presentation to the senate regarding the elections project.  This was the first presentation to the senate since we started working with Helios.  The purpose of the presentation was to explain what Helios is, how it works, and what we can do to use it.

The Presentation

I began by going through a quick review of how we got to where we are now:

elections_progress

It certainly wasn't a simple process!  There were plenty of dead ends and u-turns along the way.  But that is what made it such an exciting project!  If you're new to the blog, you can read through the chronicle of blog posts below to get the full picture if you're interested.

Download the presentation here!

Then I discussed two of the critical features of Helios:

  1. Ballot Casting Assurance
    Each ballot you cast generates a unique tracking number.  At any time after you cast the ballot, you can go to the Ballot Tracking Center in Helios and make sure that this tracking number matches the one you received when you cast your vote.  If they match, you can be confident that your vote was successfully cast and has not been modified.
  2. Universal Verifiability
    Any observer, including a third party auditor, can verify that all of the votes were correctly tallied.  During the UCL election using Helios (see August 4th post below), they hired a third party auditor to do exactly this.  The auditor reached the same conclusion as Helios, and thereby verified the election.

Helios is based on cutting-edge technology -- straight from the lab, you could say.  And I half-jokingly proclaimed that our use of Helios would mean that we have the most advanced election system of all student government elections around the country, world, and cosmos.  But all joking aside, Helios is a huge leap forward in online voting technology, and it is an ideal solution for student government elections.  Not only is it secure, but it is also absolutely free!

That's right!  Helios will not cost us anything.  The software is free, and by using Google Appspot to host the service, the hosting is also free.  As a GNU programmer would point out, the adage "You get what you pay for" definitely doesn't apply here.  Helios could potentially be more secure than non-free alternatives.

Next Steps

At this point, we are 100% invested in using Helios for the class of 2013 election this fall.  For me, this is a huge weight off my shoulders.  There was a point in mid-August where nothing seemed to be working and I wasn't sure if we would have anything in time for this election.  But luck seems to have been on our side.

Timeline

Last week I met with Addie Darling '12, the senior elections manager, to plan the timeline of this election.  In the past, the protocol followed by the elections administrators has been as much to blame for the elections problems as the system itself.  To change this, Addie and I thoroughly planned the whole process out, down to details including the time at which emails will be sent and what will be included in these emails.  This timeline is available now in the elections center.

Playing It Safe

Although I'm thrilled that we are launching Helios, I am also concerned about the adoption of Helios.  I don't have any concerns about Helios itself -- it works.  Period.  The biggest concern I have is that voters will understand how to use Helios.  Admittedly, the increased security in Helios comes at the expense of simplicity, though certainly not to the point of hindering usability.  For example, there are a few extra steps to using Helios not found in the old system.

Here's an example of something I'm concerned about: the login procedure.  In Helios, you don't log in until immediately before you submit the ballot.  Even if you aren't eligible to vote in the election, you can go through the ballot, make choices, encrypt the ballot, and get a tracking number.  However, at this point you must log in to cast your ballot.  This is very different from our old system, where you logged in first, made your choices, and clicked submit.

But it's not that eccentric!  Think of it in terms of a paper ballot.  Anyone can get the paper ballot and mark choices, but when you go up to the ballot box to deposit your ballot, someone checks your ID to make sure you are eligible.  This makes sense, right?

Test, Test, Test

In order to flush out confusion that voters may have, we have been having groups of people test Helios.  We will continue with a larger-scale test next week.  This test will be confined to the class of 2012 to test Helios' ability to check voter eligibility by class year and since it will allow me to reach out to my friends to help.  Addie and I will be sending invitations to test Helios to our friends and then getting feedback.  If you would explicitly like to participate in the review of Helios, I'd be happy to include you.  Just send me an email to yaro@.  We hope to glean from these user experiences the pieces of Helios that cause the most confusion.  Then, based on this feedback, I can tailor my instructions to explain certain parts in more detail.  Also, we can use this feedback to make changes to Helios for a future election.  (It would be unwise to make modifications to Helios now, right before the election, because doing so could introduce problems into the program).

Documentation Galore

Ben and I agree that documentation, a "how-to" guide to Helios, is crucial.  Therefore, I'm going to go overboard on this end.  Video demonstrations, FAQs, pretty pictures, and unicorns.  This will be linked to by a "Help" link at the bottom of Helios.

Feedback Requested

The best way to improve Helios is to learn from real use.  To that end, I'm going to set up a survey to get everyone's feedback on Helios after they use it.  This will help me focus the guide and further refine Helios

Now, I'm off to set up the test election.  The contest between Mickey Mouse and Chuck Norris for the class presidency is heating up!

Message to Registrar and Elections Committee

Below is the message I just send to the Registrar and all of the other contributors to the project:

Hello, Ms. Griffin, Dean Dunne, and members of the committee that assisted with the election project this summer;

It's been a while since our last meeting regarding the USG elections, and I'm thrilled to announce that, in this time, the USG has settled on our solution: Helios.

Dr. Ben Adida and I have been working tirelessly along with members of OIT's Security and Data Protection group, the USG, and other voting security experts from within and beyond Princeton.  Through all of this, we have a tangible result: Princeton's very own instance of the Helios voting booth, an instance that is completely ready for us to use in the upcoming election.  It integrates with Princeton's Central Authentication System and successfully checks voter eligibility based on class year.  Our plan to launch Helios for this fall election with the class of 2013 is well underway and right on track for a successful launch in two weeks

Helios is a thoroughly-tested system -- our election is far from the first to use Helios.  In fact, as I may have mentioned at our August 4th meeting, the Université catholique de Louvain in Belgium used an earlier version of Helios to elect their university president.  This high-stakes election had as much publicity involved as you might expect if we were analogously to elect President Tilghman's replacement.  In this election, the university ended up praising Dr. Adida and Helios for enabling them to conduct such a well-run and reliable election.  Since then, Dr. Adida has made a number of presentations on Helios at universities and voting security conferences, and his peers in academia have also contributed to giving him feedback that has allowed him to tighten the security even further and create the version of Helios, version 3.0, that we have today.

However, even though I am confident that there are no problems inherent to Helios, there are potential challenges to launching any new voting system to such a large population of voters, especially one as advanced as Helios.  As such, we are planning a full-scale test election next week, in which the class of 2012 will be the first class to use Helios by responding to a simple survey through Helios.  Through this test, I hope to identify which parts of Helios voters find most confusing so that I may create guides and documentation to address these causes of confusion.  Then, for the December election, we can perhaps modify Helios to address these concerns.

In addition, we will use this test election to conduct a full-scale test of the component we have implemented that verifies voter eligibility.  You may be comforted to know that this system was built using the very same authentication procedures implemented by James' WebSurvey.  As a result, Helios will be equally as sensitive to voter eligibility as WebSurvey was; Helios' ability to discriminate between eligible and ineligible voters is equally as powerful as the system used by WebSurvey.  In fact, it is the very same system.

One notable difference between Helios and WebSurvey that is of explicit interest to this committee is the role of the elections administrators, such as the USG Elections Manager and the Office of the Registrar.  In WebSurvey, a representative from the Office of the Registrar logged in to click a button and tally the votes.  This process constituted "Registrar Certification" in previous elections.   The process with Helios is similar, albeit slightly more secure. 

In Helios, there can be a number of trustees that divide the power to decrypt the ballots and tally the votes.  For our elections, the USG is proposing to distribute this power between two trustees: the Office of the Registrar and the USG Elections Manger.  Through this arrangement, the results of the election cannot be tallied or published until both trustees input their unique decryption keys.  Without both of the decryption keys (think of these as passwords, analogous to physical keys), no single person can gain advanced access to the ballots or the results.  This is similar to how a personal vault at a bank might work -- both keys must be present to "open the box."  No single party acting on his or her own could gain advanced knowledge of the vote counts -- this includes any member of the USG senate or the elections manger herself.  It is also, critical, though that neither of these keys (which are strings of characters like passwords) be lost, since if one of the keys is lost it will be impossible to tally the votes.

As a result, elections using Helios will still depend on a strong relationship of cooperation between the USG and the Office of the Registrar.  I would like to meet with whoever in the Office of the Registrar will be responsible for this "trustee" roll sometime soon so that we may learn the full protocol from Ben.  We can then use the class of 2012 test election as a way to have a "dress rehearsal" of our roles as trustees.  The test election will take place next week, concurrent with the campaigning period for the actual election.  Then, in the week following, the actual election with the class of 2013 will take place using Helios.

To everyone on this committee, thank you for all of your generous assistance along the way.  I cannot adequately express how thankful the USG is for the level of cooperation between so many parties in this project.  This has been a complicated project, involving many people, and with numerous abrupt changes in direction along the way.  Our successful launch of Helios will be a standing testament to this remarkable cooperation and the achievement we have conjointly made.  I anxiously await the full launch of Helios in two weeks!

Sincerely,
Michael

 

 
September 12 - A Trick Up My Sleeve
Projects - Elections Reform
Written by Michael Yaroshefsky   
Saturday, 12 September 2009 18:31

There hasn't been an update on this blog in a while, but that's because I've been hard at work on a not-so-secret weapon.  You see, I have to confess that I was slightly disingenuous in the last blog post.  I insincerely wrote:

"So we still can use WebSurvey to run the election in the fall... this seems to be an acceptable option, and frankly the best that we can do."

In fact, we can -- and most certainly will -- do better.  All along, I was never actually content with settling for WebSurvey again; you can't succeed by settling for second-best.  Unfortunately, at the time of that last meeting and the blog post, "first-best" wasn't a viable option... yet.  But a few weeks, and a few hundred emails later, I present to you Princeton's very own functional instance of the Helios Voting Booth.

Helios

The Bait and Switch

Even though Helios was a mature system, ready to be used, it was not certain how Helios would interact with the University's authentication infrastructure. This additional connection that needed to happen was what stood in my way of convincingly proposing that we use Helios for the fall election.  Without solid evidence that Helios works for us, I would be standing on an unreliable footing -- pitching vaporware.  At the time, the best choice we could make was to fall back on WebSurvey, our old system.  I was okay with this decision since I knew that I'd be able to prove Helios in time for the fall election and that we wouldn't actually have to use WebSurvey.  Making this "decision" would then buy us time to do exactly that -- prove Helios.

The Missing Links

Every student has a personal netID that is the student's gateway to online services, from the Office of the Registrar's SCORE to University Webmail.  For elections, students log in to cast their votes using their netIDs.  Therefore, for us to use Helios, we had to configure Helios to play nicely with this infrastructure so that students could just log in with their netIDs to cast their ballots, and to ensure that voters cast only one ballot. (Actually, with Helios, voters can cast as many ballots as they like, but only the last one they submit counts.  But more on that later....)

We also needed to make sure that only eligible voters cast ballots.  In the upcoming fall election, only members of the class of 2013 are eligible to vote, so we have to make sure that only members of the class of 2013 can actually cast a ballot.  Lacking magical powers to deter ineligible voters (don't let Whitman College fool you into thinking this is Hogwarts), we had to somehow determine the class year of a voter.  The way we accomplish this is by using voters' netIDs to determine who they are via the university directory, the LDAP.  Give the LDAP a netID to look up, and the LDAP returns the class year of the student associated with that netID.  By simply checking whether that class year is eligible for the given election, we have successfully verified voter eligibility.

Although the LDAP is accurate 99% of the time, it is not a perfect database.  The information in the LDAP may be outdated because of extenuating circumstances, or a student may have requested that her information not appear in the public LDAP directory.  In these cases, the LDAP may erroneously indicate that an eligible voter is actually inelligible.  A better system would interact with the Registrar's database, which is more reliable.  However, such an interface would take too much time to implement right now, so we will tackle that hurdle later and instead handle LDAP issues on a case-by-case basis as they arise.

I will admit that this is settling for second-best, but I will also defend this choice with the following:

  1. The old election system used this exact same method to determine eligibility, and suffered from the same problems, so there is a zero net gain/loss, and
  2. This is a complication I identified early in the election redesign process, before Helios was even part of our vocabulary, and one I am committed to overcoming when time permits, and
  3. We simply don't have enough time between now and the fall elections to make it happen.
In conclusion, Helios with the LDAP limitation is still better than WebSurvey with the LDAP limitation, and we'll  resolve the issue as soon as we can.

The Goods

So after all of our work, we now have an implementation of Helios that successfully authenticates voters using CAS, the netID interface, and successfully verifies voter eligibility using the LDAP public directory.  At this point, Helios does everything to authenticate voters and check their eligibility that WebSurvey does.  But Helios is also... Helios.  And what exactly is Helios, you may wonder?  And why should you care that we're using Helios rather than WebSurvey?  Stay tuned for a future blog post where I'll actually outline all of the benefits of using Helios.  But for now, here is a video demonstration of Helios as it is right now.  I'd go into more detail, but I've got to get back to work on our remaining tweaks to Helios and then get the final approval to use Helios for the upcoming election.  Wish us luck!

Oh, and by the way.  Remember the $7,500 to $15,000 budget of last spring?  Well, Helios is free.  Now doesn't that just put a cherry on top?

 

 
August 4 - A Clear(er) Direction
Projects - Elections Reform
Written by Michael Yaroshefsky   
Wednesday, 05 August 2009 14:07

Today we had our most productive meeting so far.  We now have a fairly concrete plan to succeed.  We reviewed our single proposal, reviewed the other options I proposed, and settled on a compromise solution.  But first, the background:

Introducing Dr. Ben Adida

Ben AdidaI have introduced Dr. Kernighan and Dr. Felten before in this blog, but Dr. Adida is a new and most welcome addition to the team of experts I've been in touch with about the project.  I requested an email be sent to all Princeton Computer Science undergrads and grads, and one of the handful of responses I received was a suggestion to look into the Helios Voting System developed by Dr. Ben Adida.  Although I had come across a slew of run-of-the-mill online voting systems in our previous research, as I explored Helios, I recognized that this voting system was different from the rest.  It's the difference between an abacus and a TI-89; other voting sites count things, but Helios brings some sophisticated computing power.

Dr. Adida (who asks to be just called Ben) is a graduate of MIT who is a postdoctoral fellow at Harvard's Center for Research on Computation and Society.  He researches security and privacy in voting, health records, and web applications.  He is a member of the program committee for the Workshop On Trustworthy Elections (WOTE) and the USENIX/ACCURATE Electronic Voting Technology Workshop (EVT).  In fact, he and Dr. Felten will be brushing shoulders on August 10th at the EVT/WOTE 2009 in Montreal.  Could you imagine a better team of experts to advise our project?

Dr. Adida was kind enough to offer to speak with me by telephone last night.  I had only begun emailing him the day before.  We discussed his Helios system, Princeton's predicament, and the MedForward proposal.  Below are a few highlights from the conversation:

  • All elections have hiccups.  What differentiates successful elections from failures is how these hiccups are handled.
  • Our best bet with our elections project is to be "iterative and conservative."  Rather than completing the system in one shot, it is in our best interest to make realistic goals and continuously develop the system for some time until it is ready.
  • Although Princeton currently uses Single Transferrable Vote for certain election needs, Range Voting could be a more straightforward alternative.
  • With the Helios Voting System, voters get the freedom to observe the election and make sure everything is okay.

The Helios Voting System

So I've mentioned the Helios Voting System, but not yet what it is.  So what is it?  In short, it is a cutting edge online election system that puts the power to audit the election in the hands of the voters and observers.  Helios allows voters to make sure their vote counted, to modify their vote before the close of the election, and to audit the entire election once the scores are tallied.  It leverages advanced cryptography to ensure vote security and voter anonymity, while simultaneously improving overall election transparency.

Learn about cryptography and voting in a Google TechTalk video presentation given by Dr. Adida.

This all sounds great, but does it actually work?  To my delight, Helios actually works very well.  In fact, the Université catholique de Louvain (UCL) used Helios to conduct an election for their university president, and it was no small deal. Below is an excerpt from their site (warning: it is a Google automatic translation cleaned up for enhanced English readability by me)

It is apparent that, with our 24,000 voters, electronic voting is the best solution, and that this system must be reliable and ensure the highest degree of security and confidentiality. Fortunately, the election commission has the help of Professor Jean-Jacques Quisquater, an expert in cryptography.  After studying a variety of voting systems with his team, he suggested Helios, a system designed by a Harvard professor (Ben Adidas).

Three reasons motivated this choice, says Professor Olivier Pereira. First, voters have a high level of control at each stage, and we can verify that everything is operating correctly, and thanks to the internet, a voter can verify that her vote has been recorded. This system produces the weighted count of the ballots submitted by voters, nobody (nor even a computer) can ever determine who voted for whom.  Finally, the system makes it virtually impossible to vote incorrectly: first, the voter is prompted to confirm his vote, and then he has the opportunity to vote again if he thinks he is having a problem or made a mistake (that is one of the great peculiarities of the system). Helios has, of course, been adapted to the needs of the UCL. This has been the work for several months of Olivier Pereira and Olivier de Marneffe  in collaboration with Ben Adidas and the General Information System (ISMS) [presumably the equivalent of Princeton's OIT]. Among the challenges, they had to ensure "the soundness of the system given the large amount of data to be processed and the risk of attacks." That is why he suggested service providers, namely Amazon and Google: Amazon hosts the interface designed by UCL, and Google will store the data. "The best way to ensure the availability of the voting system for the duration of the election was to have extremely powerful servers  arranged across the world.  That is what we use Google and Amazon," explain two members of the technical team.

Source: UCL Website via Google Translation

During the first round of voting, one of the candidates missed the majority by just 2 weighted votes (faculty votes counted more than student votes in this election).  An independent company also audited the election, and certified that Helios had correctly tallied the votes.  A second election was held, and that candidate finally achieved the majority he needed.  In a paper detailing the outcome of the election, Dr. Adida and his colleagues at UCL write:

The deployment of an open-audit voting systems brings a number of small changes in the voting process, which
inevitably makes voters suspicious. Numerous presentations were given and discussions fostered make voters more familiar and comfortable with the system. The features that were the topic of significant questions and debates were: (i) the possibility to revote, (ii) the identification of the voter at the time of ballot submission (instead of before the ballot creation), and (iii) the point of the bulletin board audit day (which delayed the announcement of the election results). From anecdotal evidence and the small number of complaints, it appears eventual acceptance of the system was quite high.

What Can Be Done with Helios?
Helios will soon be released as an open source project written in Django, a rapid web development framework based on Python (An older version of Helios is open source too, and is available here).  The Django connection is particularly exciting, given the number of students at Princeton who have worked with Django and know how to use it.  In fact, the group of students that came together under the assumption that they would be building a voting system from scratch had planned to use Django anyway.  So this means that rather than starting from scratch, this group could simply extend the work of Dr. Adida, and modify Helios to meet our own specific needs.  All of the hard work of ensuring the system tallies votes correctly has been done!  All that remains to be added is the administrative and registration component, where candidates and referendum advocates can sign on and register for the election, and where the elections managers can manage these positions.  Amazing, right?

The MedForward Proposal
When we sat down for today's meeting, we began by reviewing our one and only response to our RFP.  I highlighted some of the benefits and drawbacks of this proposal:

 

Positive Negative
On Time
MedForward promises to deliver the system on time.
Lack of Elections Expertise
MedForward specializes in building websites for medical professionals, not building secure election systems.
Meets Most Requests
They have committed to satisfying most of our requests for the implementation.
Use of ASP.NET and Windows Server 2003
The platform has a steep learning curve if students ever need to modify it, and it will be difficult to obtain affordable server space running Windows Server 2003 and to keep running this older technology for up to 10 years.
Potential for Future Support
MedForward will likely be able to support the system after it is built, through the lifetime of the system.
MedForward Retains Intellectual Property
After Princeton pays to have the system built, MedForward will retain ownership of the code and related intellectual property.
On Budget
The proposed price is within our original expectation of $7,500 to $15,000.
Potential to Become Expensive
The price does not include the Single Transferrable Vote system, which will cost $2,000 more to develop, and combined with the additional costs of support and maintaining the required server, the lifetime costs could approach $20,000.

After weighing these positives and negatives, we decided against choosing the MedForward proposal.  Chief among our concerns was how developing voting systems is not something MedForward has done before.  After consulting with Dr. Kernighan and Dr. Adida, both expressed concerns about the complications inherent in developing online voting systems, and were unsure how well MedForward, or anyone, could implement the system we designed with just over one month to do so.  Dr. Adida recalls one voting system he built taking two years to complete.  And Dr. Kernighan wrote to me via email, "MedForward is presumably a fine company, but they claim no experience with voting systems, which have different constraints than most commercial systems.  For instance, voting systems have to authenticate the user, permit him or her to vote only once, and make it impossible to determine how the user voted." It's far more important to me that we come upon an airtight system that will last for up to 10 years, rather than settle quickly and potentially regret making a hasty decision.  So although I was extremely pleased to receive the proposal by MedForward, and we appreciate their offer to help us, in the end we felt that it was too risky to select them.  This decision was unanimous among the committee members in attendance.
UPDATE 9/29/09: At the request of MedForward, I have redacted the price of the project in their proposal.

Download the MedForward Proposal

What Now?

Considering that we decided to decline the proposal from MedForward, we now found ourselves without a developer, and no guarantee of a new system by September.  This looks bad, huh?  Actually, I think we're in even better shape than we would have been if we had begun developing the system with a professional developer.  Let me explain.

After speaking with Dr. Adida, I know that our September deadline to develop a complex voting system may have been too optimistic.  I was cautiously optimistic last May, but it looks like my cautious choice of words, "it would be 'ideal' to have the new system in place for the Class of 2013 elections next fall," was duly necessary.  This isn't as much an "I told you so" as it is a recognition that this project was more complicated than we had hoped.  So even though we won't have a new system in use by September, we have accumulated crucial insights from the panel of experts and have discovered Helios.  In the end, the result will be better than if we made hasty decisions in order to have the system ready by September.

One Suggestion

I suggested to the group that we may be able to use a minimally adapted version of Helios in order to run the class of 2013 elections this fall so that we can at the very least have something new and reliable in use to tally the votes.  Helios doesn't currently support Single Transferrable Vote, but the upcoming election doesn't require that.  In fact, Helios can do everything WebSurvey (our previous election system) does for the fall election, plus Helios offers the advanced security and transparency features. All that would have to be changed would be to allow Helios to use our CAS netID authentication system, and to communicate with the Registrar's database in order to verify the class year of the voter.

So, considering that I hope to use Helios as the backbone of our new system we will develop, I suggested we begin using Helios for the fall election instead of WebSurvey.  This would be an ideal election to begin using Helios: it is the smallest and simplest of all of the elections.  However, the committee was uncomfortable using Helios right now.  Instead, they suggested that we continue using WebSurvey, so this was the option we are compelled to take.

More WebSurvey?

You may be saying to yourself, "More WebSurvey?  That's the system we had so much trouble with in the first place!  How can you claim that we've made any progress if we're still using WebSurvey?"  That's a good question, and the answer requires understanding exactly why we've had trouble with WebSurvey to realize that WebSurvey didn't cause the problems we've had, it only contributed.  As Daisy says in The Great Gatsby, "it takes two bad drivers to cause an accident" (not a direct quote).  So who was the other "bad driver?"  Sub-par elections administration.

Pointing fingers is a poor way to make progress, but we need to point the finger so we know where to make improvements.  So I'll review some of the reasons why previous elections have been problematic:

Winter 2008

Problem 1: Admin Access

In the news

What happened?

Because of unusual circumstances in which the USG President openly supported a candidate and spread misinformation about another candidate's endorsement, the senate was tasked with deciding whether to conduct a revote after the original vote had already taken place.  There was suspicion that the USG President based his sway on whether to conduct a revote on knowledge of the turnout of the first vote that he wrongfully obtained via logging into the voting system to obtain the results.

What can be done to prevent it?

It was suspected that the USG President accessed the election results by logging in with the USG@ shared netID, which, in addition to the USGVote@ netID, had access to the voting system and the results.  Immediately following this allegation, changes were made to block the usg@ netID from gaining access to the system.  Therefore, this type of problem has been addressed.  However, the USGVote netID could also potentially be shared, which would grant access to anyone with the password.  Instead of using these shared netIDs to grant access, I suggest using personal netIDs, which are less likely to be shared and provide additional security.

Problem 2: Incorrect Vote Count Published

In the news

What happened?

The source of the problem was a quotation mark in one of the candidate's names.  This quotation mark caused the system to ignore votes for two candidates.  Every time a vote was disregarded, an error message was printed to the log where the vote counts are displayed.  There were 392 of these error messages.  There were other, negligible error messages, for when someone chose the same candidate twice for a senate seat.  The elections manager and the Registrar did not notice the unusual error messages, nor notice that the sum of all votes counted was remarkably less than would be expected.  The result based on the erroneous vote counts was published, but vote counts were not.

What can be done to prevent this?

First, the elections manager can more carefully inspected the system output to check all error messages and ensure that they don't affect the outcome of the election.  Next, the elections manager can compare the total number of votes cast with a calculated expected voter turnout, where this expected value is based on previous elections.  Then, the Registrar can double check the elections manager's checking.  And finally, the vote counts can be published, so that the public can also double check that votes were reported for every candidate, and that the vote numbers generally seemed to follow public preferences.

Spring 2009

Problem 1: Election start delay and erased votes

What happened?

Students began voting before the USG president had announced that voting had begun, and the ballot they were voting on was premature.  The USG president announced the actual start of voting when the ballot was ready, and all votes cast before then were not counted.

What can be done to prevent this?

Voting should not begin until the USG president's official announcement when it has been confirmed that the ballot is ready.

Problem 2: Incorrect scoring on Referendum I

In the news

What happened?

There was a mismatch with how the elections manager created the XML file that creates the election, and how the election system tallied the results.  As a result, some responses were inverted.

What can be done to prevent this?

The XML file that creates the election (for WebSurvey only) can be verified before it is used.  And for a future system, there would be no need to manually map the database values with the choices -- it should be completely automatic so as to avoid any possibility of confusing them.

Notice a Trend?

Given these examples of problems that happened, the trend you may notice is that there were no problems that couldn't have been avoided were there some more comprehensive election oversight by humans.  Without a doubt, the technical system seeded some of the problems, but none of the final problems that occurred weren't preventable.  A better election protocol, including more time built in to allow for careful verification of all parts of the election, could compensate for these issues.

So what this means is perhaps the best change we can make is not to the technology but to ourselves.  The "ideal" voting system I designed, and we will still design, will help alleviate some of the issues that would require human oversight.  But that only makes it easier.  As Dr. Adida commented, all elections have problems.  The difference between a successful election and a failed election is how the administrators handle them.

Advice from the Expert: Dr. Ed Felten

Dr. Ed FeltenAs I mentioned in a previous post, Dr. Felten has become a part of our team of expert consultants.  When I mentioned the class of 2012 senator debacle, Dr. Felten offered:

Having read about the past botched election, my first thought was that the error would have been evident if the system reported results more fully and to a broader audience.    Just seeing no votes for certain candidates would have been a strong clue that something is wrong -- and the fact that the number of votes reported was many fewer than the number of voters would have been another giant red flag.

Therefore, I think it's in the best interest of everyone for the USG to commit to reporting all vote counts to the public.  This means every election, every position, and every candidate.  But Dr. Felten also agrees that the technology needs to change, too.

The people who saw the debugging output could have caught the error, in principle, but putting the blame on them seems too easy, and in my view that would miss some serious problems in the technology and -- at least as important -- in the human processes used in the election. The problem would have been detected if

(a) the system had shown voters the choices tabulated for them, at the time they voted, or

(b) vote totals for each candidate had been reported to the public or even to the candidates, or

(c) the error messages had been intelligible (it was a big problem that the real error messages looked very similar to messages that would normally occur), or

(d) the system had displayed a count of the number of errors of various types, in easy-to-read format, or

(e) the error messages had occurred somewhere other than a giant file of random-looking debugging output, or

(f) the system had been programmed to raise a red flag when the number of votes recorded was far less than the number of voters, or ....

Safeguards against error are the most important part of an election system.   Often the best safeguards are not technological at all, or involve only easy technical changes such as providing clear error reporting and building simple consistency checks into the system.

If you're wondering what the election output looks like, download the election output from the original class of 2012, December '08 election below.  This is an excerpt from the entire output, which includes the rest of the positions and referenda.  The header was added by my text-editing program when I made the PDF file, but the actual text as shown is unedited.  This is what the elections manager reads in order to determine the winner, and this is the text the Registrar reads to certify the election.  A little confusing, right?  No wonder there have been so many problems!

Download the original election output from the class of 2012, December 2008 ballot

 

Making WebSurvey Work for the Fall

So we still can use WebSurvey to run the election in the fall, as long as we implement a new, more thorough election protocol in order to prevent and mitigate any hiccups that can (and likely will) occur.  Given this additional time, we can then develop the system to make the technology work more effectively, too.  Although I would have liked to have had something more tangible to show for our work by September, this seems to be an acceptable option, and frankly the best that we can do.

What's Next?

Although we won't be using Helios for the fall election, and we won't have a new system developed by then, we will be simultaneously developing our own system that works with Helios and continuing to accept proposals from commercial developers.

By November 1, we will stop taking proposals and then compare the proposals we receive from commercial developers with the system developed by Princeton students that interacts with Helios.  We may then choose the system developed by the students, or we may select a commercial developer to execute the system.

What's the Timeline?

Starting immediately, the IT Committee and the Election System Developers will begin developing an administrative component that will interact with Helios (I'll continue describing this below).  By the first USG senate meeting, I will have a proposed protocol for the election.  Immediately after this protocol is adopted, we will begin planning for the election, which will include a meeting with the OIT technician responsible for WebSurvey, the elections managers, certain USG representatives, and the Registrar.  The election will take place in the beginning of October, using WebSurvey.  Then, in late October, using whatever parts of the Helios-USG collaborative project that is ready, we will conduct a pilot election -- perhaps a non-binding survey, a Mr./Mrs. Princeton contest, or just a mock election.  Based on that election, we will have gained valuable insight to how we can modify the system to be even more airtight.  Then, by November 1 (or around then), we will stop taking proposals and convene to review these proposals.  Then, we will compare the Helios-USG system with the top proposals (assuming there are any), and choose the best system.  If we decide to choose a commercial developer, then we will begin developing with them.  If we choose to use the Helios-USG system, then we will continue modifying that to be ready for the winter elections.  And then we will continue tweaking the system between elections until it is officially completed.

What will the new system look like?

If you haven't already visited www.HeliosVoting.org, check it out now!  In fact, create your own sample election, and vote in it.  You'll have to login with some Google ID, like a GMail account, since the system runs on Google's servers.

componenet_and_process_mapHelios already conducts the actual voting part very well, but it lacks the candidate/advocate self-registration aspect we would like to include.  The thought I have is that the student developers will create a standalone system (I'm informally calling this part "Luna."  And yes, I know Luna is Roman, not Greek like Helios, but I think "Luna" is more mainstream than "Selene," the Greek counterpart.) that allows candidates/advocates to register for the election and the elections manager to manage these candidates.  Then, once all candidates have registered and are verified, the elections manager essentially "flips a switch" that sends all of the information over to Helios for Helios to then create the ballots and prepare for voting.  This will create a special barrier between the two systems that will keep Helios as protected as possible.

However, before we actually decide what we are going to do, I have to arrange a phone call with Dr. Adida so we can carefully plan this.

As the wise Kel Mitchell once said, and the ever-sagacious Coolio sang, "Ah, here it goes!"

 
July 28 - Catching the Wind
Projects - Elections Reform
Written by Michael Yaroshefsky   
Tuesday, 28 July 2009 14:00

There have been a few important developments recently.

1) A bid comes in

Our first bid has come in on the elections project.  I will refrain from discussing the individual bids until all of the bids we could potentially receive have been submitted so as not to give other bidders any information they shouldn't have right now.  But I'll definitely post more about all of the bids once we've stopped taking them in.

2) Dr. Felten offers his support

Dr. Felten responded to my initial email, offering to provide whatever level of support his schedule permits.  I am excited to have Dr. Felten's expert advice contributing to our project

3) Message sent to COS grads and undergrads

A message was recently sent to all COS grads and undergrads requesting all those interested in either coding or advising to contact me by Thursday.  I hope to get some positive responses.

 
July 24 - Turning the Sails
Projects - Elections Reform
Written by Michael Yaroshefsky   
Friday, 24 July 2009 13:30

After waiting for two weeks to receive bids on our RFP, I just received bad news that we received zero bids.  Zip.  Nada.  This puts us in a very bad position.

We've just spent about 2 months trying to find someone to develop the site, and after two months, we've come up with nothing more than a further-refined plan of what the system should do and how it should function, but still nobody to do it.  September 15, my unofficial deadline, is now two weeks closer and we haven't progressed much since July 9.

So where do we go from here?  First I'll take an inventory of what we do have:

What we have:

  • A very detailed specification of what the system should function like
  • A panel of supportive administrators including Ms. Griffin (Registrar) and Dean Dunne
  • The support of OIT
  • A newly-expanded team of talented IT Committee members
  • A mandate to get this system completed by the class of 2013 elections this fall

What we need:

  • Someone (or some people) who will develop the system

Given this, I'm considering what alternatives we have now.  We've been pursuing the comercial developer route, which has taken two months and yielded nothing.  I think the best alternative now would be to stop and look around.  Princeton is full of highly-talented coders who can develop this system without a sweat.  Is there a way to utilize this abundant resource?

We had already considered having students build the system, but we had decided against it when the Registrar expressed concerns about certifying results produced by a student-coded system.  Understandably, the Registrar has a reputation to protect, and it could be risky to put that reputation on the line with a system built by students.

So how can we overcome this problem?  My suggestion is that we have students develop it, but under the careful guidance of a committee of experts.  This is Princeton, and we are fortunate to have one of the nation's strongest computer science departments.  In fact, our very own Dr. Ed Felten and Dr. Andrew Appel gained national recognition by uncovering vulnerabilities in the Sequoia Advantage electronic voting machines used by the State of New Jersey.  Given all of this talent, one would think that Princeton could figure out how to run a reliable student government election...

My suggestion is that we form (very quickly!) a panel of these experts.  I have already been in contact with Dr. Brian Kernighan, a computer scientist whose reputation precedes him and the professor of COS 333, the class where students build web applications as their capstone project.  Dr. Kernighan expressed interest in the project, and recommended me to reach out to Dr. Felten and Dr. Appel.

 

 

 

 
  • «
  •  Start 
  •  Prev 
  •  1 
  •  2 
  •  3 
  •  Next 
  •  End 
  • »


Page 1 of 3
Respond to this article

Search Senators

Search Committees

Search Groups

Search Classes

Air Your Grievance

Subscribe to News