Work or Knowledge Foteini Baldimtsi, Aggelos Kiayias, Thomas - - PowerPoint PPT Presentation

โ–ถ
work or knowledge
SMART_READER_LITE
LIVE PREVIEW

Work or Knowledge Foteini Baldimtsi, Aggelos Kiayias, Thomas - - PowerPoint PPT Presentation

Indistinguishable Proofs of Work or Knowledge Foteini Baldimtsi, Aggelos Kiayias, Thomas Zacharias, Bingsheng Zhang ASIACRYPT 2016 8th December, Hanoi, Vietnam Motivation (ZK) Proofs of Knowledge - PoK Statement: Prover


slide-1
SLIDE 1

Indistinguishable Proofs of Work or Knowledge

Foteini Baldimtsi, Aggelos Kiayias, Thomas Zacharias, Bingsheng Zhang

ASIACRYPT 2016 8th December, Hanoi, Vietnam

slide-2
SLIDE 2

Motivation

slide-3
SLIDE 3

(ZK) Proofs of Knowledge - PoK

Prover Verifier Statement: ๐‘ฆ โˆˆ ๐‘€

โ‹ฎ

Accept/Reject Witness: ๐’™ 1) Completeness: the verifier always accepts a valid proof 2) PoK: for any convincing verifier, we can extract ๐’™ 3) Prover privacy is preserved via some ZK variant Accept/Reject

slide-4
SLIDE 4

Schnorr Identification โ€“ PoK of DLog

Prover Verifier Parameters: ๐‘•, ๐‘Ÿ Check if ๐‘•๐‘  = ๐‘ โˆ™ (๐‘ž๐‘™)๐‘‘ pick ๐‘ข โˆˆ ๐‘Ž๐‘Ÿ ๐‘ = ๐‘•๐‘ข ๐‘ pick ๐‘‘ โˆˆ ๐‘Ž๐‘Ÿ ๐‘‘ ๐‘  = ๐‘ข + ๐‘‘ โˆ™ ๐‘ก๐‘™ ๐‘  Statement: โˆƒ๐‘ก๐‘™: ๐‘ž๐‘™ = ๐‘•๐‘ก๐‘™ Witness: ๐‘ก๐‘™

slide-5
SLIDE 5

Schnorr Identification โ€“ PoK of DLog

Prover Verifier Parameters: ๐‘•, ๐‘Ÿ

Schnorr identification is a Sigma protocol that achieves special soundness and honest-verifier ZK

Statement: โˆƒ๐‘ก๐‘™: ๐‘ž๐‘™ = ๐‘•๐‘ก๐‘™ Witness: ๐‘ก๐‘™

slide-6
SLIDE 6

Some motivating thoughtsโ€ฆ

  • PoK of DLog convinces us that the prover

actually has the witness.

slide-7
SLIDE 7

Some motivating thoughtsโ€ฆ

  • PoK of DLog convinces us that the prover

actually has the witness.

  • But how did the prover manage to

convince us?

  • Did it run efficiently because it had

knowledge of the witness OR

  • Did it work for a (superpolynomial)

amount of a time to solve the given DLog problem?

slide-8
SLIDE 8

Reducing Spam

โ€œIf I donโ€™t know you and you want to send me a message, then you must prove that you spent, say, ten seconds of CPU time, just for me and just for this messageโ€ [DN92]

slide-9
SLIDE 9

Reducing Spam

โ€œIf I donโ€™t know you and you want to send me a message, then you must prove that you spent, say, ten seconds of CPU time, just for me and just for this messageโ€ [DN92]

Alice

Verifier

I am an approved contact

email Server

Approved contacts:

  • Alice
  • ...

Bob

slide-10
SLIDE 10

Alice

Verifier

I am an approved contact

email Server

Bob Approved contacts:

  • Alice
  • ...

Eve Not approved!

Reducing Spam

โ€œIf I donโ€™t know you and you want to send me a message, then you must prove that you spent, say, ten seconds of CPU time, just for me and just for this messageโ€ [DN92]

slide-11
SLIDE 11

Verifier

email Server

Bob Approved contacts:

  • Alice
  • ...

Eve Not approved!

