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?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend