Jump to content

Proof of space

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Feyd27 (talk | contribs) at 20:34, 24 October 2018 (Distinguished between Concepts and Implementation, added description of the Burstcoin implementation + cites). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Proof-of-space (PoSpace), also called Proof-of-capacity (PoC), is a means of showing that one has a legitimate interest in a service (such as sending an email) by allocating a non-trivial amount of memory or disk space to solve a challenge presented by the service provider. The concept was formulated by Dziembowski et al.[1] in 2015.

Proofs of space are very similar to proofs of work, except that instead of computation, storage is used. Proof-of-space is related to, but also considerably different from, memory-hard functions and proofs of retrievability.

After the release of Bitcoin, alternatives to its PoW mining mechanism were researched and PoSpace was studied in the context of cryptocurrencies. Proofs of space are seen as a fairer and greener alternative due to the general-purpose nature of storage and the lower energy cost required by storage. Several theoretical and practical implementations of PoSpace have been released and discussed, such as SpaceMint and Burstcoin.

Concept description

A proof-of-space is a piece of data that a prover sends to a verifier to prove that the prover has reserved a certain amount of space. For practicality, the verification process needs to be efficient, namely, consumes a small amount of space and time. For soundness, it should be hard for the prover to pass the verification if it does not actually reserve the claimed amount of space. One way of implementing PoSpace is by using hard-to-pebble graphs.[1][2] The verifier asks the prover to build a labeling of a hard-to-pebble graph. The prover commits to the labeling. The verifier then asks the prover to open several random locations in the commitment.

Uses

Proofs of space could be used as an alternative to proofs of work in the traditional client puzzle applications such as anti-spam measures and denial of service attack prevention. Proof-of-Space has also been used for malware detection, by determining whether the L1 cache of a processor is empty (e.g., has enough space to evaluate the PoSpace routine without cache misses) or contains a routine that resisted being evicted.[3][4]

Proofs of space have been developed further in several concept papers and in one live cryptocurrency implementation.

Concepts

SpaceMint

In 2015, a paper proposed a cryptocurrency called SpaceMint.[5] It attempts to solve some of the practical design problems associated with the pebbling-based PoSpace schemes. In using PoSpace for decentralized cryptocurrency, the protocol has to be adapted to work in a non-interactive protocol since each individual in the network has to behave as a verifier.[5]

Chia

In 2018, a proposed cryptocurrency Chia presented two papers presenting a new protocol based on proof of space[6] and proof of time[7]. The authors of the project are suggesting that they will publish an at least one more paper to fully present the new protocol.[8]

Implementations

Burstcoin

Proof of space or Proof of capacity is used in the Burstcoin cryptocurrency founded in August 2014.[9] Proof of capacity consumes disk space rather than computing resources to mine a block. Unlike PoW, where the miners keep changing the block header and hash to find the solution, the Proof of capacity implementation in Burstcoin generates random solutions, also called plots, using the Shabal cryptographic algorithm in advance and stores it on hard drives. This stage is called plotting and it may take days or even weeks depending on the storage capacity of the drive. In the next stage - mining, miners match their solutions to the most recent puzzle and the node with the fastest solution gets to mine the next block.[10][11]

References

  1. ^ a b Dziembowski, Stefan; Faust, Sebastian; Kolmogorov, Vladimir; Pietrzak, Krzysztof (2015). "Proofs of Space". 9216: 585–605. {{cite journal}}: Cite journal requires |journal= (help)
  2. ^ Ren, Ling; Srinivas, Devadas (2016). "Proof of Space from Stacked Expanders" (PDF). {{cite journal}}: Cite journal requires |journal= (help)
  3. ^ Jakobsson, Markus; Stewart, Guy (2013). "Mobile Malware: Why the Traditional AV Paradigm is Doomed, and How to Use Physics to Detect Undesirable Routines, BlackHat" (PDF). {{cite journal}}: Cite journal requires |journal= (help)
  4. ^ Markus Jakobsson Secure Remote Attestation Cryptology ePrint Archive. Retrieved 8 January 2018.
  5. ^ a b Park et al. SpaceMint: A Cryptocurrency Based on Proofs of Space. Cryptology ePrint Archive. Retrieved 31 October 2016.
  6. ^ Abusalah, Hamza; Alwen, Jo\"{e}l; Cohen, Bram; Khilko, Danylo; Pietrzak, Krzysztof; Reyzin, Leonid (2017). "Beyond Hellman's Time-Memory Trade-Offs with Applications to Proofs of Space" (PDF). {{cite journal}}: Cite journal requires |journal= (help)
  7. ^ Cohen, Bram; Pietrzak, Krzysztof. "Simple Proofs of Sequential Work" (PDF). Simple Proofs of Sequential Work.
  8. ^ "Chia FAQ". Retrieved 24 October 2018. {{cite web}}: Cite has empty unknown parameter: |dead-url= (help)
  9. ^ "BURSTCOIN Celebrates Birthday With Release Of New Energy Efficient HDD Mining Wallet". NewsBTC. Retrieved 1 November 2016.
  10. ^ Wahab, Abdul; Waqas, Memood (October 2018). "Survey of Consensus Protocols" (PDF). Survey of Consensus Protocols: p. 6. {{cite journal}}: |pages= has extra text (help)
  11. ^ "BREAKING DOWN 'Proof of Capacity (Cryptocurrency)'". Retrieved 24 October 2018. {{cite web}}: Cite has empty unknown parameter: |dead-url= (help)