Blockchain Voting: Can We Securely Vote Online?

Blockchain Voting: Can We Securely Vote Online?

By Dawson | Ethereal | 13 Nov 2020


Can online voting be secure?

Provably Fair Voting on the blockchain.
"Everyone is asking why the recent presidential polls were so inaccurate when it came to me. Because they are FAKE..." - President Donald Trump.

Trump has responded to the 2020 election results by opening lawsuits in at least 7 states for voter fraud, in Michigan alone his legal team has collected 234 pages of sworn affidavits alleging voter irregularities and voter fraud. Some of these accusations, made by citizens under penalty of purgery, include instances of: counting ballots multiple times, counting illegal ballots, and completely fabricating ballots.

Whether you believe these contentious allegations or not, it's not a secret that voting irregularities can and do happen, in fact just last week a Michigan Republican county official won re-election in a race that he had actually conceded, thinking he lost by about 100 votes — until a fixed computer glitch put him in the lead by more than 1000 votes according to the Detroit Free Press. So how can we prevent voter irregularities like this in future elections?

Can blockchain, the underlying technology behind Bitcoin, really help reduce voter fraud? Andrew Yang, a 2020 Democratic presidential candidate and blockchain advocate, certainly believes it can.

c1485ffc42cf7092f28d87919028098ef4be0e45e251a4594a8bc863155ad559.jpeg

This idea has been met with a lot of valid criticisms which I'll address later in the Criticisms of blockchain voting section but before we get to that I want to give a quick refresher on what blockchain is, why it's valuable, and how it can be used for voting.

So what is a blockchain?

blockchain noun: A system in which a record of transactions are maintained across multiple computers that are linked in a peer-to-peer network. 

"Transactions" can include any data, not strictly financial. "multiple computers" decentralizes authority, requiring consensus and preventing any single party from altering the rules, this permission-less infrastructure also prevents censorship.

76528fb0cddc51f48e12c777f62e8c5e8ae793f9d4f5f2e9b34f4d726a1099a7.jpeg

Usually blockchains have financial incentives implemented to encourage people to spend computer power validating network transactions. Ethereum, the most popular public programmable blockchain, for example charges a "gas fee" to facilitate a transaction on the network, fees are charged in Ether, the native cryptocurrency on Ethereum, these fees are then paid out to the validators (miners/stakers) for their work verifying network transactions.

What is a block?

Blocks are batches of transactions with a hash of the previous block in the chain. This links blocks together (in a chain) because hashes are cryptographically derived from the block data. This prevents fraud, because one change in any block in history would invalidate all the following blocks as all subsequent hashes would change and everyone running the blockchain would notice (and reject the change). Changing the data of an established block would require majority consensus of all the hash rate/computing power on network (51% attack).

Ethereum: The receipt of everything.

Every transaction on Ethereum is recorded forever. 

2f0f6223e013c49fd9f72979d00aafc40049551a76957e2d625013fc5a2052f6.jpeg

Above is a screenshot of publicly available information on one of my Ethereum addresses (retrieved using Etherscan), it includes my Ether balance, balances of all of my tokens that live on Ethereum, including a simulated "2024 Pres Vote" token, my ENS name if I have one (domains ending in .eth that can be used in transactions instead of "0xbde7..." addresses, I simulated "Kanye.eth"). It also shows a permanent record of address I've ever interacted with, when the interaction occurred, and what was transferred.

Votes as Ethereum Tokens (ERC20s)

ERC20s are simply tokens built on the Ethereum blockchain, popular ones include: Tether, Chainlink, BAT, and many more (almost half of the top 100 cryptocurrencies are ERC20s). Reddit, the 6th largest website by monthly traffic, is even introducing "Community Points" to select subreddits in the form of unique ERC20s.

f054d5e1e0f96598876dd36dea7455e8a0f953c7d7715cdbf2949355f3bcaa71.jpeg

