SlideShare a Scribd company logo
1 of 41
Stanisław Barański
stanislaw.baranski@pg.edu.pl
https://stan.bar
Blockchain
the solution to internet voting
Agenda
Motivation

History

Bitcoin and Blockchain

Internet voting

Multi-party computation (MPC) 

My work
Motivation
• Transfer of value without trusted third party—electronic cash.

• Trust in cryptography, not in central authorities like banks. Bad people can
change law, but not math nor cryptography.

• Privacy and anonimity.

• Censorship-resistant.

• Virtual-
fi
rst currency, programmable money.
History
• eCash (David Chaum) - 1983
• Buyer buys eCash (certi
fi
cate)
from Bank.

• Buyer sends eCash (certi
fi
cate)
to Seller.

• Seller sends eCash to Bank,
which veri
fi
es if it hasn’t been
spend before and reedem eCash
adding funds to Bank’s account.
eCash
• Requires trusted third party––
Bank.
eCash
What happens when we remove
the central authority?
Double-spending problem
History
• eCash (David Chaum) - 1983

• b-money (Wei Dai) - 1998
b-money
an anonymous (pseudonymous),
distributed electronic cash system.

Every participant maintains a (separate)
database of how much money belongs to
each pseudonym.

http://www.weidai.com/bmoney.txt
b-money
How to create value
• We value only what is a scarce resource like time, electricity, trust, or gold.

• How to create arti
fi
cial scarcity?
b-money
How to create value
• We value only what is a scarce resource like time, electricity, trust, or gold.

• How to create arti
fi
cial scarcity?

• Cryptographic puzzles (problems in NP).

• Example:
fi
nd x s.t. H(x) < d, where x is a number to
fi
nd, H is a hash function,
and d is a di
ffi
culty level.
b-money
How to create value
• We value only what is a scarce resource like time, electricity, trust, or gold.

• How to create arti
fi
cial scarcity?

• Cryptographic puzzles (problems in NP).

• Example:
fi
nd x s.t. H(x) < d, where x is a number to
fi
nd, H is a hash function, and d
is a di
ffi
culty level.

• Solving such a crypto puzzle consumes electric power, which is a scarce resource
✅.

• The number of monetary units created is equal to the cost of the computing e
ff
ort in
terms of a standard basket of commodities.
How to transfer value
b-money
b-money
Solved:

- Money creation ✅

- Transfer of money ✅

Impractical assumptions:

- Assumed atomic broadcast

- 100% uptime peers, 

Not solved:

- Not byzantine fault tolerant. 

As a result, the idea was abandoned.
History
• eCash (David Chaum) - 1983

• b-money (Wei Dai) - 1998

• BitGold (Nick Szabo) - 1998/2005
BitGold
Assumes existence of distributed
timestamp services and distributed
Bitgold registry.

Money creation (proof-of-work
based + challenge string +
timestamping)
https://unenumerated.blogspot.com/2005/12/bit-gold.html
Money creation and transfers
BitGold
BitGold
Solved:

- Money creation ✅

- Transfer of money ✅

Not solved:

- Not decentralised.

- Missing incentives to keep nodes honest.

- Not byzantine-fault tolerant.

As a result, the idea was abandoned.
History
• eCash (David Chaum) - 1983

• b-money (Wei Dai) - 1998

• BitGold (Nick Szabo) - 1998/2005

• Bitcoin (Satoshi Nakamoto) - 2008
Bitcoin
First peer-to-peer electronic cash.

First to achieve global consensus in open-membership
network.

Innovations:

- Introduce the concept of blockchain as a data structure
that timestamps transactions. 

- Used proof-of-work:

- to create scare resource

- to achieve global consensus in open-membership
network (leadership election by computing power)

- to prevent Sybil attacks (vote = collective computing
power)

- to secure the network (reverting history requires 51%
computing power)
https://bitcoin.org/bitcoin.pdf
Bitcoin
Utility — easy transfer of value

De
fl
ationary — halves currency
issuance every 4 years 

Cap at 21mln, currently 17mln
(84%) in circulating supply

