SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
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

Más contenido relacionado

Similar a 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 a 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
 

Más de 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
 

Más de 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
 

Último

Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...tanu pandey
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoordharasingh5698
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdfSuman Jyoti
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 

Último (20)

Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 

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