2015-05-09

Databases and Digital Democracy

Modernising the voting system


Thursday's General Election highlighted to me just how antiquated and inefficient the voting system is in this country, requiring huge amounts of manpower and paperwork to administer with so much potential for mistakes. It's the 21st century so why are our election results still being determined by people counting marks on pieces of paper? As a computer scientist with a particular interest in databases, this seems an ideal use of such a system to me and having given it some thought, from a technical viewpoint this is actually a very simple problem that can easily be solved with current technology.


The basic principle I am proposing is a web-based ballot form powered by a simple central database. I am assuming there is already a database of registered voters that is used to produce poll cards, so the proposed system would logically be an extension of this. Each voter's poll card will contain a username and a randomly-generated password for use on the election website, which will allow them to log in once only before it is deactivated; this would require the poll cards to be placed in envelopes so those delivering them could not see the login details and impersonate the voter, but this is a minor problem.

After logging in, the voter will be presented with a simple web form containing the voting instructions, a list of the candidates for their ward or constituency and check boxes or radio buttons to cast their votes. Using a web form makes it easy to prevent errors and ballot spoiling as the voter is restricted to selecting from the available options and cannot deface the form, and the number of votes permitted in each category can be predefined as a validation constraint so if they select too many candidates the system will automatically reject their submission and tell them to try again. Once their vote has been submitted, their account will automatically be disabled so they cannot log in again and vote multiple times.

The anonymous nature of elections actually makes implementation easier as there is no requirement to record the voters' identities. A simple counter for each candidate that is incremented with each vote is sufficient, but to avoid the possibility of race conditions it may be preferable to store each vote as a separate record and total these up when the polls close, which can be executed in seconds with a simple SQL statement. Concerns over anonymity are probably the biggest issue with a computerised system; as it is necessary for the voter to identify themselves to the system by logging in, they need to be reassured that it is not in any way possible to link their identity with the record of their vote and determine who they voted for, but this could be overcome with education.

The start and end times of the polling day can be predefined in the system so voters are unable to log in before the polls open, and when they close all accounts are automatically deactivated. After closure, the database can be backed up to one or more other locations for added security and made read-only to prevent tampering. It is then a case of running a very simple aggregate query to determine the number of votes cast for each candidate, which can be done in a matter of seconds rather than spending hours manually counting ballot papers. There will be a large number of records but in terms of data objects there are actually very few: voters, candidates, wards/constituencies and votes, plus setup data such as dates and times of polling days, which voters and candidates belong to each area and how many votes are permitted, so a simple relational database would be adequate.

Given how widespread internet usage is these days, especially on mobile devices, an online system is likely to improve voter turnout, particularly among the all-important younger voters. They no longer have the inconvenience of having to either physically visit the polling station or cast their vote by post, but can vote in a matter of minutes from wherever they are. Of course, not everyone is computer-literate or has internet access, but there is a solution for these voters. I propose the traditional paper-based system to continue largely unchanged, except that the clerk will have a computer and instead of crossing the voter's name off a printed list they will mark them on the database, which deactivates their account and prevents misuse of the system by voting both online and in person. The interface will also show the clerks a list of voters who have already voted online, so these voters can be turned away if they arrive at the polling station. Optical mark recognition can then be used on the ballot papers to quickly add these results to the database and automatically reject any spoiled ballots. 

As a third alternative for those who have some degree of computer literacy but not internet access, booths can also be set up at the polling stations containing computers running the web-based system. This is an expense but they can be basic and cheap dumb terminals with nothing more than a keyboard, screen and internet connection, and of course there are considerable cost savings elsewhere by reducing the amount of printed paperwork and the number of paid clerks required to administer the polling station and count the votes. There is also less maintenance work in ensuring an adequate supply of ballot papers and pencils in the booths; as a simple example of an easily avoidable problem, a friend of mine chose a booth with the pencil missing, which couldn't have happened with a computerised system.

Data security is always cited as a reason not to use computerised systems, but I maintain that any well-designed digital system is inherently more secure than a paper one and is far less susceptible to fraud and tampering, simply because it does not rely on managing large quantities of paperwork that can easily be lost or damaged and the data is kept in a central location and never physically moves. The system can be distributed over multiple locations to ensure availability and prevent data loss, and data security is a science in itself with well established methods of encryption and access control that go far beyond the limitations of physical security devices. Ironically, shortly after writing my first draft of this article I read that Speaker of the House and my newly re-elected local MP John Bercow shares my view, having set up the Speaker's Commission on Digital Democracy to investigate the very subject of online voting for the 2020 election.

I firmly believe implementing a voting system such as this is not in any way challenging from a technical point of view, and its anonymous nature avoids most of the ethical and privacy issues that usually blight computerisation projects. Within the limits of current technology it should easily be possible to create a secure and user-friendly system that maintains the essential anonymity of democratic elections while vastly improving the efficiency of the voting system. I find it hard to believe that something as important and far-reaching as electing our country's leaders still depends so much on human beings and pieces of paper, an antiquated and inefficient system that has not changed for centuries. The election system has been left far behind by technology and it is high time it was adapted to better suit the modern world.

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...