Proof-of-storage (PoS)

Proof-of-storage (PoS)

Proof-of-storage (PoS) is a cryptograhic protocol used primarily to verify the integrity of a remote file.

Proof-of-storage (PoS) is a cryptographic protocol used primarily to verify the integrity of a remote file. This is done by sending an encoded copy of the data to a server and then executing a challenge-response protocol to check the data's integrity. This protocol is normally used when considering the efficiency of a cloud storage server.

Participants in a proof-of-storage scheme are:

  • Provers - participants who are storing some data
  • Verfiers - participants who validate that the provers are storing the data

Verifiers issue challenges to provers, who in turn respond with a proof according to the specific proof-of-storage scheme being used.

Common Properties of Proof-of-Storage

There are multiple proof schemes stemming from proof-of-storage, each differing to some degree in its properties. Common properties shared by various proof-of-storage schemes include:

  • Privately verifiable - A user can verify that data is stored using a secret verification key generated during setup.
  • Publicly verifiable - Any party with access to public data (e.g. a public verification key) can verify that data is stored without access to the original data itself or any secret information generated during the scheme setup.
  • Transparent - No information can be used to enable a prover to generate a valid proof without having stored data. This is useful in decentralized storage networks so that users aren't required to trust other users or verifiers to generate secret keys.
  • Retrievable - It's possible for verifiers to extract and reconstruct the stored data simply by issuing multiple challenges to provers and aggregating their corresponding proofs.
  • Dynamic - Users can dynamically update the data stored externally rather than requiring a completely new setup whenever data needs to be changed.
  • Non-outsourceable - Provers cannot outsource their work to other provers and still convince verifiers that they have done the work themselves, be it storage, computation, or proof-generation .
  • Authenticated - The identity of a prover can be verified during the proof verification process by means such as a digital signature.
  • Time-bounded - Proofs are only valid during a given time period. This property can be used to limit the possibility for forgeries by requiring that provers respond to challenges in specific time-bound based on the PoS scheme, leaving them without adequate time to create a forgery.
  • Useful - The scheme's operation can achieve useful work or storage as a side effect of the scheme design.

PoS Schemes Used in Cryptocurrency Projects

Several blockchain-based cloud storage projects are carrying out research and development related to proof-of-storage schemes. For example, Filecoin is working on a PoS scheme called proof-of-replication, which can be used to prove that data has been replicated to its own uniquely dedicated physical storage space. Another project, Storj, is working on extending an existing PoS scheme called proof-of-retrievability.



Related Golden topics

Further reading


Filecoin: A Decentralized Storage Network

Protocol Labs


Proof of Replication

Juan Benet, David Dalrymple, Nicola Greco


Proofs of Space

Stefan Dziembowski, Sebastian Faust, Vladimir Kolmogorov, and Krzysztof Pietrzak

Academic paper

Proofs of Storage: Theory, Constructions and Applications

Seny Kamara


Storj: A Decentralized Cloud Storage Network Framework

Documentaries, videos and podcasts