Next Generation Voting Nikolas Roby, Patrick Gill, Michael Williams Un
Total Page:16
File Type:pdf, Size:1020Kb
Running head: ROCK THE BLOCKCHAIN 1 Rock the Blockchain: Next Generation Voting Nikolas Roby, Patrick Gill, Michael Williams University of Maryland University College (UMUC) Author Note Thanks to our UMUC Faculty mentor, Jesse Varsalone Thanks to The Economist and Kaspersky Lab for providing the case study ROCK THE BLOCKCHAIN 2 Table of Contents Author Note .................................................................................................................................... 1 Abstract ........................................................................................................................................... 3 Overview ......................................................................................................................................... 4 The Problem ................................................................................................................................ 4 Overview of the Setup Steps ........................................................................................................... 6 Establishing Polling Stations on the Blockchain ........................................................................ 6 Issuing a Voting Wallet to Voters ............................................................................................... 7 Setting up the Election ................................................................................................................ 8 The Voting Process ......................................................................................................................... 9 Voting Under Duress ................................................................................................................ 11 Undecideds ................................................................................................................................ 12 Availability of Interim Results.................................................................................................. 12 Voting Aftermath .......................................................................................................................... 14 Vote Traceability ...................................................................................................................... 14 Conclusion .................................................................................................................................... 16 References ..................................................................................................................................... 17 ROCK THE BLOCKCHAIN 3 Abstract Current voting systems used in today’s election systems contain many flaws. These flaws stem from the ability of both the users and the monitors of the system being able to inject additional votes. These votes land in the system through a variety of different approaches, but the end goal is for the person they want elected to win. Due to these issues, the citizens of countries across the globe need and want a system they can trust and rely on. A trusted election system would grant those people the ability to be heard while feeling like their voice was loud within the many. Within this paper the writers will discuss a new system, and how to implement it with the use of blockchains. Keywords: Blockchain, Voting, Smart Contract, Sidechain, Etherium, Bitcoin ROCK THE BLOCKCHAIN 4 Overview The Problem With the current systems of voting, there are flaws that are core to the design of the electoral system. Voters go to a polling place, present an ID, and are issued a card to vote. There is a possibility that someone could cast multiple votes by going to multiple locations, or by voting for deceased voters. The biggest problem with the current generation of voting system is the lack of trust in the election process. The voting population needs to be able to trust the system, the processes, and understand that their voice is not lost. The people need to feel heard, counted and be able to verify their voice. Finally, the citizens need to be able to trust the counting process, and without bias. The next generation voting system, how would that look? The system would need to start from a foundation of trust. Paper voting is not preferred because of the human aspect of injecting additional tallies, but it does provide a trail. Recent elections in Russia have possibly shown corruption that can occur with the addition of the human element. Digital voting, however, is essentially new but needs to be built around a trust model. With voting people expect the process to be anonymous, but individuals should be able to verify the vote. Votes should be impossible to tamper with, nor, should the system note be able to be flooded with illegitimate votes. All vote counting would be performed in a publicly observable way. With the essential design of a modern voting system, the core tenet would be to remove all need for “trust,” and place strong emphasis on open verification of the process and the votes. Several years ago, a similar problem was addressed with digital currency using a concept called the blockchain. ROCK THE BLOCKCHAIN 5 The blockchain, at its essential level, is a distributed ledger of groups of transactions. Each group of transactions is hashed together, along with a hash of the previous block, and anybody can have a copy of the entire blockchain (Nakamoto, 2008). This means that all transactions can be traced, and false transactions are dropped because they don't match what other blockchain users’ copies indicate. For digital voting using a blockchain, it could record ID for both voter, person voting for, and time. Everybody can get a copy of the blockchain and verify the votes cast! A critical part is the voter IDs are not an actual name, but a random “wallet” ID, not reversible to an actual voter’s identity. With a blockchain, each “block” in the blockchain is a set of transactions that are hashed together, and the blockchain miners are essentially trying to find a hash with a number of leading zeros, by manipulating a nonce. Eventually one of the miners gets a block and it is called the proof of work, which is incorporated into each block in the blockchain. If someone manipulates the blockchain, by trying to change the amount of the transaction, it would invalidate the block, as well as all subsequent blocks. This part of which makes verification of the blockchain straightforward. ROCK THE BLOCKCHAIN 6 Figure 1 - Proof of work on the blockchain. Another interesting property of using the blockchain is the concept of a smart contract. A smart contract is a set of rules attached to a transaction. If the rules are not matched, then the transaction is not completed. These rules are implemented in a lightweight virtual machine, but essentially they allow for complex rules such as a vote must have a voter, a candidate, a time to vote by, as well as other items such as a co-signer for the vote. All of which are implemented with cryptographic signatures. Smart contracts are self-enforceable and trustless, which make them a perfect candidate to remove likely avenues of corruption. Overview of the Setup Steps Establishing Polling Stations on the Blockchain Each polling station would have a digital wallet ID, owned by polling station. Those polling stations would register their public ID with the district, and the state on a public blockchain. The registered information would include: the physical address of the polling station, phone number, hours, and the public key of the polling station wallet. This will later be used to verify the eligibility of a polling station to have that station’s votes counted. Each state will have ROCK THE BLOCKCHAIN 7 a pool of votecoins with a maximum of one coin possible for each candidate, for each of the actual registered voters. The polling stations will then be issued the amount of coins needed to distribute to the voters. The main blockchain will record a transaction of each of these votecoin being transferred. Figure 2 - Polling station registration on the blockchain. Issuing a Voting Wallet to Voters The voting process begins with an individual traveling to a polling station and providing identification of eligibility to vote. Once there, they will provide proof of eligibility to vote. The eligibility to vote, which include, but is not limited to: their full name, birth date, postal code, and identification number provided from the government. The polling station will then take a picture of the person and generate a Scrypt hash of their details with 100,000 rounds. This hash will be called a “VOTERID hash.” The Scrypt hashing algorithm will be use of being memory hard, and prevent GPU cracking (Percival, 2009). The polling station will then commit to the blockchain a transaction of the individual who has registered to vote, along with the date and ROCK THE BLOCKCHAIN 8 timestamp, and the VOTERID hash. At this point, if the VOTERID hash does not already exist on the blockchain, a fresh set of keypairs will be generated. The voter’s wallet, which consists of these public and private keypairs, will be provided in the form of printed QR codes to the now registered voter, and the keypair is not saved. This machine used to generate the wallet is completely air-gapped. The air-gapping of the system provides the prevention of internet based tampering and credibility of the system. If a voter does not want the polling station to generate their voter wallet, they may provide a unique one themselves. At this point, there will