Mail server distinguishes between approved and non-approved contacts!!

Reducing Spam

โ€œIf I donโ€™t know you and you want to send me a message, then you must prove that you spent, say, ten seconds of CPU time, just for me and just for this messageโ€ [DN92]

Alice I am an approved contact

slide-12
SLIDE 12

Verifier

email Server

Bob Approved contacts:

  • Alice
  • ...

Eve Not approved!

Reducing Spam

Where Email approval is done in a privacy-preserving manner!

Alice I am an approved contact

slide-13
SLIDE 13

Reducing spam in a privacy-preserving way

  • 1. For senders to have access, they must

prove that either

โ—‹ know some secret that implies their relation with the receiver OR โ—‹ has spent a certain amount of work in terms

  • f computational resources.
slide-14
SLIDE 14
  • 1. For senders to have access, they must

prove that either

โ—‹ know some secret that implies their relation with the receiver OR โ—‹ has spent a certain amount of work in terms

  • f computational resources.
  • 2. The proverโ€™s mode that provided access to

the sender, remains unknown to the mail server.

Reducing spam in a privacy-preserving way

slide-15
SLIDE 15

Proofs of Work - PoW

Task/Puzzle solution Verifier Prover Accept/Reject

slide-16
SLIDE 16

Proofs of Work - PoW

Task/Puzzle solution Verifier Prover Accept

The verifier ascertains that the prover performed some certain amount of work, given the difficulty of the puzzle parameters

slide-17
SLIDE 17

Proofs of Work or Knowledge (PoWorKs)

PoK: PoW:

Prover either knows a witness to the statement

  • r performed work to

solve a puzzle

Prover Verifier Prover Statement: ๐‘ฆ โˆˆ ๐‘€

slide-18
SLIDE 18

PoK: PoW:

Prover either knows a witness to the statement

  • r performed work to

solve a puzzle

Prover Verifier Prover

Indistinguishable

Proofs of Work or Knowledge (PoWorKs)

Statement: ๐‘ฆ โˆˆ ๐‘€

slide-19
SLIDE 19

Our contributions

slide-20
SLIDE 20

Our contributions

๏ถ We define cryptographic puzzle systems.

slide-21
SLIDE 21

Our contributions

๏ถ We define cryptographic puzzle systems. ๏ถ We define PoWorKs w.r.t. some language in NP and a fixed puzzle system.

slide-22
SLIDE 22

Our contributions

๏ถ We define cryptographic puzzle systems. ๏ถ We define PoWorKs w.r.t. some language in NP and a fixed puzzle system. ๏ถ We provide an efficient 3-move PoWorK construction.

slide-23
SLIDE 23

Our contributions

๏ถ We define cryptographic puzzle systems. ๏ถ We define PoWorKs w.r.t. some language in NP and a fixed puzzle system. ๏ถ We provide an efficient 3-move PoWorK construction. ๏ถ We provide two puzzle system instantiations

(one in the RO model and one under complexity assumptions).

slide-24
SLIDE 24

Our contributions

๏ถ We define cryptographic puzzle systems. ๏ถ We define PoWorKs w.r.t. some language in NP and a fixed puzzle system. ๏ถ We provide an efficient 3-move PoWorK construction. ๏ถ We provide two puzzle system instantiations

(one in the RO model and one under complexity assumptions).

๏ถ We present applications of PoWorKs in

  • 1. Privacy-preserving reduce spam.
  • 2. Robustness in cryptocurrencies.
  • 3. 3-round concurrently simulatable arguments of

knowledge.

slide-25
SLIDE 25

Cryptographic puzzles

slide-26
SLIDE 26

Cryptographic Puzzles

Basic properties: 1) Easy to generate and efficiently sampleable 2) Hard to solve 3) Easy to verify 4) Amortization resistant

slide-27
SLIDE 27

Cryptographic Puzzles

Basic properties: 1) Easy to generate and efficiently sampleable 2) Hard to solve 3) Easy to verify 4) Amortization resistant 5) Dense (can be sampled by just generating random strings )

slide-28
SLIDE 28

Cryptographic Puzzles

We do not restrict parallelizability of our puzzles!

slide-29
SLIDE 29

