a comparison of blockchain technologies for distributed voting

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

Upload: roderik-van-der-veer

Post on 18-Jan-2017

626 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: A comparison of blockchain technologies for distributed voting

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

Page 2: A comparison of blockchain technologies for distributed voting

Before we start...

Page 3: A comparison of blockchain technologies for distributed voting

https://proofoflikes.be

Proof of Likes

Page 4: A comparison of blockchain technologies for distributed voting

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

Page 5: A comparison of blockchain technologies for distributed voting

But this is just a simple case...

Page 6: A comparison of blockchain technologies for distributed voting

Real life voting in Belgium

Page 7: A comparison of blockchain technologies for distributed voting

Guarantee full anonymity

Requirements

Page 8: A comparison of blockchain technologies for distributed voting

Guarantee full anonymity

Requirements

Required for each person of age

Page 9: A comparison of blockchain technologies for distributed voting

Guarantee full anonymity

Requirements

Required for each person of age

Tallied the same day

Page 10: A comparison of blockchain technologies for distributed voting

Guarantee full anonymity

Requirements

Required for each person of age

Tallied the same day

No physical location required

Page 11: A comparison of blockchain technologies for distributed voting

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

Challenges

Page 12: A comparison of blockchain technologies for distributed voting

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.

Page 13: A comparison of blockchain technologies for distributed voting

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.

Page 14: A comparison of blockchain technologies for distributed voting

So, how could we do this?

Page 15: A comparison of blockchain technologies for distributed voting

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 !

Page 16: A comparison of blockchain technologies for distributed voting

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

Page 17: A comparison of blockchain technologies for distributed voting

A matter of scale

8.000.000 eligible voters

Page 18: A comparison of blockchain technologies for distributed voting

A matter of scale

370 transactions/ second

8.000.000 eligible voters

Page 19: A comparison of blockchain technologies for distributed voting

A large public network

Validators / Miners

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

Page 20: A comparison of blockchain technologies for distributed voting

Our options

Page 21: A comparison of blockchain technologies for distributed voting

Network

Consensus

Transaction speed

Smart contracts

Largest public network

Proof of Work

7t/s limit = 13 days!

None

Bitcoin Blockchain with Colored Coins addon

Page 22: A comparison of blockchain technologies for distributed voting

Network

Consensus

Transaction speed

Smart contracts

Private network

Configurable Proof of Work

200t/s = 11 hours

None

Multichain

Page 23: A comparison of blockchain technologies for distributed voting

Network

Consensus

Transaction speed

Smart contracts

Public network

Proof of Work

20t/s = 4.6 days

Solidity

Ethereum

Page 24: A comparison of blockchain technologies for distributed voting

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

Page 25: A comparison of blockchain technologies for distributed voting

Network

Consensus

Transaction speed

Smart contracts

Public network

Proof of Importance

2t/s = 46 days

None

NEM

Page 26: A comparison of blockchain technologies for distributed voting

Network

Consensus

Transaction speed

Smart contracts

Private network

Federation

100k t/s = 80 seconds

None

BigchainDB

Page 27: A comparison of blockchain technologies for distributed voting

Network

Consensus

Transaction speed

Smart contracts

Private network

Practical Byzantine Fault tolerance

210t/s = 10h

Chaincode

Hyperledger

Page 28: A comparison of blockchain technologies for distributed voting

Most secure

Fast enough

Smart contracts

Quite a conundrum

Page 29: A comparison of blockchain technologies for distributed voting

A hybrid solution?

Page 30: A comparison of blockchain technologies for distributed voting

Public Ethereum smart contract to assign address to voters

BigchainDB to process the votes

Page 31: A comparison of blockchain technologies for distributed voting

So what do you think?

https://proofoflikes.be

Page 32: A comparison of blockchain technologies for distributed voting

Thank You

Roderik van der Veer

@r0derik

https://linkedin.com/in/roderik

+32 491 50 58 15