Improved voting

A verifiable and resilient voting system

Published January 31, 2020Updated May 7, 2021

Nobody is in favor of the power going down. Nobody is in favor of all cell phones not working. But an election? There are sides. Half of the country will want the result to stand and half the country will want the result overturned; they’ll decide on their course of action based on the result, not based on what’s right.

In this chapter, we’ll look at some of the problems with the way we vote and how we might use cryptocurrencies (or “the blockchain”) to make an improved voting scheme.

I say they might help because it’s not a use-case where I know they will provide value; it’s still unclear how much benefit it would bring and blockchain voting may even be a fundamentally bad idea. But as I’ll argue, there are some very good properties it can provide, so the idea isn’t so bad it can be thrown out directly.

Bush v. Gore

But why do we talk about improving voting? What’s the problem with the way we vote? Hasn’t voting on paper and having people count them worked great for us so far?

Firstly, we shouldn’t avoid looking for improvements just because the “old way” worked well. If so then we wouldn’t have faster cars, bigger TV-screens or more effective medicine—the previous versions already worked well enough. There’s always value in making something better.

But there are also serious problems with our voting system. A great example of some of them is the United States presidential election of 2000, where George W. Bush edged out Al Gore in a historically close election—at least according to Britannica, which I use as a source for the events.

To say that the election was close does it a disservice. After a day full of uncertainty, where Gore had called Bush to concede the election just to withdraw it later, it was clear Florida would be the decider. Bush appeared to have won in Florida with a margin of roughly 0.01%—a couple of hundred votes out of six million votes. This was so close that a machine recount was made, which showed that Bush had indeed won with only 327 votes!

Here we need to realize that the machines aren’t computers that just count the votes digitally. They’re machines that take the ballots, examines them and tries to figure out what vote is marked (or punched) on the ballot.

The problem here is that some of the ballots weren’t in good condition. Some ballots weren’t punched through completely (so the machines couldn’t detect the votes), others had voted for the same office multiple times or were incomplete in other ways. With the election being so close it’s easy to see that these votes could very well change the outcome. Therefore the Florida Supreme Court ruled that these questionable ballots should be recounted by hand.

Because the stakes were fairly high (an understatement I know) there was a ton of legal action, and charges of conflict of interest were pushed by both parties. At the end the U.S. Supreme Court overturned the Florida decision and put a stop to the recounting, awarded Florida’s votes to Bush and that no recount could be held in time.

So in the end the Supreme Court decided to end the election and might have changed the outcome in the process. That’s a pretty big failure of the voting system right there.

The problems with paper voting

One of the issues with the U.S. election is that there are essentially only two parties and the winner of the election takes it all. Therefore such a small difference as a couple of hundred votes did have a huge impact. If Al Gore had won, our world might have looked completely different today.

But we also saw some problems that are caused by using paper votes:

The problems with electronic voting

In order to address some of the problems with paper voting, electronic voting is growing in popularity. The benefits are clear; you avoid the problem with questionable ballots and vote counting is precise and instant. But there are significant drawbacks that make them a very bad idea:

For a convincing case against electronic voting, I recommend Jennifer Cohn’s article America’s Electronic Voting System is Corrupted to the Core.

On the other hand many of these problems can be mitigated, see the paper Public Evidence from Secret Ballots for a good rundown.

A blockchain voting system

As an alternative I’ll try to present a high level description of a blockchain voting scheme, which have some very good and beneficial properties:

The scheme is similar to tokens that we discussed in the previous chapter. Here the issuer is the government, who still needs a way to identify voters and to give them a token (a single vote). The process would be similar to how it works today, where people have their identification verified by voting officials when they go to vote.1

With the tokens distributed, you could cast a vote by sending them to predetermined addresses to cast your vote. For example if you want to vote for Trump, you send it to the Trump address. If you want to vote for Hillary, you send it to the Hillary address. And if you don’t want to vote you don’t do anything.2

One vote is given out to each person, who then sends it to their voting address of choice.
Each arrow corresponds to a token transaction and the “Hillary” and “Trump” boxes are addresses. The state is responsible for issuing the voting tokens to the voters and the voters in turn send them to the address they want to vote for. In this example Hillary got 1 vote and Trump got 2, and everyone voted.

These transactions work like cryptocurrency transactions, so you cannot counterfeit them or manufacture votes from thin air. Well, the state could issue new votes, but everyone can see exactly how many votes they give out, so if they give out more votes than eligible voters in the country… You know something is wrong.3

It’s easy to count the votes—just check how much each address holds. It’s also easy for you to see that your vote has arrived to the correct voting address, and if it did you know your vote will count.

Unsolved problems

The scheme I’ve presented is simple—too simple. There are many problems with it, some that are solvable but others that I don’t have an answer to.

Why a blockchain?

The big question to ask is why would we want voting on a blockchain anyway? Why would we want to record our votes on a permanent database, when we might even want to allow people to change their votes before the voting is over? Why design a voting a scheme on an extremely inefficient system—that all cryptocurrencies and blockchain applications are?

As pointed out in the paper Public Evidence from Secret Ballots it’s possible to create an end-to-end verifiable electronic voting scheme even without the blockchain—which isn’t surprising since the blockchain is just a database. They also say that because we already trust a central entity to give out the voting privileges, we can just trust them to publish a ledger of the events, making the blockchain obsolete.

They say a lot of other things too, and I recommend you read the paper as it goes through a lot of the difficulties and possible solutions with voting systems. It’s not as simple as I may have led you to believe.

They’re right that trust isn’t an issue, since data will be independently verified for correctness anyway, but I don’t agree that it makes a blockchain useless. A fault tolerant system—such as a blockchain—is inherently more difficult to disrupt. Because anyone can help collect, distribute and verify votes it doesn’t matter if the government’s servers gets overloaded in a Denial of Service (DoS) attack—as long as people have internet access the voting process will be uninterrupted.

While there are benefits to blockchain voting, there are many problems we need to solve first, with the privacy problem being the most important. And it’s possible that when all things are considered, maybe paper voting is best after all.