The law of supply and demand

Mining costs

Speculation
https://bitcoin.org/bitcoin.pdf
Where does value come from?
Transition state machine
S — states

T — transactions

Apply : S x T -> S — state transition function

Sn+1 = Apply(Sn, Tn)

Apply(state, T) = {

assert(state[Tfrom] >= Tvalue)

state[Tfrom] -= Tvalue

state[Tto] += Tvalue

}

Example:

{ Alice : 2, Bob: 8 } = Apply({ Alice : 10, Bob:
0 }, “Send 8₿ from Alice to Bob”)

Each transaction is recorded on a public, immutable and decentralized data
structure—Blockchain.
Blockchain
Think of it as a version control system
Proof-of-work
Ethereum – generalization of Bitcoin
Bitcoin 

T = (from, to, value)

Sn+1 = Apply(Sn, Tn)

Apply(state, T) = {

assert(state[Tfrom] >= Tvalue)

state[Tfrom] -= Tvalue

state[Tto] += Tvalue

}
Ethereum

T = smart contract code

Sn+1 = Apply(Sn, Tn)

Apply(Sn, Tn) = EVM(Sn, Tn)
Internet Voting
Internet Voting
Let’s give each eligible voter a right to vote



then

T = (from, to, value)

Sn+1 = Apply(Sn, Tn)

Apply(state, T) = {

assert(state[Tfrom] == true)

state[Tfrom] = false

state[Tto] += 1

}
∀voter ∈ voters state[voter] = true
Naive solution using blockchain
Internet Voting
- Correctness, all and only eligable votes are counted.

- Censorship resistance, any eligible user that wants to cast a vote can do it.

- Privacy, no one can tell which candidate the voters voted for, or even if they voted at all—
preventing preliminary results and guaranteeing freedom of choice.

- Coercion resistance, voters can not prove to anyone how they voted even if they want to—
preventing selling votes as there is no way of verifying if they indeed voted on paid candidate.
Requirements
Blockchain Voting
Privacy-preserving
Authorities prepare a voting




User encrypt a vote
T = (Tfrom, encrypt(Tvote, pubKey)), 

where 

- Tfrom is the voter public key, 

- Tvote is chosen candidate.

User cast the vote to blockchain
Apply(state, T) = {

assert(state[Tfrom] == true)

state[Tfrom] = false

state[votes] = state[votes] Tvote

}

Authorities publish privKey, so everyone can decrypt and calculate the
results.
decryptedVotes =
(privKey, pubKey) ← generateKeyPair()
∀voter ∈ voters state[voter] = true
∪
{decrypt(vote, privKey)|vote ∈ state[votes]}
Internet Voting
- Correctness, all and only eligable votes are counted.

- Censorship resistance, any eligible user that wants to cast a vote can do it.

- Privacy, no one can tell which candidate the voters voted for, or even if they voted at all—
preventing preliminary results and guaranteeing freedom of choice.

- Coercion resistance, voters can not prove to anyone how they voted even if they want to—
preventing selling votes as there is no way of verifying if they indeed voted on paid candidate.
Requirements
Improved Coercion-Resistant Electronic Elections through Deniable Re-Voting
• Users can cast multiple votes
and have the ability to change
their key.

• “as is common for electronic
voting schemes, we assume a
publicly accessible append-only
bulletin board”
Multi-party computation (MPC)
• Multi-party computation (MPC) enables a group of independent parties who
do not trust each other to jointly compute a function where is
the private input for i-th party.
f(x1, x2…xn) xi
MPC Applications
Yao’s Millionaires Problem
"Two millionaires wish to know who is richer without revealing their actual
wealth.”

So the goal is to compute where is the
fi
rst party’s private input and
is the second party’s private input. 