Dense Cryptographic Puzzles

  • Sample (๐’Š) โˆ’> ๐’’๐’—๐’œ โˆˆ ๐‘ธ๐‘ป
  • Solve (๐’Š, ๐’’๐’—๐’œ) โˆ’> ๐’•๐’‘๐’Ž๐’ โˆˆ ๐‘ป๐‘ธ
  • SampleSol(๐’Š) โˆ’> (๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’)
  • Verify(๐’Š, ๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’) โˆ’> ๐‘ข๐‘ ๐‘ฃ๐‘“/๐‘”๐‘๐‘š๐‘ก๐‘“

PuzSys = {Sample, Solve , SampleSol, Verify}

hardness parameter

Puzzle Space ๐‘ธ๐‘ป, Solution Space ๐‘ป๐‘ป, Hardness space ๐‘ฐ๐‘ป

slide-30
SLIDE 30

Dense Cryptographic Puzzles

  • Sample (๐’Š) โˆ’> ๐’’๐’—๐’œ โˆˆ ๐‘ธ๐‘ป
  • Solve (๐’Š, ๐’’๐’—๐’œ) โˆ’> ๐’•๐’‘๐’Ž๐’ โˆˆ ๐‘ป๐‘ธ
  • SampleSol(๐’Š) โˆ’> (๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’)
  • Verify(๐’Š, ๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’) โˆ’> ๐‘ข๐‘ ๐‘ฃ๐‘“/๐‘”๐‘๐‘š๐‘ก๐‘“

PuzSys = {Sample, Solve , SampleSol, Verify}

hardness parameter

Puzzle Space ๐‘ธ๐‘ป, Solution Space ๐‘ป๐‘ป, Hardness space ๐‘ฐ๐‘ป

slide-31
SLIDE 31

Cryptographic Puzzles Security

1) Completeness/Correctness and Efficient Sampleability of Sample and SampleSol PuzSys = {Sample, Solve, SampleSol, Verify}

slide-32
SLIDE 32

Cryptographic Puzzles Security

1) Completeness and Efficient sampleability of Sample and SampleSol

2) ๐’‰-Hardness: PuzSys = {Sample, Solve , SampleSol, Verify}

slide-33
SLIDE 33

Cryptographic Puzzles Security

1) Completeness and Efficient Sampleability of Sample and SampleSol

2) ๐’‰-Hardness: PuzSys is ๐’‰-hard, if for every adversary:

๐’’๐’—๐’œ < โˆ’ Sample (๐’Š)

๐’Š, ๐’’๐’—๐’œ ๐’•๐’‘๐’Ž๐’

Verify (๐’Š, ๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’) โˆ’> ๐‘ข๐‘ ๐‘ฃ๐‘“

๐‘ผ๐’‹๐’๐’‡๐‘ฉ๐’†๐’˜๐’‡๐’”๐’•๐’ƒ๐’”๐’›(๐’Š, ๐’’๐’—๐’œ) < ๐’‰ (๐‘ผ๐’‹๐’๐’‡๐“๐ฉ๐ฆ๐ฐ๐Ÿ(๐’Š, ๐’’๐’—๐’œ))

With negligible probability

PuzSys = {Sample, Solve , SampleSol, Verify}

slide-34
SLIDE 34

Cryptographic Puzzles Security

1) Completeness and Efficient sampleability of Sample and SampleSol 2) ๐’‰-Hardness

3) Statistical indistinguishability of Sample and SampleSol PuzSys = {Sample, Solve , SampleSol, Verify}

slide-35
SLIDE 35

Cryptographic Puzzles Security

1) Completeness and Efficient sampleability of Sample and SampleSol 2) ๐’‰-Hardness 3) Statistical indistinguishability of Sample and SampleSol

4) (๐’–, ๐’) โˆ’amortization resistance

๐’’๐’—๐’œ๐Ÿ, โ€ฆ , ๐’’๐’—๐’œ๐’ < โˆ’ Sample(๐’Š) ๐’Š, ๐’’๐’—๐’œ๐Ÿ, โ€ฆ , ๐’’๐’—๐’œ๐’ ๐’•๐’‘๐’Ž๐’๐Ÿ, โ€ฆ , ๐’•๐’‘๐’Ž๐’๐’ for all 1 < ๐‘— < ๐‘™ Verify(๐’Š, ๐’’๐’—๐’œ๐’‹, ๐’•๐’‘๐’Ž๐’๐’‹) โˆ’> ๐‘ข๐‘ ๐‘ฃ๐‘“

