Alok Menghrajani

Security engineer at Square. Previously co-author of Hack and put the 's' in https at Facebook. Maker of CTFs.

Home | Contact me | Github | Twitter | Facebook

Switzerland is a direct democracy. Swiss citizens are asked to vote about four times a year on decisions such as enacting new laws, challenging existing ones or electing representatives. This process is very different from the United States, where citizens elect representatives and then only have an indirect way to influence goverment decisions by lobbying or political action committees.

As a Swiss citizen living abroad, I retain the right to vote on a subset of issues. The process is however not ideal: the goverment mails a ballot, which may or may not arrive on time. I then have to find information on the topic being voted upon, which can range from health care to banks or insurance to immigration reform or pretty much anything. I may or may not have prior knowledge and opinions. Finally, I mail back my ballot, which may or may not arrive on time, and then wait for weeks to learn about the final outcome.

To summarize, the current voting process is slow and expensive for both, the goverment mailing millions of ballots and for the people who have to pay for the return mail. There is also no way to check that your vote was received and is accounted for.

I am also the member of a small association which needs its members to be involved in a general vote once a year. All the members show up in person and we vote by raising our hands. This is not an ideal system; it requires everyone to commit to being present. It also does not preserve my privacy: others can see what I'm in favor of or what I'm opposed to. On the other hand, I can check that the votes are being tallied correctly, and it's overall a very low cost solution.

A few months ago, I wrote about a auditable and anonymous voting scheme. Cryptopgraphy could be used in both these cases to allow people to vote securely, cheaply, from anywhere in the world and in a transparent way.