x1 ≤ x2 x1
x2
f(x1, x2) = x1 ≤ x2
Decentralized encryption using MPC
𝙵
𝟷
(x1, . . . , xn) =
𝙳
𝚎
𝚛
𝚒
𝚟
𝚎
𝙿
𝚞
𝚋
𝙺
𝚎
𝚢
(
𝙳
𝚎
𝚛
𝚒
𝚟
𝚎
𝙿
𝚛
𝚒
𝚟
𝙺
𝚎
𝚢
(
𝚂
𝚂
(x1, . . . , x2)))
𝙵
𝟸
(x1, . . . , xn, votes) =
𝙲
𝚘
𝚞
𝚗
𝚝
(
𝙳
𝚎
𝚌
𝚛
𝚢
𝚙
𝚝
(votes,
𝙳
𝚎
𝚛
𝚒
𝚟
𝚎
𝙿
𝚛
𝚒
𝚟
𝙺
𝚎
𝚢
(
𝚂
𝚂
(x1, . . . , x2))))
BB/Blockchain and MPC on voters’ smartphones
MPC Applications
Secure machine learning
MPC can be used to create a setting where:

A client sends an encrypted input to the server’s pre-trained model and receive
an encrypted model’s prediction.

Handy in Machine Learning as a Service (MLaaS), where users send potentially
sensitive information.

With MPC both users and the service provider can keep their data private.

Example: MiniONN (Liu et al., 2017) — “the
fi
rst approach for transforming an
existing neural network to an oblivious neural network supporting privacy-
preserving predictions with reasonable e
ffi
ciency”.
Questions?
Stanisław Barański


stanislaw.baranski@pg.edu.pl


https://stan.bar

More Related Content

Similar to Blockchain the solution to internet voting

Blockchain and Bitcoin.pptx
Blockchain and Bitcoin.pptxBlockchain and Bitcoin.pptx
Blockchain and Bitcoin.pptxssuser3ab054
 
CRYPTO CURRENCY-2022OD205.pdf
CRYPTO CURRENCY-2022OD205.pdfCRYPTO CURRENCY-2022OD205.pdf
CRYPTO CURRENCY-2022OD205.pdfJESUNPK
 
Toward Money-over-IP? From Bitcoin to M2M Money
Toward Money-over-IP? From Bitcoin to M2M MoneyToward Money-over-IP? From Bitcoin to M2M Money
Toward Money-over-IP? From Bitcoin to M2M MoneyGeorge Giaglis
 
Investment Club Presentation 1 2021
Investment Club Presentation 1 2021Investment Club Presentation 1 2021
Investment Club Presentation 1 2021SamPurcell4
 
Connecting The Block Cointelligence Academy by Dr Vince Ming
Connecting The Block   Cointelligence Academy by Dr Vince MingConnecting The Block   Cointelligence Academy by Dr Vince Ming
Connecting The Block Cointelligence Academy by Dr Vince MingCointelligence
 
Bitcoin story of programable currency
Bitcoin story of programable currencyBitcoin story of programable currency
Bitcoin story of programable currencyHossam Soffar
 
Blockchain, Bitcoin, Crypto assets, Initial Coin Offer workshop
Blockchain, Bitcoin, Crypto assets, Initial Coin Offer workshopBlockchain, Bitcoin, Crypto assets, Initial Coin Offer workshop
Blockchain, Bitcoin, Crypto assets, Initial Coin Offer workshopNext Space Pvt. Ltd
 
Blockchain 101 presentation by fstream.io
Blockchain 101 presentation by fstream.ioBlockchain 101 presentation by fstream.io
Blockchain 101 presentation by fstream.ioBaiju Devani
 
A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...vpnmentor
 
Sunstone Capital, Avalanche 2014 - Bitcoin: Primer, State of Play, Discussion
Sunstone Capital, Avalanche 2014 - Bitcoin: Primer, State of Play, DiscussionSunstone Capital, Avalanche 2014 - Bitcoin: Primer, State of Play, Discussion
Sunstone Capital, Avalanche 2014 - Bitcoin: Primer, State of Play, DiscussionYacine Ghalim
 
Bitcoin apa apa saja tentang bitcoin
Bitcoin apa apa saja tentang bitcoinBitcoin apa apa saja tentang bitcoin
Bitcoin apa apa saja tentang bitcoinseolangit7
 

Similar to Blockchain the solution to internet voting (20)