PuzSys = {Sample, Solve , SampleSol, Verify}

๐‘ผ๐’‹๐’๐’‡๐‘ฉ๐’†๐’˜๐’‡๐’”๐’•๐’ƒ๐’”๐’›(๐’Š, ๐’’๐’—๐’œ) < ๐’–(เท

๐’‹=๐Ÿ ๐’

๐’‰ (๐‘ผ๐’‹๐’๐’‡๐‘ป๐’‘๐’Ž๐’˜๐’‡(๐’Š, ๐’’๐’—๐’œ๐’‹)) With negligible probability

slide-36
SLIDE 36

PoWorKs

slide-37
SLIDE 37

PoWorK Definition

(๐‘„, ๐‘Š) is an f-sound PoWorK for ๐‘€ โˆˆ ๐‘ถ๐‘ธ w.r.t. witness relation ๐‘†๐‘€ and PuzSys, if it achieves the following properties:

slide-38
SLIDE 38

PoWorK Definition

(๐‘„, ๐‘Š) is an f-sound PoWorK for ๐‘€ โˆˆ ๐‘ถ๐‘ธ w.r.t. witness relation ๐‘†๐‘€ and PuzSys, if it achieves the following properties: 1) Completeness: for all ๐’š โˆˆ ๐‘€, ๐’™ โˆˆ ๐‘†๐‘€ ๐‘ฆ , ๐’œ โˆˆ 0,1

โˆ— , ๐’Š โˆˆ ๐ผ๐‘‡

Pr[< ๐‘„(๐’™) โ†” ๐‘Š > (๐’š, ๐’œ, ๐’Š); ๐‘Š โ†’ โ€œacceptโ€] = 1 โˆ’ negl(๐œ‡) & Pr[< ๐‘„Solve(h) โ†” ๐‘Š > ๐’š, ๐’œ, ๐’Š ; ๐‘Š โ†’ โ€œacceptโ€] = 1 โˆ’ negl(๐œ‡)

slide-39
SLIDE 39

PoWorK Definition

(๐‘„, ๐‘Š) is an ๐’ˆ-sound PoWorK for ๐‘€ โˆˆ ๐‘ถ๐‘ธ w.r.t. witness relation ๐‘†๐‘€ and PuzSys, if it achieves the following properties: 1) Completeness 2) ๐’ˆ-Soundness: for all ๐’š โˆˆ ๐‘€, ๐’›, ๐’œ โˆˆ 0,1

โˆ— , ๐’Š โˆˆ ๐ผ๐‘‡ and

prover ๐‘ธโ€ฒ:

  • ๐’’๐’—๐’œ โ†Sample(๐’Š)
  • < ๐‘ธโ€ฒ(๐’›) โ†” ๐‘Š > (๐’š, ๐’œ, ๐’Š)

If ๐‘Š accepts while ๐‘ˆ๐‘—๐‘›๐‘“๐‘ธโ€ฒ โ‰ค ๐’ˆ (๐‘ˆ๐‘—๐‘›๐‘“Solve(๐’Š, ๐’’๐’—๐’œ)) then โˆƒ PPT extractor ๐‘ณ s.t ๐‘ณ๐‘ธโ€ฒ(๐’š, ๐’›, ๐’œ, ๐’Š) โˆˆ ๐‘†๐‘€(๐’š)

slide-40
SLIDE 40

PoWorK Definition

(๐‘„, ๐‘Š) is an ๐’ˆ-sound PoWorK for ๐‘€ โˆˆ ๐‘ถ๐‘ธ w.r.t. witness relation ๐‘†๐‘€ and PuzSys, if it achieves the following properties: 1) Completeness 2) ๐’ˆ-Soundness 3) Stat./Comp. Indistinguishability: for all ๐’š โˆˆ ๐‘€, ๐’™ โˆˆ ๐‘†๐‘€ ๐‘ฆ , ๐’œ

