a comparison of blockchain technologies for distributed voting

Post on 18-Jan-2017

624 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

A comparison of Blockchain Technologies for distributed votingBlockchain Vlaanderen meetup #3 June 22th, 2016

Before we start...

https://proofoflikes.be

Proof of Likes

Native mobile applications connected via a REST API

Proof of Likes

Multichain (multi asset bitcoin fork)

Generates a key pair for each app and issues 100 vote tokens

Full transparancy via the Explorer

But this is just a simple case...

Real life voting in Belgium

Guarantee full anonymity

Requirements

Guarantee full anonymity

Requirements

Required for each person of age

Guarantee full anonymity

Requirements

Required for each person of age

Tallied the same day

Guarantee full anonymity

Requirements

Required for each person of age

Tallied the same day

No physical location required

Votes are registered in the chain, if the address can be linked to a person we fail the anonymity requirement.

Challenges

Votes are registered in the chain, if the address can be linked to a person we fail the anonymity requirement.

Challenges

Only people who are eligible are allowed to vote, so the government needs to send these people a VOTE token. Which links person to an address.

Votes are registered in the chain, if the address can be linked to a person we fail the anonymity requirement.

Challenges

Only people who are eligible are allowed to vote, so the government needs to send these people a VOTE token. Which links person to an address.

All eligible people are required to vote, how do we check this without linking them to an address.

So, how could we do this?

First things first…Paper letter with a personal token Login to a portal

Generate a new anonymous address

Issue a VOTE token to that address

This action fulfils the voting duty requirement

National Registry

! this portal knows exactly who you are and can link you to the address !

Smart contracts to the rescue

• The smart contract is the only time, the login token and the generated address ever meet.

• The smart contract code can be verified on the blockchain. We can be certain that it is does not store anything except a login code being used

A matter of scale

8.000.000 eligible voters

A matter of scale

370 transactions/ second

8.000.000 eligible voters

A large public network

Validators / Miners

A semi-private network with nodes at each political party, the EU, the UN, interested parties, ...

Our options

Network

Consensus

Transaction speed

Smart contracts

Largest public network

Proof of Work

7t/s limit = 13 days!

None

Bitcoin Blockchain with Colored Coins addon

Network

Consensus

Transaction speed

Smart contracts

Private network

Configurable Proof of Work

200t/s = 11 hours

None

Multichain

Network

Consensus

Transaction speed

Smart contracts

Public network

Proof of Work

20t/s = 4.6 days

Solidity

Ethereum

Network

Consensus

Transaction speed

Smart contracts

Private network

Configurable Proof of Work

in theory 370t/s ~ in reality 20t/s = 4.6 days

Solidity

Private Ethereum

Network

Consensus

Transaction speed

Smart contracts

Public network

Proof of Importance

2t/s = 46 days

None

NEM

Network

Consensus

Transaction speed

Smart contracts

Private network

Federation

100k t/s = 80 seconds

None

BigchainDB

Network

Consensus

Transaction speed

Smart contracts

Private network

Practical Byzantine Fault tolerance

210t/s = 10h

Chaincode

Hyperledger

Most secure

Fast enough

Smart contracts

Quite a conundrum

A hybrid solution?

Public Ethereum smart contract to assign address to voters

BigchainDB to process the votes

So what do you think?

https://proofoflikes.be

Thank You

Roderik van der Veer

@r0derik

https://linkedin.com/in/roderik

+32 491 50 58 15

top related