Blockchain and Bitcoin.pptx
Blockchain and Bitcoin.pptxBlockchain and Bitcoin.pptx
Blockchain and Bitcoin.pptx
 
CRYPTO CURRENCY-2022OD205.pdf
CRYPTO CURRENCY-2022OD205.pdfCRYPTO CURRENCY-2022OD205.pdf
CRYPTO CURRENCY-2022OD205.pdf
 
Crypto101.pptx
Crypto101.pptxCrypto101.pptx
Crypto101.pptx
 
Toward Money-over-IP? From Bitcoin to M2M Money
Toward Money-over-IP? From Bitcoin to M2M MoneyToward Money-over-IP? From Bitcoin to M2M Money
Toward Money-over-IP? From Bitcoin to M2M Money
 
Bitcoin presentation
Bitcoin presentationBitcoin presentation
Bitcoin presentation
 
Investment Club Presentation 1 2021
Investment Club Presentation 1 2021Investment Club Presentation 1 2021
Investment Club Presentation 1 2021
 
Let’s Talk Crypto
Let’s Talk CryptoLet’s Talk Crypto
Let’s Talk Crypto
 
Blockchain.pptx
Blockchain.pptxBlockchain.pptx
Blockchain.pptx
 
Connecting The Block Cointelligence Academy by Dr Vince Ming
Connecting The Block   Cointelligence Academy by Dr Vince MingConnecting The Block   Cointelligence Academy by Dr Vince Ming
Connecting The Block Cointelligence Academy by Dr Vince Ming
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
Bitcoin story of programable currency
Bitcoin story of programable currencyBitcoin story of programable currency
Bitcoin story of programable currency
 
Blockchain, Bitcoin, Crypto assets, Initial Coin Offer workshop
Blockchain, Bitcoin, Crypto assets, Initial Coin Offer workshopBlockchain, Bitcoin, Crypto assets, Initial Coin Offer workshop
Blockchain, Bitcoin, Crypto assets, Initial Coin Offer workshop
 
Blockchain 101 presentation by fstream.io
Blockchain 101 presentation by fstream.ioBlockchain 101 presentation by fstream.io
Blockchain 101 presentation by fstream.io
 
A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...
 
Sunstone Capital, Avalanche 2014 - Bitcoin: Primer, State of Play, Discussion
Sunstone Capital, Avalanche 2014 - Bitcoin: Primer, State of Play, DiscussionSunstone Capital, Avalanche 2014 - Bitcoin: Primer, State of Play, Discussion
Sunstone Capital, Avalanche 2014 - Bitcoin: Primer, State of Play, Discussion
 
Blockchain External.pdf
Blockchain External.pdfBlockchain External.pdf
Blockchain External.pdf
 
Bitcoin 2.0
Bitcoin 2.0 Bitcoin 2.0
Bitcoin 2.0
 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchain
 
Bitcoin apa apa saja tentang bitcoin
Bitcoin apa apa saja tentang bitcoinBitcoin apa apa saja tentang bitcoin
Bitcoin apa apa saja tentang bitcoin
 