โˆˆ 0,1

โˆ— , ๐’Š โˆˆ ๐ผ๐‘‡ and verifier ๐‘พโ€ฒ:

๐ฐ๐ฃ๐Ÿ๐ฑ ๐‘พโ€ฒ โ†< ๐‘„ ๐’™ โ†” ๐‘พโ€ฒ > ๐’š, ๐’œ, ๐’Š ๐ฐ๐ฃ๐Ÿ๐ฑ ๐‘พโ€ฒ โ†< PSolve(h) โ†” ๐‘พโ€ฒ > ๐’š, ๐’œ, ๐’Š

slide-41
SLIDE 41

PoWorK construction

slide-42
SLIDE 42

Trivial 4-round PoWorK construction

Verifier Prover pick puzzle ๐’’๐’—๐’œ ๐’’๐’—๐’œ

compute commitment ๐’…๐’‘๐’ s.t. ๐’…๐’‘๐’ = Commit (๐’š) + ZK: know ๐’™ that ๐’š โˆˆ ๐‘ด

OR

๐’…๐’‘๐’ = Commit (๐’•๐’‘๐’Ž)+ ZK : solved ๐’’๐’—๐’œ to sol

๐’…๐’‘๐’+ZK proof

42

Parameters: ๐‘ด, ๐’š, ๐,๐’Š

slide-43
SLIDE 43

3- round PoWorK Compiler

43

3-round special-sound HVZK

PuzSys

PoWorK

slide-44
SLIDE 44

PoWorK Compiler

44

PoWorK

PuzSys= {Sample, Solve, Verify, SampleSol}

3-move special-sound HVZK

slide-45
SLIDE 45

3-move special-sound HVZK

ฮ  = (P1,P2,Ver)

45

Verifier ๐‘€, ๐‘†๐‘€, ๐’š Prover (w) Goal: prove that (๐’š, ๐’™) โˆˆ ๐‘†๐‘€ (๐’ƒ, ๐’—) โ†P1(๐’™, ๐’š) ๐’” โ† P2(๐’…, ๐’—) ๐’ƒ ๐’… โ† ChallengeSpace 0/1 โ†Ver(๐’š, ๐’ƒ, ๐’…, ๐’”) ๐’… ๐’”

slide-46
SLIDE 46

3-move special-sound HVZK

ฮ  = (P1,P2,Ver)

46

Verifier ๐‘€, ๐‘†๐‘€, ๐’š Prover (w) Goal: prove that (๐’š, ๐’™) โˆˆ ๐‘†๐‘€ (๐’ƒโ€ฒ, ๐’—โ€ฒ) โ†P1(๐’™, ๐’š) ๐’”โ€ฒ โ† P2(๐’…โ€ฒ, ๐’—โ€ฒ) ๐’ƒโ€ฒ ๐’…โ€ฒ โ† ChallengeSpace 0/1 โ†Ver(๐’š, ๐’ƒโ€ฒ, ๐’…โ€ฒ, ๐’”โ€ฒ) ๐’…โ€ฒ ๐’”โ€ฒ

  • Completeness
  • Special Soundness: poly-time extractor K that on input (x,a,c,r) & (x,a,cโ€™,rโ€™) outputs

w s.t. (x,w) โˆˆ RL

  • HVZK: poly-time simulator Sim that on input (x) outputs an accepting (x,a,c,r) with

same distribution as P on input (x,w) and honest V

slide-47
SLIDE 47

PoWorK Compiler - PoK mode

Verifier Prover (๐’™) ๐‘€, ๐‘†๐‘€, ๐’š, ๐’Š

slide-48
SLIDE 48

PoWorK Compiler - PoK mode

Verifier Prover (๐’™)

(๐’ƒโ€ฒ, ๐’—) โ†P1(๐’™, ๐’š)

๐’ƒโ€ฒ ๐‘€, ๐‘†๐‘€, ๐’š, ๐’Š

slide-49
SLIDE 49

PoWorK Compiler - PoK mode

Verifier Prover (๐’™)

(๐’ƒโ€ฒ, ๐’—) โ†P1(๐’™, ๐’š)

๐’ƒโ€ฒ

