Proofs of Space 徐昊 2017/5/31.

Slides:



Advertisements
Similar presentations
Revisiting the efficiency of malicious two party computation David Woodruff MIT.
Advertisements

Models of Computation Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms Week 1, Lecture 2.
Buffers & Spoolers J L Martin Think about it… All I/O is relatively slow. For most of us, input by typing is painfully slow. From the CPUs point.
Circuit and Communication Complexity. Karchmer – Wigderson Games Given The communication game G f : Alice getss.t. f(x)=1 Bob getss.t. f(y)=0 Goal: Find.
Sorting Really Big Files Sorting Part 3. Using K Temporary Files Given  N records in file F  M records will fit into internal memory  Use K temp files,
Rennes, 23/10/2014 Cristina Onete Commitment Schemes and Identification/Authentication.
Foundations of Cryptography Lecture 4 Lecturer: Moni Naor.
The number of edge-disjoint transitive triples in a tournament.
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
1 Adapted from Oded Goldreich’s course lecture notes.
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
1 Introduction to Computability Theory Lecture4: Non Regular Languages Prof. Amos Israeli.
1 Analysis of the Linux Random Number Generator Zvi Gutterman, Benny Pinkas, and Tzachy Reinman.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
Zero Knowledge Proofs. Interactive proof An Interactive Proof System for a language L is a two-party game between a verifier and a prover that interact.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 22 Instructor: Paul Beame.
Lecture 20: April 12 Introduction to Randomized Algorithms and the Probabilistic Method.
Query Execution Chapter 15 Section 15.1 Presented by Khadke, Suvarna CS 257 (Section II) Id
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
Chapter 4: Looping CSCI-UA 0002 – Introduction to Computer Programming Mr. Joel Kemp.
Quadratic Residuosity and Two Distinct Prime Factor ZK Protocols By Stephen Hall.
Subway Network Algorithm Matt Freeburg ICS 311 Fall 2006 University of Hawai’i at Manoa.
Fall 2004/Lecture 201 Cryptography CS 555 Lecture 20-b Zero-Knowledge Proof.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
Data Stream Algorithms Ke Yi Hong Kong University of Science and Technology.
CS221 Algorithm Basics. What is an algorithm? An algorithm is a list of instructions that transform input information into a desired output. Each instruction.
Vertex Coloring Distributed Algorithms for Multi-Agent Networks
Mining of Massive Datasets Ch4. Mining Data Streams
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
Advanced Algorithms for Fast and Scalable Deep Packet Inspection Author : Sailesh Kumar 、 Jonathan Turner 、 John Williams Publisher : ANCS’06 Presenter.
1 1. Which of these sequences correspond to Hamilton cycles in the graph? (a) (b) (c) (d) (e)
Proofs of Space Stefan Dziembowski Symposium on the Work of Ivan Damgård April 1, 2016, Aarhus, Denmark Sebastian Faust Vladimir Kolmogorov Krzysztof Pietrzak.
1 Igor Burdonov Alexander Kossatchev Building direct and back spanning trees by automata on a graph The Institute for System Programming (ISP) of the Russian.
Query Execution Chapter 15 Section 15.1 Presented by Khadke, Suvarna CS 257 (Section II) Id
Feige-Fiat-Shamir Zero Knowledge Proof Based on difficulty of computing square roots mod a composite n Given two large primes p, q and n=p * q, computing.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Introduction toData structures and Algorithms
Directed Graphs 12/7/2017 7:15 AM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia,
P & NP.
Searchable Encryption in Cloud
Probabilistic Algorithms
Introduction to Randomized Algorithms and the Probabilistic Method
Randomness and Computation
Proof technique (pigeonhole principle)
Cryptographic hash functions
Security and Deduplication in the Cloud
Software Design and Architecture
Net 323 D: Networks Protocols
Directed Graphs 9/20/2018 1:45 AM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia,
Chapter 15 QUERY EXECUTION.
Compiler Construction
5.2 FLAT NAMING.
CS/ECE 478 Introduction to Network Security
Zcash adds privacy to Bitcoin’s decentralization
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Greedy Algorithms TOPICS Greedy Strategy Activity Selection
Directed Graphs Directed Graphs Directed Graphs 2/23/ :12 AM BOS
Query Execution Presented by Jiten Oswal CS 257 Chapter 15
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Year 10 Computer Science Hardware - CPU and RAM.
Discrete Mathematics for Computer Science
An Introduction to Operating Systems
Distributed Databases
Minimum Spanning Trees
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

