SlideShare a Scribd company logo
1 of 47
Download to read offline
Verifying Computations

(with secrets)

in the Blink of an Eye
Matteo Campanelli

IMDEA Software
matteo.campanelli@imdea.org
UCM, July 1st 2019
“Just Stop Owning it” —
The Rise of Cloud Computing
• Nowadays businesses usually outsource computation.

• The bulk of it is rented, remote or both.

• Service Providers (SPs) can provide storage, computation,
managed desktop, etc.

Advantages:
• Reduced infrastructure;

• Flexibility;
• Cost at scale.
Example: 

A lone PhD student can analyze large genome data 

by renting 100 computers for 10 hours.

And for less then $200.
What Risks When Delegating?
• Complexity:

the computing capabilities I’m renting are complex systems and their
execution may not always be correct.

• Incentives: 

Service Providers do not necessarily have strong incentives to ensure
correctness;

• Opaqueness (rented computers are “black boxes”):
misconfigurations, HW problems, malicious operations, etc.,

these are all hard to detect.

How can we ever trust results computed by a third party then?
Some Solutions
•Replicating
•Caveat: HW and SW configuration might be homogeneous

•Auditing (checking the responses in a small sample)
•Caveat: this doesn’t help if the failures are too infrequent

•Trusted HW
•Caveat: assumes a chain of trust/additional assumptions

Proof-based verification:
What if the server returned its results along with a (probabilistic) proof
that the results were computed correctly?
This Talk: Proofs and Computation
Part I:

Proving Correctness of Computation
• The setting
• State of the art
Part II:

Beyond correctness — Proving Knowledge of Secrets
• zkSNARKs and their applications
Part I:
Proving Correctness of Computation
Proof-based Verification —Setting
(weak) Client (powerful) Server
“Please compute function f on data D”
“Here is result y= f(D) and a proof π ”
Verify(f, D, y , π) 

=> accept/reject
Examples of functions f:
• video encoding
• ML training
• image processing
• data analysis
Proof-based Verification —Desiderata
(weak) Client (powerful) Server
“Please compute function f on data D”
“Here is result y= f(D) and a proof π ”
Desired Properties:
• short proof (succinctness)
• inexpensive to verify
• little overhead for server
Is this possible?
Would (e.g.) an average phone be able to verify
a herd of (untrusted) supercomputers?
Inside Proof-Based Verification
Long list of works:

[ALMS98, GKR08, GGPR13, …, Hyrax17, LegoSNARK19, …]
Basic Approach:
System of Equations
Single randomized equation

that client can verify efficiently
A “proof” is usually 

a cryptographic encoding of this
What Can We Achieve Nowadays?
• Very short proofs for any program (<1KB) [Groth16]
• How Efficiently?
• Verification is super fast;

• multiplication of two 1000x1000 matrices: few milliseconds

• Proving is meh (can give a 100-10000x overhead)

• matrix multiplication above: few minutes
Main Challenges
• Main challenge: reducing resources for proving.

• Example: Hashing a 13kB file (with SHA2) requires:

>256GB RAM; few hours of work.

• Some recent works in this directions:
• [WZCPS18]: Distributed generation of proofs (100x speedup)

• [CFQ19]: LegoSNARK — breaking proof generation in modular parts

• in some cases 3 orders of magnitude speedup
Part II:
Beyond Verifiable Computation —
Proving Knowledge
of Secrets
(Not So Much of)
A Toy Example: Selling Secrets
Buyer/Verifier Seller/Prover
The start of a sketchy transaction:
I know primes
p,q such that: 

N = pq
p,q
Proof that it knows p,q, such that
p,q in and N = pq
This “box” should 

a) convince Buyer (proof)

b) not reveal anything on the secrets 

(zero-knowledge)
Proofs with Secrets: Zero-Knowledge Proofs
Focus of this talk: zkSNARKs
(zk Succinct Non-Interactive Arguments of Knowledge )
Now: Zero-Knowledge Proofs
“Given data D, show me you
know secret s such that
R(D, s) holds.
Relation
“Please compute
function f on data D”
So far: Verifiable Computation
“Here is result y= f(D)
and a proof π ”
Example from before:
D was N and
s was (p,q) and
R was ~ “decryption and product"
Informally: leaks nothing except
that the relation holds.
Informally: we could efficiently “extract”
the secret from the prover.
zkSNARKs and Verifiable Computation
Techniques (and most of the efficiency) are the same:
System of Equations
Single randomized equation

that client can verify efficiently
A “proof” is usually 

a cryptographic encoding of this
To achieve ZK we “hide" secret s at this step.
NEXT: Applications.
Some General Applications
of zkSNARKs
Authenticating
Pictures
Takes original pic
Publishing
Q: Can we still authenticate pictures if we first need to (slightly) modify them?
+
Signs it
Authenticating Sensitive
Pictures
Photoshop
Takes original pics
+
Signs it
Publishing
Q: How to prove the edited pic is 

a transformation of an authentic pic?

(without leaking the original pic)
A: just use a zkSNARK stating knowledge of

