proofs of replicated storage without timing assumptions
play

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


  1. Proofs of Replicated Storage Without Timing Assumptions Ivan Damgård, Chaya Ganesh, Claudio Orlandi @claudiorlandi

  2. Blockchain Research Applications Smart Contracts Transaction Layer Consensus Layer This talk Network Layer

  3. Motivation… • Proof of Work is wasteful! • Why not do “proofs of something useful?”

  4. 4

  5. Replicated Storage S1 S2 S3 S4 F F F F C

  6. Replicated Storage S1 S2 S3 S4 F F C

  7. Replicated Storage What if the servers collude and store S1 S2 S3 S4 a single copy of the file? F F F F C

  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!

  9. Proof of Retrievability • Store(x) à (t,y) t y • P(y) ⇄ V(t) à 0/1 P V π • |proof|< |x| • Soundness : if verifier accepts, the P Ext file can be extracted x

  10. Proof of Retrievability F F F F Gives no guarantee for multiple server (soundness only shows the S1 S2 S3 S4 file is stored once) π π π π For the sake of this presentation, we C ignore PoR from now on (just assume retrieve = download)

  11. Proof of Replication Requires Different Encodings • Encrypt everything? • Slow Encodings? • Secure encryption looks • Enc is “slow” to compute random. Cannot be de- – [FileCoin], [Pie18], [BF?]. duplicated. J • Accept proof only if • Requires client to store prover is “fast” à if secret state. L prover is not storing file, proof will fail J • Cannot be publicly verified L • Requires timing assumption L

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

  13. Replica Encoding • rEnc(m,r) à y Arbitrary • rDec(y) à m constant < 1 (A1,A2) • Soundness : wins if m |state|< c |y| N’ A1 y 1 …y N state # i: y’ i =y i y’ 1 …y’ N A2

  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 L i R i + H i L i+1 R i+1

  15. Building Replica Encoding: Tools • (E,D) is a trapdoor permutation – E.g, RSA – The function E is public E(x) = x e mod N = y – The function D is secret D(y) = y d mod N = x

  16. Replica Encoding: first attempt • rEnc(m,r) : • rDec(y) – (E,D) ß Gen() – Parse y=(z,E) – x = (m,r) – t = E(z) – t = T(x) – x = T -1 (t) – z = D(t) – Parse x=(m,r) – Output y=(z,E) – Output m

  17. Soundness? • rEnc(m,r) à y Arbitrary • rDec(y) à m constant < 1 (A1,A2) • Soundness : wins if m |state|< c |y| N’ A1 y 1 …y N state # i: y’ i =y i y’ 1 …y’ N A2

  18. Soundness? (Toy proof) T,T -1 m A1 y = ( E, D(T(m,r)) ) |state| = 0 y’=(E,z) A2 • 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

  19. Soundness? (Toy proof) T,T -1 m A1 y = ( E, D(T(m,r)) ) |state| = 0 S,S -1 y’=(E,z’) A2 • We can now use A2 to invert a TDP challenge c à |state|=0 à A2 can’t remember T(m,r) à Program the 2 nd RO S(m,r)=c !=T(m,r) à If (A1,A2) wins soundness à z’ : E(z’)=c

  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.

  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

  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?

Recommend


More recommend