“Community Points are a way for Redditors to own a piece of their favorite communities. As a unit of ownership, Points capture some of the value of their community. They can be spent on premium features and are used as a measure of reputation in the community.” -Reddit

To vote on the blockchain lets say the Federal Election Committee (FEC) creates a "2024 Presidential Vote" token and mints and distributes one to every citizen registered to vote on the blockchain. This token would also likely have a time limit in which it could be used to vote, after which it would burn itself via a smart contract. It could also burn itself if it is transacted more than once after the registered voter receives it, to prevent buying and selling votes.

Casting a vote on the blockchain would involve sending this voting token to a specific address associated with a candidate or referendum (say kanye.eth). Sending a token to that address would represent a vote. Searching a voters address on Etherscan (or similar block tracker) would allow voters to verify their vote token was sent and received (with block # & timestamps).  [0x0ceb... 1 vote → kanye.eth]. Searching a candidates dedicated address would allow you to see their vote count in real time. All traditionally collected votes should be logged this way as well so the final vote count can be viewed on a candidates Ethereum address, traditional voters should receive a receipt with their unique voting address so they may verify their vote was counted as intended. The FEC should also maintain a private database pairing voter IDs with their voting addresses which should be independently reviewed by multiple parties looking for voting irregularities (for example in a Republican vs Democrat election the GOP and DNC could both form voter fraud detection departments looking for ballots illegally logged onto the blockchain.)

 

Criticisms of blockchain voting:

  • Not everyone has a phone or internet:

This is true, until access to a voting device and basic internet are treated as rights we should allow people to vote in the traditional way, still these traditionally collected votes benefit from being logged on a public blockchain.

  • The public nature of a blockchain is a security risk to voters where secret ballots are mandated:

The reason blockchain is a highly trustworthy system is the database is public. All past transactions can be seen by anyone who requests them, and they can’t be changed without majority consensus. However this doesn't mean every transaction is identifiable to an individual, only an address. Anyone can anonymously create addresses for free, the only people who would be able to link your identity to your voter address are the people who would have access to that information anyway, which it's illegal for them to disclose without your permission.

  • It's expensive:

The 2020 election has been expensive, a drop box alone can cost $10,000 to build and install with security measures that pale in comparison to the security provided by blockchain. Between mailing, infrastructure, and labor costs the total cost of the 2020 Election was estimated to be over $4 Billion dollars. It's hard to say what a blockchain voting system would cost and what it would save, with 160M votes cast in 2020, if each vote costs $1 in gas then at $160M it's far cheaper to send votes over blockchain than it is by mail which cost an estimated $413M-$593M.

  • It's slow and difficult to scale:

This is the most valid criticism of blockchain voting and one that Reddit has also run into trying to expand Points to more of it's communities. To combat the problem Reddit is resorting to a "Layer 2", a collective term for solutions designed to help scale Ethereum applications by handling transactions off chain. As the main Ethereum network gets busier, gas prices increase as transaction senders aim to outbid each other. This can make using Ethereum slower and more expensive.

eae6788e60e5192c3fc14793a14f36282aebef11869c702083da5772a5921a22.png

Ethereum is also working on upgrading it's blockchain to "Eth 2.0" which aims to increase transaction throughput by 1000 times, which should be mostly complete by the 2024 election. Currently Ethereum processes about 1M transactions a day for $1-$2 each, so an upgrade to the network or a layer 2 solution would be required for large scale blockchain voting in the US.

 

-Dawson

Thanks for reading. Follow me for more.

(#ad) You can now earn $25 FREE BTC when you download the Voyager app and use my referral code "DAWL4A" to sign up :)

With Voyager you can trade, earn & grow your digital asset portfolio! Access 40+ coins commission-free & earn up to 6% Interest! (3% for ETH!)

How do you rate this article?

4



Ethereal
Ethereal

Everything Ethereum!

Publish0x

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.