Proofs of Replicated Storage Without Timing Assumptions Ivan - - PowerPoint PPT Presentation

proofs of replicated storage without timing assumptions
SMART_READER_LITE
LIVE PREVIEW

Proofs of Replicated Storage Without Timing Assumptions Ivan - - PowerPoint PPT Presentation

Proofs of Replicated Storage Without Timing Assumptions Ivan Damgrd, Chaya Ganesh, Claudio Orlandi @claudiorlandi Blockchain Research Applications Smart Contracts Transaction Layer Consensus Layer This talk Network Layer Motivation


slide-1
SLIDE 1

Proofs of Replicated Storage Without Timing Assumptions

Ivan Damgård, Chaya Ganesh, Claudio Orlandi @claudiorlandi

slide-2
SLIDE 2

Blockchain Research

Network Layer Consensus Layer Transaction Layer Smart Contracts Applications This talk

slide-3
SLIDE 3

Motivation…

  • Proof of Work is

wasteful!

  • Why not do “proofs of something useful?”
slide-4
SLIDE 4

4

slide-5
SLIDE 5

Replicated Storage

C

S1 S2 S3 S4

F F F F

slide-6
SLIDE 6

Replicated Storage

C

S1 S2 S3 S4

F F

slide-7
SLIDE 7

Replicated Storage

C

S1 S2 S3 S4

F F F F

What if the servers collude and store a single copy of the file?

slide-8
SLIDE 8

Related Concepts

  • Proof of Space [DFKP15], [ABFG14]

– Proves that some space has been wasted

  • Proof of Catalytic Space [Pie18]

– Proves that some space has been used - without wasting it

  • Proof of Retrievability [JK07], [SW08],

[DVW09]…

– Proves that a specific file is being stored!

slide-9
SLIDE 9

Proof of Retrievability

  • Store(x) à (t,y)
  • P(y) ⇄ V(t) à 0/1
  • |proof|< |x|
  • Soundness:

if verifier accepts, the file can be extracted

P

y

V π

Ext

P

x

t

slide-10
SLIDE 10

Proof of Retrievability

C

S1 S2 S3 S4

π π π π F F F F

For the sake of this presentation, we ignore PoR from now on (just assume retrieve = download) Gives no guarantee for multiple server (soundness only shows the file is stored once)

slide-11
SLIDE 11

Proof of Replication Requires Different Encodings

  • Encrypt everything?
  • Secure encryption looks
  • random. Cannot be de-
  • duplicated. J
  • Requires client to store

secret state. L

  • Cannot be publicly

verified L

  • Slow Encodings?
  • Enc is “slow” to compute

– [FileCoin], [Pie18], [BF?].

  • Accept proof only if

prover is “fast” à if prover is not storing file, proof will fail J

  • Requires timing

assumption L

slide-12
SLIDE 12

Our results: Replica Encoding and Proofs of Replicated Storage without Timing Assumptions

slide-13
SLIDE 13

Replica Encoding

  • rEnc(m,r) à y
  • rDec(y) à m
  • Soundness:

A1

m y1…yN state

A2

y’1…y’N

(A1,A2) wins if |state|< c |y| N’

Arbitrary constant < 1

# i: y’i=yi

slide-14
SLIDE 14

Building Replica Encoding: Tools

  • T is an invertible Random Oracle
  • (T for “All-or-Nothing Transform”)

– E.g., many rounds Feistel Cipher using RO H

Li Ri Li+1 Ri+1 Hi

+

slide-15
SLIDE 15

Building Replica Encoding: Tools

  • (E,D) is a trapdoor permutation

–E.g, RSA –The function E is public E(x) = xe mod N = y –The function D is secret D(y) = yd mod N = x

slide-16
SLIDE 16

Replica Encoding: first attempt

  • rEnc(m,r) :

–(E,D)ß Gen() –x = (m,r) –t = T(x) –z = D(t) –Output y=(z,E)

  • rDec(y)

–Parse y=(z,E) –t = E(z) –x = T-1(t) –Parse x=(m,r) –Output m

slide-17
SLIDE 17

Soundness?

  • rEnc(m,r) à y
  • rDec(y) à m
  • Soundness:

A1

m y1…yN state

A2

y’1…y’N

(A1,A2) wins if |state|< c |y| N’

Arbitrary constant < 1

# i: y’i=yi

slide-18
SLIDE 18

Soundness? (Toy proof)

A1

m y = ( E, D(T(m,r)) ) |state| = 0

A2

y’=(E,z)

T,T-1

  • A1,A2 win à y=y’

à E(z)=T(m,r) is a random number à Since |state|=0 and incompressibility à A2 must query T on (m,r) to produce z

slide-19
SLIDE 19

Soundness? (Toy proof)

A1

m y = ( E, D(T(m,r)) ) |state| = 0

A2

y’=(E,z’)

T,T-1

  • We can now use A2 to invert a TDP challenge c

à |state|=0 à A2 can’t remember T(m,r) à Program the 2nd RO S(m,r)=c !=T(m,r) à If (A1,A2) wins soundness à z’ : E(z’)=c

S,S-1

slide-20
SLIDE 20

What if |state|> 0 ?

  • If |state|> 0 the adversary may store arbitrary

information about the preimage of D(c) à we cannot embed an RSA challenge in the RO queries!

  • Idea: repeat encoding for many rounds

–y’ = (E, D(T(…(D(T(m,r))…)) )

  • If #rounds > c #replicas, there must be at least one

query from the RO that the adversary ”forgot” à use that to embed the RSA challenge.

slide-21
SLIDE 21
  • How to deal with large files

– If |m| > RSA modulo – Split in block, and use “all or nothing transform” m r T D D D D T

slide-22
SLIDE 22

Conclusion

  • We provide the first Replica Encoding which

does not require timing assumptions, and that can be publicly decoded.

– Based on simple tools: RSA and RO

  • Replica Encoding + Proof of Retrievability =

Proof of Replicated Storage

  • Our encoding requires many rounds: can you

come up with a more efficient version?