Bitcoin
BitcoinBitcoin
Bitcoin
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Blockchain the solution to internet voting

  • 2. Agenda Motivation History Bitcoin and Blockchain Internet voting Multi-party computation (MPC) My work
  • 3. Motivation • Transfer of value without trusted third party—electronic cash. • Trust in cryptography, not in central authorities like banks. Bad people can change law, but not math nor cryptography. • Privacy and anonimity. • Censorship-resistant. • Virtual- fi rst currency, programmable money.
  • 4. History • eCash (David Chaum) - 1983
  • 5. • Buyer buys eCash (certi fi cate) from Bank. • Buyer sends eCash (certi fi cate) to Seller. • Seller sends eCash to Bank, which veri fi es if it hasn’t been spend before and reedem eCash adding funds to Bank’s account. eCash
  • 6. • Requires trusted third party–– Bank. eCash
  • 7. What happens when we remove the central authority?
  • 9. History • eCash (David Chaum) - 1983 • b-money (Wei Dai) - 1998
  • 10. b-money an anonymous (pseudonymous), distributed electronic cash system. Every participant maintains a (separate) database of how much money belongs to each pseudonym. http://www.weidai.com/bmoney.txt
  • 11. b-money How to create value • We value only what is a scarce resource like time, electricity, trust, or gold. • How to create arti fi cial scarcity?
  • 12. b-money How to create value • We value only what is a scarce resource like time, electricity, trust, or gold. • How to create arti fi cial scarcity? • Cryptographic puzzles (problems in NP). • Example: fi nd x s.t. H(x) < d, where x is a number to fi nd, H is a hash function, and d is a di ffi culty level.
  • 13. b-money How to create value • We value only what is a scarce resource like time, electricity, trust, or gold. • How to create arti fi cial scarcity? • Cryptographic puzzles (problems in NP). • Example: fi nd x s.t. H(x) < d, where x is a number to fi nd, H is a hash function, and d is a di ffi culty level. • Solving such a crypto puzzle consumes electric power, which is a scarce resource ✅. • The number of monetary units created is equal to the cost of the computing e ff ort in terms of a standard basket of commodities.
  • 14. How to transfer value b-money
  • 15. b-money Solved: - Money creation ✅ - Transfer of money ✅ Impractical assumptions: - Assumed atomic broadcast - 100% uptime peers, Not solved: - Not byzantine fault tolerant.  As a result, the idea was abandoned.
  • 16. History • eCash (David Chaum) - 1983 • b-money (Wei Dai) - 1998 • BitGold (Nick Szabo) - 1998/2005
  • 17. BitGold Assumes existence of distributed timestamp services and distributed Bitgold registry. Money creation (proof-of-work based + challenge string + timestamping) https://unenumerated.blogspot.com/2005/12/bit-gold.html
  • 18. Money creation and transfers BitGold
  • 19. BitGold Solved: - Money creation ✅ - Transfer of money ✅ Not solved: - Not decentralised. - Missing incentives to keep nodes honest. - Not byzantine-fault tolerant. As a result, the idea was abandoned.
  • 20. History • eCash (David Chaum) - 1983 • b-money (Wei Dai) - 1998 • BitGold (Nick Szabo) - 1998/2005 • Bitcoin (Satoshi Nakamoto) - 2008
  • 21. Bitcoin First peer-to-peer electronic cash. First to achieve global consensus in open-membership network. Innovations: - Introduce the concept of blockchain as a data structure that timestamps transactions.  - Used proof-of-work: - to create scare resource - to achieve global consensus in open-membership network (leadership election by computing power) - to prevent Sybil attacks (vote = collective computing power) - to secure the network (reverting history requires 51% computing power) https://bitcoin.org/bitcoin.pdf
  • 22. Bitcoin Utility — easy transfer of value De fl ationary — halves currency issuance every 4 years  Cap at 21mln, currently 17mln (84%) in circulating supply The law of supply and demand Mining costs Speculation https://bitcoin.org/bitcoin.pdf Where does value come from?
  • 23. Transition state machine S — states T — transactions Apply : S x T -> S — state transition function Sn+1 = Apply(Sn, Tn) Apply(state, T) = { assert(state[Tfrom] >= Tvalue) state[Tfrom] -= Tvalue state[Tto] += Tvalue } Example: { Alice : 2, Bob: 8 } = Apply({ Alice : 10, Bob: 0 }, “Send 8₿ from Alice to Bob”) Each transaction is recorded on a public, immutable and decentralized data structure—Blockchain.
  • 25. Think of it as a version control system
  • 27. Ethereum – generalization of Bitcoin Bitcoin  T = (from, to, value) Sn+1 = Apply(Sn, Tn) Apply(state, T) = { assert(state[Tfrom] >= Tvalue) state[Tfrom] -= Tvalue state[Tto] += Tvalue } Ethereum T = smart contract code Sn+1 = Apply(Sn, Tn) Apply(Sn, Tn) = EVM(Sn, Tn)
  • 29. Internet Voting Let’s give each eligible voter a right to vote then T = (from, to, value) Sn+1 = Apply(Sn, Tn) Apply(state, T) = { assert(state[Tfrom] == true) state[Tfrom] = false state[Tto] += 1 } ∀voter ∈ voters state[voter] = true Naive solution using blockchain
  • 30. Internet Voting - Correctness, all and only eligable votes are counted. - Censorship resistance, any eligible user that wants to cast a vote can do it. - Privacy, no one can tell which candidate the voters voted for, or even if they voted at all— preventing preliminary results and guaranteeing freedom of choice. - Coercion resistance, voters can not prove to anyone how they voted even if they want to— preventing selling votes as there is no way of verifying if they indeed voted on paid candidate. Requirements
  • 31. Blockchain Voting Privacy-preserving Authorities prepare a voting User encrypt a vote T = (Tfrom, encrypt(Tvote, pubKey)), where - Tfrom is the voter public key, - Tvote is chosen candidate. User cast the vote to blockchain Apply(state, T) = { assert(state[Tfrom] == true) state[Tfrom] = false state[votes] = state[votes] Tvote } Authorities publish privKey, so everyone can decrypt and calculate the results. decryptedVotes = (privKey, pubKey) ← generateKeyPair() ∀voter ∈ voters state[voter] = true ∪ {decrypt(vote, privKey)|vote ∈ state[votes]}
  • 32.
  • 33. Internet Voting - Correctness, all and only eligable votes are counted. - Censorship resistance, any eligible user that wants to cast a vote can do it. - Privacy, no one can tell which candidate the voters voted for, or even if they voted at all— preventing preliminary results and guaranteeing freedom of choice. - Coercion resistance, voters can not prove to anyone how they voted even if they want to— preventing selling votes as there is no way of verifying if they indeed voted on paid candidate. Requirements
  • 34. Improved Coercion-Resistant Electronic Elections through Deniable Re-Voting • Users can cast multiple votes and have the ability to change their key. • “as is common for electronic voting schemes, we assume a publicly accessible append-only bulletin board”
  • 35. Multi-party computation (MPC) • Multi-party computation (MPC) enables a group of independent parties who do not trust each other to jointly compute a function where is the private input for i-th party. f(x1, x2…xn) xi
  • 36. MPC Applications Yao’s Millionaires Problem "Two millionaires wish to know who is richer without revealing their actual wealth.” So the goal is to compute where is the fi rst party’s private input and is the second party’s private input. x1 ≤ x2 x1 x2 f(x1, x2) = x1 ≤ x2
  • 37. Decentralized encryption using MPC 𝙵 𝟷 (x1, . . . , xn) = 𝙳 𝚎 𝚛 𝚒 𝚟 𝚎 𝙿 𝚞 𝚋 𝙺 𝚎 𝚢 ( 𝙳 𝚎 𝚛 𝚒 𝚟 𝚎 𝙿 𝚛 𝚒 𝚟 𝙺 𝚎 𝚢 ( 𝚂 𝚂 (x1, . . . , x2))) 𝙵 𝟸 (x1, . . . , xn, votes) = 𝙲 𝚘 𝚞 𝚗 𝚝 ( 𝙳 𝚎 𝚌 𝚛 𝚢 𝚙 𝚝 (votes, 𝙳 𝚎 𝚛 𝚒 𝚟 𝚎 𝙿 𝚛 𝚒 𝚟 𝙺 𝚎 𝚢 ( 𝚂 𝚂 (x1, . . . , x2))))
  • 38. BB/Blockchain and MPC on voters’ smartphones
  • 39. MPC Applications Secure machine learning MPC can be used to create a setting where: A client sends an encrypted input to the server’s pre-trained model and receive an encrypted model’s prediction. Handy in Machine Learning as a Service (MLaaS), where users send potentially sensitive information. With MPC both users and the service provider can keep their data private. Example: MiniONN (Liu et al., 2017) — “the fi rst approach for transforming an existing neural network to an oblivious neural network supporting privacy- preserving predictions with reasonable e ffi ciency”.
  • 40.