๐’… โ† ChallengeSpace

๐’… ๐‘€, ๐‘†๐‘€, ๐’š, ๐’Š

slide-50
SLIDE 50

PoWorK Compiler - PoK mode

Verifier Prover (๐’™)

(๐’ƒโ€ฒ, ๐’—) โ†P1(๐’™, ๐’š)

๐’ƒโ€ฒ

๐’… โ† ChallengeSpace

๐’… ๐’…โ€ฒ, ๐’”โ€ฒ, ๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’

(๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’)โ†SampleSol(๐’Š) Set ๐’…โ€ฒ = ๐’… โŠ• ๐’’๐’—๐’œ ๐’”โ€ฒ โ† P2(๐’…โ€ฒ, ๐’—)

๐‘€, ๐‘†๐‘€, ๐’š, ๐’Š

slide-51
SLIDE 51

PoWorK Compiler - PoK mode

51

Verifier Prover (๐’™)

(๐’ƒโ€ฒ, ๐’—) โ†P1(๐’™, ๐’š)

๐’ƒโ€ฒ

๐’… โ† ChallengeSpace

๐’… ๐’…โ€ฒ, ๐’”โ€ฒ, ๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’

Verification

  • ๐’… = ๐’…โ€ฒ โŠ• ๐’’๐’—๐’œ
  • Ver(๐’š, ๐’ƒโ€ฒ, ๐’…โ€ฒ, ๐’”โ€ฒ)
  • Verify(๐’Š, ๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’)

(๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’)โ†SampleSol(๐’Š) Set ๐’…โ€ฒ = ๐’… โŠ• ๐’’๐’—๐’œ ๐’”โ€ฒ โ† P2(๐’…โ€ฒ, ๐’—)

๐‘€, ๐‘†๐‘€, ๐’š, ๐’Š

slide-52
SLIDE 52

Verifier Prover

PoWorK Compiler - PoW mode

๐‘€, ๐‘†๐‘€, ๐’š, ๐’Š

slide-53
SLIDE 53

Verifier Prover

(๐’ƒโ€ฒ, ๐’…โ€ฒ, ๐’”โ€ฒ) โ†Sim(๐’š)

๐’ƒโ€ฒ

PoWorK Compiler - PoW mode

๐‘€, ๐‘†๐‘€, ๐’š, ๐’Š

slide-54
SLIDE 54

Verifier Prover ๐’ƒโ€ฒ

๐’… โ† ChallengeSpace

๐’…

PoWorK Compiler - PoW mode

(๐’ƒโ€ฒ, ๐’…โ€ฒ, ๐’”โ€ฒ) โ†Sim(๐’š)

๐‘€, ๐‘†๐‘€, ๐’š, ๐’Š

slide-55
SLIDE 55

Verifier Prover ๐’ƒโ€ฒ

๐’… โ† ChallengeSpace

๐’… ๐’…โ€ฒ, ๐’”โ€ฒ, ๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’

PoWorK Compiler - PoW mode

Set ๐’’๐’—๐’œ = ๐’… โŠ• ๐’…โ€ฒ ๐’•๐’‘๐’Ž๐’โ†Solve(๐’Š, ๐’’๐’—๐’œ) (๐’ƒโ€ฒ, ๐’…โ€ฒ, ๐’”โ€ฒ) โ†Sim(๐’š)

๐‘€, ๐‘†๐‘€, ๐’š, ๐’Š

slide-56
SLIDE 56

Verifier Prover ๐’ƒโ€ฒ

๐’… โ† ChallengeSpace

๐’… ๐’…โ€ฒ, ๐’”โ€ฒ, ๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’

PoWorK Compiler - PoW mode

Set ๐’’๐’—๐’œ = ๐’… โŠ• ๐’…โ€ฒ ๐’•๐’‘๐’Ž๐’โ†Solve(๐’Š, ๐’’๐’—๐’œ) Verification

  • ๐’… = ๐’…โ€ฒ โŠ• ๐’’๐’—๐’œ
  • Ver(๐’š, ๐’ƒโ€ฒ, ๐’…โ€ฒ, ๐’”โ€ฒ)
  • Verify(๐’Š, ๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’)