“a signed pic to which blurring
has been applied.”
(What’s public data D? What’s secret s?)
Anonymous Credentials
Me
MPD
my personal data
πbank
πemployer
πlandlord
“Here is a signed and
‘encrypted' version of MPD”
MPD
signs
MPD[credit_history] is …
AND
MPDsigns
MPD[empl_history] is …
AND
MPD
signs
MPD[month_income] > …
AND
public
(What’s public data D? What’s secret s?)
Verifiable ML (from [WZCPS18])
‘encryption’
Confidential data
training

algorithm
public ML model
Research
team
The public
Problem:
can’t be released.
Then how can the public check ?
proof of:

DATA == ‘decrypt’( )
AND
model = train(DATA)
Goal: we want this ML model to
be publicly auditable.
Some
Blockchain-specific
Applications
of zkSNARKs
Brush-up on Bitcoin
a protocol to agree on exchange of tokens

(e.g. which tokens are around? Who controls a token?)
Bitcoin:
Key Property: If A gives a token to B:

1. A can’t use it again (at least consensus-wise).

2. B can use it.
A B
1 token
Little Privacy in Bitcoin
₿
A
(0x123)
B
(0x456)
(Attempts of) Pseudo-anonymity in Bitcoin: randomized addresses.
C
(0xDEF)
₿
Randomized addresses are not enough!
We can trace back transactions to the actual senders/receivers. [GKRDN17,…]
B’
(0x789)
₿
“Sending tokens
to himself”
Improving Privacy in Bitcoin
Privacy Issues of Bitcoin:
• All transactions are public (and traceable)

• Side-information (e.g. cookies…)
Possible Solutions:
• Tumblers (aka mixers or mixnets)

• Private crypto-currencies

(e.g. ZCash)
A
B
C
D
₿
₿
₿
₿
Tumblers
₿
? ?
Private Crypto-CurrenciesOur focus
Warm up:
Transactions in Bitcoin
Spent tokens

(you can’t use them again)
Existing tokens

(Once spent, they go to the right 

and “produce” a new coin)
A (0xAAA)
B (0xZZZ)
0xred
Scenario: A wants to pay B
Warm up:
Transactions in Bitcoin
Spent tokens

(you can’t use them again)
Existing tokens

(Once spent, they go to the right 

and “produce” a new coin)
A (0xAAA)
B (0xZZZ)
0xred
Public transaction reads:
“A makes spent;
B receives it as “NB: This is all public info!
Scenario: A wants to pay B
0xblue
“New coin” produced 

from 0xred
Traceable transaction in Bitcoin:
“A makes spent;
B receives it as “
Roadmap (two steps):
1. Anonymize sets of spent/existing tokens;

2. use zkSNARKs to prove we are performing a 

valid transaction.
ZCash: Anonymous Transactions
Our Goal:
- Remove receiver/sender as public;
- Keep validity of transaction.
₿
? ?
Anonymized Spent Tokens
Existing tokens

A (0xAAA)
0xred
Spent tokens

Before: completely public.
0xYellow
Owner of the coin

is not public any more
Now: somewhat private through hashing.
H_exist( )
Existing tokens

A (0xAAA)
0xred
Spent tokens

0xYellow
H_spent( )
To anonymize:
we publish the output of two hash functions 

instead of actual coins.
Transactions in ZCash
What A does to spend her coin to B:
• makes new 0xblue and send it (privately) to B
• broadcast (newtok, oldtok) where

newtok = H_exist(0xblue) 

oldtok = H_spent(0xred)

• broadcast a zkSNARK proof π to validate transaction
Proof π proves that we are spending valid token:
• H_exist(0xred) is in the set of existing tokens 

• A controls (0xred)
• oldtok == H_spent(0xred)
B (0xZZZ)
H_exist( )
Existing tokens

A (0xAAA)
0xred
Spent tokens

0xYellow
H_spent( )
newtok
oldtok
Q: How can we trust that oldtok is 

some valid old coin?
zkSNARKs in ZCash: Summary
• Bitcoin is not anonymous

• We can make it anonymous by:

• extending it with anonymized sets

• using SNARKs to prove transactions are valid without leaking sender/
receiver
Fair Exchange of Digital Goods

with Bitcoin
Buyer/Verifier Seller/Prover
I know primes
p,q such that: 