Proofs of Space 徐昊 2017/5/31

1 Introduction

Proofs of Work(PoW)

Proofs of Space(PoS) The general principle of PoW is showing that one invested a non-trivial amount of effort. In PoS, the resource is disk space. Users often have some free disk space available, and in this case using a PoS is essentially for free. A PoS is protocol between a prover P and a verifier V Two phases: initialization phase and execution phase

Example The verifier V is an organization that offers a free email service. To prevent spamming, V requires users to dedicate 100GB disk space for every address registered. V will run a PoS to verify that the user really dediacates this space.

The Simplest Solution V sends a pseudorandom file F of size 100GB to P during the initialization phase. V asks P to send back some bits of F at random positions, making sure P stores(at least a large fraction of)F. Unfortunately, let V send 100GB file to P is impractical, cause the communication complexity is too large

Proofs of Space

Defining Proofs of Space 𝒐𝒖𝒕 𝑽 , 𝒐𝒖𝒕 𝑷 ← 𝑽 𝒊𝒏 𝑽 ,𝑷 𝒊𝒏 𝑷 (𝒊𝒏) Denote the execution of an interactive protocol between P and V. 𝑖𝑛:shared inputs 𝑖𝑛 𝑉 , 𝑖𝑛 𝑃 :local inputs 𝑜𝑢𝑡 𝑉 , 𝑜𝑢𝑡 𝑃 :local outputs

Defining Proofs of Space Initialization is an interactive protocol with shared input parameters. prm=(id,N,…) 𝜱,𝑺 ← 𝑽,𝑷 (𝒑𝒓𝒎) 𝛷 is short. S is of size N. V can output 𝛷=Ʇ ,means that it aborts.(cheating prover) Execution is an interactive protocol during which P and V have access to the values stored during the initialization phase. {𝒂𝒄𝒄𝒆𝒑𝒕, 𝒓𝒆𝒋𝒆𝒄𝒕},∅ ← 𝑽(𝜱),𝑷(𝑺) (𝒑𝒓𝒎)

PoS from Graphs Consider a directed acyclic graph 𝐺=(𝑉,𝐸) The graph has 𝑉 =𝑁 vertices labelled with number from the set [N]={1,…,N}. Every vertex 𝑣∈𝑉 is associated with a value 𝑤(𝑣)∈ 0,1 𝐿 For V ′ =( 𝑣 1 ,…, 𝑣 𝑛 ), define 𝑤 V ′ =(𝑤( 𝑣 1 ),…,𝑤( 𝑣 𝑛 )) Let 𝜋 𝑣 ={ 𝑣 ′ :( 𝑣 ′ ,𝑣)∈𝐸} denote 𝑣 ′ 𝑠 predecessors. 𝑤 𝑣 =ℋ(𝑣,𝑤(𝜋 𝑣 )) If 𝑣 is a source(𝜋 𝑣 =∅), then 𝑤 𝑣 is simply ℋ(𝑣)

A Simple Basic PoS The PoS doesn’t satisfy the efficiency requirement because in Step 3 of execution, the verifier needs to compute 𝑤 𝐶 locally.

Using Hash Trees for Committing

Using Hash Trees for Committing Add a step during initialization phase where P commits to 𝑥 1 =𝑤 𝑣 1 ,…, 𝑥 𝑁 =𝑤 𝑣 𝑁 by computing hash tree and send its root φ to V. In the execution phase, the prover must answer a challenge c not only with 𝑥 𝑐 =𝑤 𝑐 , but also open c by sending (𝑥 𝑐 ,𝑜𝑝𝑒𝑛(𝒯,𝑐)).

Our Main Construction prm=(id,2N,ϒ,G,Λ)

Our Main Construction prm=(id,2N,ϒ,G,Λ)

Our Main Construction prm=(id,2N,ϒ,G,Λ)

Thank you for listening !