(๐’ƒโ€ฒ, ๐’…โ€ฒ, ๐’”โ€ฒ) โ†Sim(๐’š)

๐‘€, ๐‘†๐‘€, ๐’š, ๐’Š

slide-57
SLIDE 57

Security of PoWorK compiler

Assumptions

  • Challenge and puzzle sampling distributions are statistically close
  • Both distributions are (statistically) invariant to any group operation โŠ•
  • Solve asymptotically dominates the protocol run

Theorem:

  • ๐‘€ language in ๐‘ถ๐‘ธ with a witness relation ๐‘†๐‘€
  • ฮ  =(P1, P2, Ver) special-sound 3-move statistical HVZK for ๐‘†๐‘€
  • PuzSys = (Sample, Solve,SampleSol , Verify)

with ๐’‰-hardness (๐‘„, ๐‘Š) is a (ฮ˜(๐’‰))-sound PoWorK with statistical indistinguishability.

slide-58
SLIDE 58

Dense Puzzle Instantiations

slide-59
SLIDE 59

Dense Puzzle Instantiations

PuzSys = (Sample,SampleSol, Solve, Verify) (1) Based on random oracles (2) Based on complexity assumptions

slide-60
SLIDE 60

Random Oracle instantiation

Assume a hash function ๐ผ: {0,1}๐œ‡ โ†’ {0,1}๐œ‡

  • Sample (๐’Š): return ๐’’๐’—๐’œ โˆˆ 0,1 ๐œ‡
  • SampleSol (๐’Š): pick ๐’š โˆˆ 0,1 ๐œ‡ and set

๐’’๐’—๐’œ = ๐‘ด๐‘ป๐‘ช๐’Š(๐ผ(๐’š)) and ๐’•๐’‘๐’Ž๐’ = ๐’š

  • Solve (๐’’๐’—๐’œ): randomly pick ๐’šโ€ฒ โˆˆ 0,1 ๐œ‡ and try whether

๐‘ด๐‘ป๐‘ช๐’Š(๐ผ ๐’šโ€ฒ ) = ๐’’๐’—๐’œ If yes, then output ๐’•๐’‘๐’Ž๐’ = ๐’šโ€ฒ

  • Verify (๐’Š, ๐’’๐’—๐’œ, ๐’•๐’‘๐’Ž๐’): check whether

๐‘ด๐‘ป๐‘ช๐’Š(๐ผ ๐’•๐’‘๐’Ž๐’ ) = ๐’’๐’—๐’œ

slide-61
SLIDE 61

Random Oracle instantiation

Theorem: For every โ„Ž โˆˆ [log2๐œ‡, ๐œ‡/4], ๐‘‘ > 2, ๐‘™ = ๐‘ƒ(

8 2๐œ‡), if H

is a RO, then the RO instantiation is a dense puzzle system with

๐‘‘ (โˆ™)- soundness and (๐‘—๐‘’, ๐‘™)-

amortization resistance.

slide-62
SLIDE 62

DLog instantiation

  • We construct target collision resistant (TCR)

strong extractors from regular universal oneway hash functions (UOWHFs).

slide-63
SLIDE 63

DLog instantiation

  • We construct target collision resistant (TCR) strong

extractors from regular universal oneway hash functions (UOWHFs).

  • We prove that given a target TCR strong extractor

๐…๐ฒ๐ฎ, and a one-way function ๐’ˆ , we get that ฮจ(๐’š, ๐‘ก๐‘“๐‘“๐‘’)=(๐…๐ฒ๐ฎ ๐’ˆ(๐’š), ๐‘ก๐‘“๐‘“๐‘’ , ๐‘ก๐‘“๐‘“๐‘’ ) is a dense one-way function (i.e. its output is close to uniform)

slide-64
SLIDE 64

DLog instantiation

  • We construct target collision resistant (TCR) strong

extractors from regular universal oneway hash functions (UOWHFs).

  • We prove that given a target TCR strong extractor ๐…๐ฒ๐ฎ,

and a one-way function ๐’ˆ , we get that ฮจ(๐’š, ๐‘ก๐‘“๐‘“๐‘’)=(๐…๐ฒ๐ฎ ๐’ˆ(๐‘ฆ), ๐‘ก๐‘“๐‘“๐‘’ , ๐‘ก๐‘“๐‘“๐‘’) is a dense one-way function

  • Given randomness ๐’” and hardness parameter ๐’Š

we set the puzzle ๐’’๐’—๐’œ = ๐…๐ฒ๐ฎ ๐„๐Œ๐ฉ๐ก

_๐Ÿ ๐’š + ๐’” , ๐‘ก๐‘“๐‘“๐‘’) , ๐‘ก๐‘“๐‘“๐‘’, ๐’”

with solution ๐’•๐’‘๐’Ž๐’ = ๐’š โˆˆ {0,1}๐’Š

slide-65
SLIDE 65

DLog instantiation

Theorem: For every โ„Ž โˆˆ [2log4๐œ‡, log5๐œ‡], ๐‘‘ > 2, ๐‘™ = ๐‘ƒ(2log3๐œ‡), if the TCR property of Ext is ๐‘ƒ( 2โ„Ž) โˆ’secure and DLog is ๐‘ƒ(

๐‘‘ 2โ„Ž) โˆ’ hard, then the DLog instantiation

is a dense puzzle system with

๐‘‘ (โˆ™)- soundness

and (๐‘—๐‘’, ๐‘™)-amortization resistance.

slide-66
SLIDE 66

PoWorK applications

slide-67
SLIDE 67

Privacy-Preserving Reducing Spam

Verifier

email Server

PoWorK PoWorK Mail server cannot distinguish between approved contacts or not

email Server

Bob

โ€œIf I donโ€™t know you and you want to send me a message, then you must prove that you spent, say, ten seconds of CPU time, just for me and just for this messageโ€ [DN92]

slide-68
SLIDE 68

Cryptocurrencies with enhanced liveness

Most blockchains are maintained via proofs of work

slide-69
SLIDE 69

But...recent suggestions exist that are based in signatures/ proofs of knowledge

Cryptocurrencies with enhanced liveness

slide-70
SLIDE 70

Hybrid PoW - PoK Cryptocurrencies

OR

Cryptocurrencies with enhanced liveness

slide-71
SLIDE 71

Hybrid PoW - PoK Cryptocurrencies

OR

Cryptocurrencies with enhanced liveness

The ledger remains live even if many miners go

  • ffline
slide-72
SLIDE 72

Hybrid PoW - PoK Cryptocurrencies

OR

Cryptocurrencies with enhanced liveness

A trusted party could issue blocks in case of such emergency

slide-73
SLIDE 73

Hybrid PoW - PoK Cryptocurrencies

OR

Cryptocurrencies with enhanced liveness

the trusted partyโ€™s involvement will be unnoticed and hence will have no impact to the economy that the cryptocurrency supports

slide-74
SLIDE 74

3-round concurrently simulatable arguments of knowledge

  • We show that under reasonable

assumptions our 3-move PoWorK construction is straight-line simulatable in ๐‘ƒ(๐œ‡poly(log๐œ‡)) time.

  • ๐œ‡poly(log๐œ‡) is closed under polynomial.
  • By the results of Pass, our PoWorK

construction is a 3-round concurrently simulatable argument of knowledge.

slide-75
SLIDE 75

Conclusions and Future Work

slide-76
SLIDE 76

Conclusions

  • We define PoWorKs, a meaningful novel

class of interactive proof systems.

  • We define and instantiate cryptographic

puzzle systems.

  • We provide an efficient 3-round PoWorK

construction.

  • We motivate the applicability of PoWorKs

via real-world and theoretic applications.

slide-77
SLIDE 77

Future directions

  • Alternative PoWorK constructions.
  • Relation of PoWorKs with other

complexity classes.

  • Applications of PoWorKs in real-world

scenarios.

  • Puzzle system instantiations.
slide-78
SLIDE 78

๐‘ผ๐’Š๐’ƒ๐’๐’ ๐’›๐’‘๐’—!!!

slide-79
SLIDE 79

Indistinguishable Proofs of Work or Knowledge

Foteini Baldimtsi, Aggelos Kiayias, Thomas Zacharias, Bingsheng Zhang

ASIACRYPT 2016 8th December, Hanoi, Vietnam