N = pq
Recall the sketchy exchange from before:
Q: What’s going to happen next?
p,q
Proof that it knows p,q, such that
p,q in and N = pq
And how to ensure fairness with no trusted party?
`
The Buyer The Seller
My
for your
My
for your
The Blockchain
The Buyer The Seller
My
for your
My
for your
How to buy a Sudoku solution[Maxwell16, CGGN17]
The Blockchain
The Buyer The Seller
My
for your
My
for your
Buyer gets
iff
Seller gets
How to buy a Sudoku solution[Maxwell16, CGGN17]
The Blockchain
The Buyer The Seller
My
for your
My
for your
How to buy a Sudoku solution[Maxwell16, CGGN17]
The Blockchain
The Buyer The Seller
My
for your
My
for your
How to buy a Sudoku solution[Maxwell16, CGGN17]
The Blockchain
The Buyer The Seller
My
for your
Proof of in
My
for your
How to buy a Sudoku solution[Maxwell16, CGGN17]
The Blockchain
The Buyer The Seller
My
for your
Now I just
need
My
for your
Proof of in
How to buy a Sudoku solution[Maxwell16, CGGN17]
The Blockchain
The Buyer The Seller
My
for your
Now I just
need
“Pay my to Seller if it
provides for ”
My
for your
Proof of in
How to buy a Sudoku solution[Maxwell16, CGGN17]
The Blockchain
The Buyer The Seller
My
for your
Now I just
need
My
for your
Proof of in
How to buy a Sudoku solution[Maxwell16, CGGN17]
“Pay my to Seller if it
provides for ”
Can’t do: too complex
for Bitcoin transactions
The Blockchain
The Buyer The Seller
My
for your
Now I just
need
My
for your
Proof of in
How to buy a Sudoku solution[Maxwell16, CGGN17]
The Blockchain
The Buyer The Seller
My
for your
Now I just
need
My
for your
y = SHA256( ) Proof of in
How to buy a Sudoku solution[Maxwell16, CGGN17]
The Blockchain
The Buyer The Seller
My
for your
Now I just
need Also extend proof to
account for
SHA256( )
My
for your
y = SHA256( ) Proof of in
How to buy a Sudoku solution[Maxwell16, CGGN17]
The Blockchain
The Buyer The Seller
My
for your
Now I just
need Also extend proof to
account for
My
for your
“Pay my to Seller if
it provides SHA-1
256(y)”
SHA256( )
y = SHA256( ) Proof of in
How to buy a Sudoku solution[Maxwell16, CGGN17]
The Blockchain
The Buyer The Seller
My
for your
Now I just
need Also extend proof to
account for
My
for your
“Pay my to Seller if
it provides SHA-1
256(y)”
SHA256( )
y = SHA256( ) Proof of in
How to buy a Sudoku solution[Maxwell16, CGGN17]
Wrapping up
• With verifiable computation we do not need trust a remote computer.

• We can give proofs of correctness that are short and quickly verifiable.

• Proving often requires a large overhead.

• Beyond Verifiable Computation: we can prove knowledge of secrets
(zkSNARKs).

• zkSNARKs have applications both to society at large and to blockchains.
Thanks! And questions?
For more info:
- visit https://github.com/scipr-lab/libsnark

- or drop me a line at matteo.campanelli@imdea.org

More Related Content

Similar to How to verify computation in the blink of an eye

Towards a Practice of Token Engineering
Towards a Practice of Token EngineeringTowards a Practice of Token Engineering
Towards a Practice of Token EngineeringTrent McConaghy
 
LST Toolkit: Exfiltration Over Sound, Light, Touch
LST Toolkit: Exfiltration Over Sound, Light, TouchLST Toolkit: Exfiltration Over Sound, Light, Touch
LST Toolkit: Exfiltration Over Sound, Light, TouchDimitry Snezhkov
 
Blockchain general presentation nov 2017 v eng
Blockchain general presentation nov 2017 v engBlockchain general presentation nov 2017 v eng
Blockchain general presentation nov 2017 v engDavid Vangulick
 
3D Materials Conference - Blockchain in 3D printing
3D Materials Conference - Blockchain in 3D printing3D Materials Conference - Blockchain in 3D printing
3D Materials Conference - Blockchain in 3D printingNikolas Taillieu
 
New Business Models enabled by Blockchain
New Business Models enabled by BlockchainNew Business Models enabled by Blockchain
New Business Models enabled by BlockchainSlash
 
Capacity Planning for fun & profit
Capacity Planning for fun & profitCapacity Planning for fun & profit
Capacity Planning for fun & profitRodrigo Campos
 
Data Democratization at Nubank
 Data Democratization at Nubank Data Democratization at Nubank
Data Democratization at NubankDatabricks
 
Blockchains for AI [With New Applications]
Blockchains for AI [With New Applications]Blockchains for AI [With New Applications]
Blockchains for AI [With New Applications]Trent McConaghy
 
How we integrate Machine Learning Algorithms into our IT Platform at Outfittery
How we integrate Machine Learning Algorithms into our IT Platform at OutfitteryHow we integrate Machine Learning Algorithms into our IT Platform at Outfittery
How we integrate Machine Learning Algorithms into our IT Platform at OutfitteryOUTFITTERY
 
Tokens, Complex Systems, and Nature
Tokens, Complex Systems, and NatureTokens, Complex Systems, and Nature
Tokens, Complex Systems, and NatureTrent McConaghy
 
Crypto & Crpyocurrencies Intro
Crypto & Crpyocurrencies IntroCrypto & Crpyocurrencies Intro
Crypto & Crpyocurrencies IntroTal Shmueli
 
Creating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from ScratchCreating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from ScratchJonathan LeBlanc
 
Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsUnderstanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsGautam Anand
 
Iota - Structure and Validation Method
Iota - Structure and Validation MethodIota - Structure and Validation Method
Iota - Structure and Validation MethodJY Chun
 
How to Build Your Own Blockchain
How to Build Your Own BlockchainHow to Build Your Own Blockchain
How to Build Your Own BlockchainLeonid Beder
 
Intro to Blockchain Slides
Intro to Blockchain SlidesIntro to Blockchain Slides
Intro to Blockchain SlidesShannon Wells
 
The State of Stream Processing
The State of Stream ProcessingThe State of Stream Processing
The State of Stream Processingconfluent
 
Introduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologiesIntroduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologiesPaweł Wacławczyk
 
Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
 

Similar to How to verify computation in the blink of an eye (20)

Towards a Practice of Token Engineering
Towards a Practice of Token EngineeringTowards a Practice of Token Engineering
Towards a Practice of Token Engineering
 
LST Toolkit: Exfiltration Over Sound, Light, Touch
LST Toolkit: Exfiltration Over Sound, Light, TouchLST Toolkit: Exfiltration Over Sound, Light, Touch
LST Toolkit: Exfiltration Over Sound, Light, Touch
 
Blockchain general presentation nov 2017 v eng
Blockchain general presentation nov 2017 v engBlockchain general presentation nov 2017 v eng
Blockchain general presentation nov 2017 v eng
 
Privacy and Neutrality v0.1.0
Privacy and Neutrality v0.1.0Privacy and Neutrality v0.1.0
Privacy and Neutrality v0.1.0
 
3D Materials Conference - Blockchain in 3D printing
3D Materials Conference - Blockchain in 3D printing3D Materials Conference - Blockchain in 3D printing
3D Materials Conference - Blockchain in 3D printing
 
New Business Models enabled by Blockchain
New Business Models enabled by BlockchainNew Business Models enabled by Blockchain
New Business Models enabled by Blockchain
 
Capacity Planning for fun & profit
Capacity Planning for fun & profitCapacity Planning for fun & profit
Capacity Planning for fun & profit
 
Data Democratization at Nubank
 Data Democratization at Nubank Data Democratization at Nubank
Data Democratization at Nubank
 
Blockchains for AI [With New Applications]
Blockchains for AI [With New Applications]Blockchains for AI [With New Applications]
Blockchains for AI [With New Applications]
 
How we integrate Machine Learning Algorithms into our IT Platform at Outfittery
How we integrate Machine Learning Algorithms into our IT Platform at OutfitteryHow we integrate Machine Learning Algorithms into our IT Platform at Outfittery
How we integrate Machine Learning Algorithms into our IT Platform at Outfittery
 
Tokens, Complex Systems, and Nature
Tokens, Complex Systems, and NatureTokens, Complex Systems, and Nature
Tokens, Complex Systems, and Nature
 
Crypto & Crpyocurrencies Intro
Crypto & Crpyocurrencies IntroCrypto & Crpyocurrencies Intro
Crypto & Crpyocurrencies Intro
 
Creating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from ScratchCreating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from Scratch
 
Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsUnderstanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
 
Iota - Structure and Validation Method
Iota - Structure and Validation MethodIota - Structure and Validation Method
Iota - Structure and Validation Method
 
How to Build Your Own Blockchain
How to Build Your Own BlockchainHow to Build Your Own Blockchain
How to Build Your Own Blockchain
 
Intro to Blockchain Slides
Intro to Blockchain SlidesIntro to Blockchain Slides
Intro to Blockchain Slides
 
The State of Stream Processing
The State of Stream ProcessingThe State of Stream Processing
The State of Stream Processing
 
Introduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologiesIntroduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologies
 
Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618
 

More from Facultad de Informática UCM

¿Por qué debemos seguir trabajando en álgebra lineal?
¿Por qué debemos seguir trabajando en álgebra lineal?¿Por qué debemos seguir trabajando en álgebra lineal?
¿Por qué debemos seguir trabajando en álgebra lineal?Facultad de Informática UCM
 
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...Facultad de Informática UCM
 
DRAC: Designing RISC-V-based Accelerators for next generation Computers
DRAC: Designing RISC-V-based Accelerators for next generation ComputersDRAC: Designing RISC-V-based Accelerators for next generation Computers
DRAC: Designing RISC-V-based Accelerators for next generation ComputersFacultad de Informática UCM
 
Tendencias en el diseño de procesadores con arquitectura Arm
Tendencias en el diseño de procesadores con arquitectura ArmTendencias en el diseño de procesadores con arquitectura Arm
Tendencias en el diseño de procesadores con arquitectura ArmFacultad de Informática UCM
 
Introduction to Quantum Computing and Quantum Service Oriented Computing
Introduction to Quantum Computing and Quantum Service Oriented ComputingIntroduction to Quantum Computing and Quantum Service Oriented Computing
Introduction to Quantum Computing and Quantum Service Oriented ComputingFacultad de Informática UCM
 
Inteligencia Artificial en la atención sanitaria del futuro
Inteligencia Artificial en la atención sanitaria del futuroInteligencia Artificial en la atención sanitaria del futuro
Inteligencia Artificial en la atención sanitaria del futuroFacultad de Informática UCM
 
Design Automation Approaches for Real-Time Edge Computing for Science Applic...
 Design Automation Approaches for Real-Time Edge Computing for Science Applic... Design Automation Approaches for Real-Time Edge Computing for Science Applic...
Design Automation Approaches for Real-Time Edge Computing for Science Applic...Facultad de Informática UCM
 
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...Facultad de Informática UCM
 
Fault-tolerance Quantum computation and Quantum Error Correction
Fault-tolerance Quantum computation and Quantum Error CorrectionFault-tolerance Quantum computation and Quantum Error Correction
Fault-tolerance Quantum computation and Quantum Error CorrectionFacultad de Informática UCM
 
Cómo construir un chatbot inteligente sin morir en el intento
Cómo construir un chatbot inteligente sin morir en el intentoCómo construir un chatbot inteligente sin morir en el intento
Cómo construir un chatbot inteligente sin morir en el intentoFacultad de Informática UCM
 
Automatic generation of hardware memory architectures for HPC
Automatic generation of hardware memory architectures for HPCAutomatic generation of hardware memory architectures for HPC
Automatic generation of hardware memory architectures for HPCFacultad de Informática UCM
 
Hardware/software security contracts: Principled foundations for building sec...
Hardware/software security contracts: Principled foundations for building sec...Hardware/software security contracts: Principled foundations for building sec...
Hardware/software security contracts: Principled foundations for building sec...Facultad de Informática UCM
 
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...Facultad de Informática UCM
 
Redes neuronales y reinforcement learning. Aplicación en energía eólica.
Redes neuronales y reinforcement learning. Aplicación en energía eólica.Redes neuronales y reinforcement learning. Aplicación en energía eólica.
Redes neuronales y reinforcement learning. Aplicación en energía eólica.Facultad de Informática UCM
 
Challenges and Opportunities for AI and Data analytics in Offshore wind
Challenges and Opportunities for AI and Data analytics in Offshore windChallenges and Opportunities for AI and Data analytics in Offshore wind
Challenges and Opportunities for AI and Data analytics in Offshore windFacultad de Informática UCM
 

More from Facultad de Informática UCM (20)

¿Por qué debemos seguir trabajando en álgebra lineal?
¿Por qué debemos seguir trabajando en álgebra lineal?¿Por qué debemos seguir trabajando en álgebra lineal?
¿Por qué debemos seguir trabajando en álgebra lineal?
 
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
 
DRAC: Designing RISC-V-based Accelerators for next generation Computers
DRAC: Designing RISC-V-based Accelerators for next generation ComputersDRAC: Designing RISC-V-based Accelerators for next generation Computers
DRAC: Designing RISC-V-based Accelerators for next generation Computers
 
uElectronics ongoing activities at ESA
uElectronics ongoing activities at ESAuElectronics ongoing activities at ESA
uElectronics ongoing activities at ESA
 
Tendencias en el diseño de procesadores con arquitectura Arm
Tendencias en el diseño de procesadores con arquitectura ArmTendencias en el diseño de procesadores con arquitectura Arm
Tendencias en el diseño de procesadores con arquitectura Arm
 
Formalizing Mathematics in Lean
Formalizing Mathematics in LeanFormalizing Mathematics in Lean
Formalizing Mathematics in Lean
 
Introduction to Quantum Computing and Quantum Service Oriented Computing
Introduction to Quantum Computing and Quantum Service Oriented ComputingIntroduction to Quantum Computing and Quantum Service Oriented Computing
Introduction to Quantum Computing and Quantum Service Oriented Computing
 
Computer Design Concepts for Machine Learning
Computer Design Concepts for Machine LearningComputer Design Concepts for Machine Learning
Computer Design Concepts for Machine Learning
 
Inteligencia Artificial en la atención sanitaria del futuro
Inteligencia Artificial en la atención sanitaria del futuroInteligencia Artificial en la atención sanitaria del futuro
Inteligencia Artificial en la atención sanitaria del futuro
 
Design Automation Approaches for Real-Time Edge Computing for Science Applic...
 Design Automation Approaches for Real-Time Edge Computing for Science Applic... Design Automation Approaches for Real-Time Edge Computing for Science Applic...
Design Automation Approaches for Real-Time Edge Computing for Science Applic...
 
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
 
Fault-tolerance Quantum computation and Quantum Error Correction
Fault-tolerance Quantum computation and Quantum Error CorrectionFault-tolerance Quantum computation and Quantum Error Correction
Fault-tolerance Quantum computation and Quantum Error Correction
 
Cómo construir un chatbot inteligente sin morir en el intento
Cómo construir un chatbot inteligente sin morir en el intentoCómo construir un chatbot inteligente sin morir en el intento
Cómo construir un chatbot inteligente sin morir en el intento
 
Automatic generation of hardware memory architectures for HPC
Automatic generation of hardware memory architectures for HPCAutomatic generation of hardware memory architectures for HPC
Automatic generation of hardware memory architectures for HPC
 
Type and proof structures for concurrency
Type and proof structures for concurrencyType and proof structures for concurrency
Type and proof structures for concurrency
 
Hardware/software security contracts: Principled foundations for building sec...
Hardware/software security contracts: Principled foundations for building sec...Hardware/software security contracts: Principled foundations for building sec...
Hardware/software security contracts: Principled foundations for building sec...
 
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
 
Do you trust your artificial intelligence system?
Do you trust your artificial intelligence system?Do you trust your artificial intelligence system?
Do you trust your artificial intelligence system?
 
Redes neuronales y reinforcement learning. Aplicación en energía eólica.
Redes neuronales y reinforcement learning. Aplicación en energía eólica.Redes neuronales y reinforcement learning. Aplicación en energía eólica.
Redes neuronales y reinforcement learning. Aplicación en energía eólica.
 
Challenges and Opportunities for AI and Data analytics in Offshore wind
Challenges and Opportunities for AI and Data analytics in Offshore windChallenges and Opportunities for AI and Data analytics in Offshore wind
Challenges and Opportunities for AI and Data analytics in Offshore wind
 

Recently uploaded

Structural Integrity Assessment Standards in Nigeria by Engr Nimot Muili
Structural Integrity Assessment Standards in Nigeria by Engr Nimot MuiliStructural Integrity Assessment Standards in Nigeria by Engr Nimot Muili
Structural Integrity Assessment Standards in Nigeria by Engr Nimot MuiliNimot Muili
 
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxTriangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxRomil Mishra
 
AntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptxAntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptxLina Kadam
 
Secure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech LabsSecure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech Labsamber724300
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...Amil baba
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionSneha Padhiar
 
70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical trainingGladiatorsKasper
 
Guardians of E-Commerce: Harnessing NLP and Machine Learning Approaches for A...
Guardians of E-Commerce: Harnessing NLP and Machine Learning Approaches for A...Guardians of E-Commerce: Harnessing NLP and Machine Learning Approaches for A...
Guardians of E-Commerce: Harnessing NLP and Machine Learning Approaches for A...IJAEMSJORNAL
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSsandhya757531
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...
March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...
March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...gerogepatton
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Sumanth A
 
22CYT12 & Chemistry for Computer Systems_Unit-II-Corrosion & its Control Meth...
22CYT12 & Chemistry for Computer Systems_Unit-II-Corrosion & its Control Meth...22CYT12 & Chemistry for Computer Systems_Unit-II-Corrosion & its Control Meth...
22CYT12 & Chemistry for Computer Systems_Unit-II-Corrosion & its Control Meth...KrishnaveniKrishnara1
 

Recently uploaded (20)

Structural Integrity Assessment Standards in Nigeria by Engr Nimot Muili
Structural Integrity Assessment Standards in Nigeria by Engr Nimot MuiliStructural Integrity Assessment Standards in Nigeria by Engr Nimot Muili
Structural Integrity Assessment Standards in Nigeria by Engr Nimot Muili
 
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptxTriangulation survey (Basic Mine Surveying)_MI10412MI.pptx
Triangulation survey (Basic Mine Surveying)_MI10412MI.pptx
 
AntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptxAntColonyOptimizationManetNetworkAODV.pptx
AntColonyOptimizationManetNetworkAODV.pptx
 
Secure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech LabsSecure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech Labs
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
 
ASME-B31.4-2019-estandar para diseño de ductos
ASME-B31.4-2019-estandar para diseño de ductosASME-B31.4-2019-estandar para diseño de ductos
ASME-B31.4-2019-estandar para diseño de ductos
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based question
 
70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training
 
Guardians of E-Commerce: Harnessing NLP and Machine Learning Approaches for A...
Guardians of E-Commerce: Harnessing NLP and Machine Learning Approaches for A...Guardians of E-Commerce: Harnessing NLP and Machine Learning Approaches for A...
Guardians of E-Commerce: Harnessing NLP and Machine Learning Approaches for A...
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...
March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...
March 2024 - Top 10 Read Articles in Artificial Intelligence and Applications...
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
 
22CYT12 & Chemistry for Computer Systems_Unit-II-Corrosion & its Control Meth...
22CYT12 & Chemistry for Computer Systems_Unit-II-Corrosion & its Control Meth...22CYT12 & Chemistry for Computer Systems_Unit-II-Corrosion & its Control Meth...
22CYT12 & Chemistry for Computer Systems_Unit-II-Corrosion & its Control Meth...
 

How to verify computation in the blink of an eye

  • 1. Verifying Computations
 (with secrets)
 in the Blink of an Eye Matteo Campanelli IMDEA Software matteo.campanelli@imdea.org UCM, July 1st 2019
  • 2. “Just Stop Owning it” — The Rise of Cloud Computing • Nowadays businesses usually outsource computation. • The bulk of it is rented, remote or both. • Service Providers (SPs) can provide storage, computation, managed desktop, etc. Advantages: • Reduced infrastructure; • Flexibility; • Cost at scale. Example: A lone PhD student can analyze large genome data by renting 100 computers for 10 hours. And for less then $200.
  • 3. What Risks When Delegating? • Complexity:
 the computing capabilities I’m renting are complex systems and their execution may not always be correct.
 • Incentives: 
 Service Providers do not necessarily have strong incentives to ensure correctness;
 • Opaqueness (rented computers are “black boxes”): misconfigurations, HW problems, malicious operations, etc.,
 these are all hard to detect. How can we ever trust results computed by a third party then?
  • 4. Some Solutions •Replicating •Caveat: HW and SW configuration might be homogeneous
 •Auditing (checking the responses in a small sample) •Caveat: this doesn’t help if the failures are too infrequent
 •Trusted HW •Caveat: assumes a chain of trust/additional assumptions
 Proof-based verification: What if the server returned its results along with a (probabilistic) proof that the results were computed correctly?
  • 5. This Talk: Proofs and Computation Part I:
 Proving Correctness of Computation • The setting • State of the art Part II:
 Beyond correctness — Proving Knowledge of Secrets • zkSNARKs and their applications
  • 7. Proof-based Verification —Setting (weak) Client (powerful) Server “Please compute function f on data D” “Here is result y= f(D) and a proof π ” Verify(f, D, y , π) 
 => accept/reject Examples of functions f: • video encoding • ML training • image processing • data analysis
  • 8. Proof-based Verification —Desiderata (weak) Client (powerful) Server “Please compute function f on data D” “Here is result y= f(D) and a proof π ” Desired Properties: • short proof (succinctness) • inexpensive to verify • little overhead for server Is this possible? Would (e.g.) an average phone be able to verify a herd of (untrusted) supercomputers?
  • 9. Inside Proof-Based Verification Long list of works:
 [ALMS98, GKR08, GGPR13, …, Hyrax17, LegoSNARK19, …] Basic Approach: System of Equations Single randomized equation
 that client can verify efficiently A “proof” is usually a cryptographic encoding of this
  • 10. What Can We Achieve Nowadays? • Very short proofs for any program (<1KB) [Groth16] • How Efficiently? • Verification is super fast; • multiplication of two 1000x1000 matrices: few milliseconds • Proving is meh (can give a 100-10000x overhead) • matrix multiplication above: few minutes
  • 11. Main Challenges • Main challenge: reducing resources for proving. • Example: Hashing a 13kB file (with SHA2) requires:
 >256GB RAM; few hours of work. • Some recent works in this directions: • [WZCPS18]: Distributed generation of proofs (100x speedup) • [CFQ19]: LegoSNARK — breaking proof generation in modular parts • in some cases 3 orders of magnitude speedup
  • 12. Part II: Beyond Verifiable Computation — Proving Knowledge of Secrets
  • 13. (Not So Much of) A Toy Example: Selling Secrets Buyer/Verifier Seller/Prover The start of a sketchy transaction: I know primes p,q such that: 
 N = pq p,q Proof that it knows p,q, such that p,q in and N = pq This “box” should 
 a) convince Buyer (proof)
 b) not reveal anything on the secrets 
 (zero-knowledge)
  • 14. Proofs with Secrets: Zero-Knowledge Proofs Focus of this talk: zkSNARKs (zk Succinct Non-Interactive Arguments of Knowledge ) Now: Zero-Knowledge Proofs “Given data D, show me you know secret s such that R(D, s) holds. Relation “Please compute function f on data D” So far: Verifiable Computation “Here is result y= f(D) and a proof π ” Example from before: D was N and s was (p,q) and R was ~ “decryption and product" Informally: leaks nothing except that the relation holds. Informally: we could efficiently “extract” the secret from the prover.
  • 15. zkSNARKs and Verifiable Computation Techniques (and most of the efficiency) are the same: System of Equations Single randomized equation
 that client can verify efficiently A “proof” is usually a cryptographic encoding of this To achieve ZK we “hide" secret s at this step. NEXT: Applications.
  • 17. Authenticating Pictures Takes original pic Publishing Q: Can we still authenticate pictures if we first need to (slightly) modify them? + Signs it
  • 18. Authenticating Sensitive Pictures Photoshop Takes original pics + Signs it Publishing Q: How to prove the edited pic is a transformation of an authentic pic? (without leaking the original pic) A: just use a zkSNARK stating knowledge of “a signed pic to which blurring has been applied.” (What’s public data D? What’s secret s?)
  • 19. Anonymous Credentials Me MPD my personal data πbank πemployer πlandlord “Here is a signed and ‘encrypted' version of MPD” MPD signs MPD[credit_history] is … AND MPDsigns MPD[empl_history] is … AND MPD signs MPD[month_income] > … AND public (What’s public data D? What’s secret s?)
  • 20. Verifiable ML (from [WZCPS18]) ‘encryption’ Confidential data training
 algorithm public ML model Research team The public Problem: can’t be released. Then how can the public check ? proof of:
 DATA == ‘decrypt’( ) AND model = train(DATA) Goal: we want this ML model to be publicly auditable.
  • 22. Brush-up on Bitcoin a protocol to agree on exchange of tokens (e.g. which tokens are around? Who controls a token?) Bitcoin: Key Property: If A gives a token to B: 1. A can’t use it again (at least consensus-wise). 2. B can use it. A B 1 token
  • 23. Little Privacy in Bitcoin ₿ A (0x123) B (0x456) (Attempts of) Pseudo-anonymity in Bitcoin: randomized addresses. C (0xDEF) ₿ Randomized addresses are not enough! We can trace back transactions to the actual senders/receivers. [GKRDN17,…] B’ (0x789) ₿ “Sending tokens to himself”
  • 24. Improving Privacy in Bitcoin Privacy Issues of Bitcoin: • All transactions are public (and traceable) • Side-information (e.g. cookies…) Possible Solutions: • Tumblers (aka mixers or mixnets) • Private crypto-currencies
 (e.g. ZCash) A B C D ₿ ₿ ₿ ₿ Tumblers ₿ ? ? Private Crypto-CurrenciesOur focus
  • 25. Warm up: Transactions in Bitcoin Spent tokens
 (you can’t use them again) Existing tokens
 (Once spent, they go to the right 
 and “produce” a new coin) A (0xAAA) B (0xZZZ) 0xred Scenario: A wants to pay B
  • 26. Warm up: Transactions in Bitcoin Spent tokens
 (you can’t use them again) Existing tokens
 (Once spent, they go to the right 
 and “produce” a new coin) A (0xAAA) B (0xZZZ) 0xred Public transaction reads: “A makes spent; B receives it as “NB: This is all public info! Scenario: A wants to pay B 0xblue “New coin” produced from 0xred
  • 27. Traceable transaction in Bitcoin: “A makes spent; B receives it as “ Roadmap (two steps): 1. Anonymize sets of spent/existing tokens; 2. use zkSNARKs to prove we are performing a 
 valid transaction. ZCash: Anonymous Transactions Our Goal: - Remove receiver/sender as public; - Keep validity of transaction. ₿ ? ?
  • 28. Anonymized Spent Tokens Existing tokens
 A (0xAAA) 0xred Spent tokens
 Before: completely public. 0xYellow Owner of the coin is not public any more Now: somewhat private through hashing. H_exist( ) Existing tokens
 A (0xAAA) 0xred Spent tokens
 0xYellow H_spent( ) To anonymize: we publish the output of two hash functions instead of actual coins.
  • 29. Transactions in ZCash What A does to spend her coin to B: • makes new 0xblue and send it (privately) to B • broadcast (newtok, oldtok) where
 newtok = H_exist(0xblue) 
 oldtok = H_spent(0xred) • broadcast a zkSNARK proof π to validate transaction Proof π proves that we are spending valid token: • H_exist(0xred) is in the set of existing tokens • A controls (0xred) • oldtok == H_spent(0xred) B (0xZZZ) H_exist( ) Existing tokens
 A (0xAAA) 0xred Spent tokens
 0xYellow H_spent( ) newtok oldtok Q: How can we trust that oldtok is some valid old coin?
  • 30. zkSNARKs in ZCash: Summary • Bitcoin is not anonymous • We can make it anonymous by: • extending it with anonymized sets • using SNARKs to prove transactions are valid without leaking sender/ receiver
  • 31. Fair Exchange of Digital Goods
 with Bitcoin Buyer/Verifier Seller/Prover I know primes p,q such that: 
 N = pq Recall the sketchy exchange from before: Q: What’s going to happen next? p,q Proof that it knows p,q, such that p,q in and N = pq And how to ensure fairness with no trusted party?
  • 32. ` The Buyer The Seller My for your My for your
  • 33. The Blockchain The Buyer The Seller My for your My for your How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 34. The Blockchain The Buyer The Seller My for your My for your Buyer gets iff Seller gets How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 35. The Blockchain The Buyer The Seller My for your My for your How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 36. The Blockchain The Buyer The Seller My for your My for your How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 37. The Blockchain The Buyer The Seller My for your Proof of in My for your How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 38. The Blockchain The Buyer The Seller My for your Now I just need My for your Proof of in How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 39. The Blockchain The Buyer The Seller My for your Now I just need “Pay my to Seller if it provides for ” My for your Proof of in How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 40. The Blockchain The Buyer The Seller My for your Now I just need My for your Proof of in How to buy a Sudoku solution[Maxwell16, CGGN17] “Pay my to Seller if it provides for ” Can’t do: too complex for Bitcoin transactions
  • 41. The Blockchain The Buyer The Seller My for your Now I just need My for your Proof of in How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 42. The Blockchain The Buyer The Seller My for your Now I just need My for your y = SHA256( ) Proof of in How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 43. The Blockchain The Buyer The Seller My for your Now I just need Also extend proof to account for SHA256( ) My for your y = SHA256( ) Proof of in How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 44. The Blockchain The Buyer The Seller My for your Now I just need Also extend proof to account for My for your “Pay my to Seller if it provides SHA-1 256(y)” SHA256( ) y = SHA256( ) Proof of in How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 45. The Blockchain The Buyer The Seller My for your Now I just need Also extend proof to account for My for your “Pay my to Seller if it provides SHA-1 256(y)” SHA256( ) y = SHA256( ) Proof of in How to buy a Sudoku solution[Maxwell16, CGGN17]
  • 46. Wrapping up • With verifiable computation we do not need trust a remote computer. • We can give proofs of correctness that are short and quickly verifiable. • Proving often requires a large overhead. • Beyond Verifiable Computation: we can prove knowledge of secrets (zkSNARKs). • zkSNARKs have applications both to society at large and to blockchains.
  • 47. Thanks! And questions? For more info: - visit https://github.com/scipr-lab/libsnark - or drop me a line at matteo.campanelli@imdea.org