Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: •...

32
Privacy-preserving techniques using zero knowledge proof in public Ethereum 3 November 2017 ELCA Informatique SA Nagib Aouini, Head of Cyber Security Services Dr Sonia Bogos, Cryptography Engineer Jorge Alvarado, Lead Blockchain architect, ELCA 1

Transcript of Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: •...

Page 1: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

Privacy-preserving techniques using zero

knowledge proof in public Ethereum

3 November 2017

ELCA Informatique SA

Nagib Aouini, Head of Cyber Security Services

Dr Sonia Bogos, Cryptography Engineer

Jorge Alvarado, Lead Blockchain architect, ELCA 1

Page 2: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

Agenda

― Why Privacy is important in blockchain ?

― Theory and concept around Zero Knowledge proof

― Application of zk-SNARKs in public Ethereum Blockchain

― Q & A

1

2

3

4

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 2

Page 3: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

Importance of privacy

3

• Essential human right

• Allow people exercise unique moral

choices

• Enable our societies evolved around is

healthy, and makes it more resilient and

more humane

Page 4: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright 2017

Why privacy matters

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 4

Page 5: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

Once data is embedded in the

blockchain it cannot be altered

Page 6: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

Do you think Bitcoin is still anonymous ?

• Wallet address re-use, linking your transactions

together into a single profile.

• IP address re-use.

• Combining inputs from multiple transactions,

• Using mobile wallet, effectively revealing to a third

party your full set of addresses.

Page 7: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

Following a bitcoin transaction

Page 8: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

8

Page 9: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright 2017

How to make private transaction in the blockchain

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 9

Page 10: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright 2017

Application of Zero Knowledge Proof

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 10

Source :

Page 11: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

In a Zero-knowledge (ZK) proof we have 2 participants:

• Prover - Peggy

• Verifier - Victor

The prover wants to convince the verifier that a statement is true without leaking any extra information.

E.g. the prover wants to convince the verifier that he has a secret without revealing it.

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 11

Zero-knowledge proof

Page 12: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright 2017

Zero-knowledge proof

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 12

Page 13: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

Properties of ZK proofs:

• Termination: the protocol finishes after a number of steps.

• Completeness: if the statement is true then the verifier will be convinced of this at the end of the protocol.

• Soundness: if the statement is false then it is unlikely that the verifier will be fooled.

• Zero-knowledge: at the end of the protocol no sensitive information is leaked to the verifier.

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 13

Zero-knowledge proof

Page 14: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright 2017

zkSNARK

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 14

Zero-knowledge Succinct Non-interactive ARguments of Knowledge

Zero-knowledge: proving existence of a secret without revealing it

Succinct: the communication volume is small

Non-interactive: no interaction

Arguments of Knowledge: proving that one knows the secret

Page 15: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright 2017

Non-interactive Zero-knowledge proof (NIZK)

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 15

Peggy Victor

Common Reference String

Source: https://thenounproject.com

Secret s

Proof p Verify proof p

Page 16: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright 2017

Common Reference String (CRS)

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 16

Initial parameters Trusted Setup

Common Reference String

Destroy the

parameters !

Page 17: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright 2017

Pairing on elliptic curves

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 17 Source: https://desmos.com/calculator, https://en.wikipedia.org/wiki/Swiss_passport

𝐸𝑎,𝑏 = 𝑂 ∪ { 𝑥, 𝑦 ; 𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏}

RSA (bit length) EC (bit length) Security level

1248 160 80

2048 224 112

Pairing: mathematical tool used to instantiate a NIZK

Elliptic curve:

Efficiency

Used by

Page 18: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

Homomorphic encryption allows to perform operations on sensitive data while keeping it encrypted.

Use case: secure cloud computing

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 18

𝐸𝑛𝑐 𝑚 + 𝐸𝑛𝑐 𝑛 = 𝐸𝑛𝑐(𝑚 + 𝑛)

Homomorphic evaluation/

encryption

Page 19: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright ELCA 2017

Agenda

― Privacy in Ethereum

― Byzantium

― Zk-SNARKs

― Demo

― ZoKrates

― Conclusions

1

2

3

4

5

6

There are 2 text area:

• The 1st one is for the

number of chapter. Click

on “enter” between each

number

• The 2nd one is for the name

of chapter. Click “enter”

between each text

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 19

19

Page 20: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright ELCA 2017

Self-service Business Oriented

Ethereum: public but private but

public…

20 https://pixabay.com/en/replacement-lamp-lighting-951781/

Page 21: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright ELCA 2017

Self-service Business Oriented

Byzantium what?

21 https://pixabay.com/en/replacement-lamp-lighting-951781/

Page 22: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright ELCA 2017

Self-service Business Oriented

zk-SNARKs what?

22 https://pixabay.com/en/replacement-lamp-lighting-951781/

Page 23: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright ELCA 2017

There are 2 text area:

• The 1st one is for the

number of chapter. Click

on “enter” between each

number

• The 2nd one is for the name

of chapter. Click “enter”

between each text

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 23

23

?

?

?

?

Reference: https://www.reddit.com/r/ethereum/comments/712idt/ethereum_testnet_just_verified_a_zcash_transaction/

TEST Contract

Library: Pairing

Pre-compiled EC

operations

How does it work?

Page 24: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright ELCA 2017

There are 2 text area:

• The 1st one is for the

number of chapter. Click

on “enter” between each

number

• The 2nd one is for the name

of chapter. Click “enter”

between each text

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 24

24

Demo…

Page 25: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright ELCA 2017

Self-service Business Oriented

ZoKrates… what?

25 https://pixabay.com/en/replacement-lamp-lighting-951781/

Page 26: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright ELCA 2017

There are 2 text area:

• The 1st one is for the

number of chapter. Click

on “enter” between each

number

• The 2nd one is for the name

of chapter. Click “enter”

between each text

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 26

26

ZoKrates

“… ZoKrates allows information to be obscured off the main ethereum blockchain and then

uploaded into a smart contract the network can still verify, all without exposing contract

information.”

It is another type of ethereum smart contract. A custom version of the self-executing code that runs

on top of the network, the tool serves as a way to transfer a zk-SNARKs operation onto the

blockchain and to verify that that information is valid.

Page 27: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright ELCA 2017

Conclusions

― Privacy is the holy-grail of public blockchains

― zk-SNARKs allows to verify something without knowing the details

― Byzantium fork on Ethereum brings new functionality to facilitate the verifiability of zk-SNARKS

― zk-SNARKs is difficult to grasp and even more difficult to code and automate

― More tooling is needed and ZoKrates attempts to fill the gap

There are 2 text area:

• The 1st one is for the

number of chapter. Click

on “enter” between each

number

• The 2nd one is for the name

of chapter. Click “enter”

between each text

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 27

27

Page 28: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

Innovations @ ELCA

ELCA is working on innovation projects which aim to cover the following domains:

• Cloud Security and Searchable Encryption in the cloud

• ChatBot and Natural Language processing

• BigData

• Blockchain

Page 29: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright 2017

ELCA expertise

Digital & Business

Transformation

Complexity

Reduction Modernization

Automation

& Standartisation

Time to Market

& Agility

Alignement Business

& IT Security …

MARKET CHALLENGES

PROJEKT ERFAHRUNG

Consulting

Software

Engineering

Technology

Integration

Application &

Cloud Management

BRANCHEN ERFAHRUNG

Financial

Services

Health &

Pension

Public

Administration

Defense &

Cybersecurity

Transportation &

Logistics

Retail & Other

Industries

(ex. Intern. Org,

Energy etc.)

ANGESAGTE THEMEN

IT Business

Consulting

ECM Enterprise

Content

Management

CIM Customer

Interaction

Management

Big Data &

Analytics

SaaS Service

& Operations Architecture

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 29

Page 30: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright 2017

Blockchain team

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 30

Nagib Aouini : [email protected] Blockchain Technical Advisor /

Strategist

Jorge A. Ethereum Expert

Hyperledger Smart Contract Cloud Architect

Laurent P Blockchain Java

Hyperledger Smart Contract

Architect

Reto F. Security Architect Blockchain Expert

Zurich

Head of Division / Senior Consultant

Blockchain evangelist > 10 senior manager

Sébastien P Lead Architect

Dev Team Smart contract > 10 engineers – Blockchain

– Team

– Industry

– Business expert Financial

– Industry

– Business expert

Insurance

– Industry

– Business expert

– Public sector

– Industry

– Business expert

Healthcare

Dedicated skilled Blockchain experts

Page 31: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

©copyright 2017

• Discuss Blockchain technology

• Explore customer business

model

• Show Blockchain Application

demo

• Understand Blockchain

concepts & elements

• Hands on with

Blockchain on Ethereum /

Hyperledger / Others

• Standard demo customization

• Define business challenge

• Agile iterations incrementally

build project functionality

• Enterprise integration

• Provide Blockchain Dev expert

and consulting services

Élaboration Construction

How ELCA can help on Blockchain technology

Blockchain Hands-on

Experience Blockchain

Provide Expertise and First Project

Privacy-preserving techniques using zero knowledge proof in public Ethereum - Nov 3 - BAT38 31

Page 32: Privacy-preserving techniques using zero knowledge proof in … · Properties of ZK proofs: • Termination: the protocol finishes after a number of steps. • Completeness: if the

Mr Nagib Aouini Mr Jorge Alvaradp

Head of Cyber Security Lead Blockchain Architect

[email protected] [email protected]

Tel : 021 613 2136 Tel : 021 613 2111

Confidential do not distribute 32

Dr Sonia Bogos

Crypography Engineer

[email protected]

Tel : 021 613 2111