Paper 2013/796
Proofs of Space
Stefan Dziembowski, Sebastian Faust, Vladimir Kolmogorov, and Krzysztof Pietrzak
Abstract
Proofs of work (PoW) have been suggested by Dwork and Naor (Crypto'92) as protection to a shared resource. The basic idea is to ask the service requestor to dedicate some non-trivial amount of computational work to every request. The original applications included prevention of spam and protection against denial of service attacks. More recently, PoWs have been used to prevent double spending in the Bitcoin digital currency system. In this work, we put forward an alternative concept for PoWs -- so-called \emph{proofs of space} (PoS), where a service requestor must dedicate a significant amount of disk space as opposed to computation. We construct secure PoS schemes in the random oracle model (with one additional mild assumption required for the proof to go through), using graphs with high ``pebbling complexity'' and Merkle hash-trees. We discuss some applications, including follow-up work where a decentralized digital currency scheme called Spacecoin is constructed that uses PoS (instead of wasteful PoW like in Bitcoin) to prevent double spending. The main technical contribution of this work is the construction of (directed, loop-free) graphs on $N$ vertices with in-degree $O(\log\log N)$ such that even if one places $\Theta(N)$ pebbles on the nodes of the graph, there's a constant fraction of nodes that needs $\Theta(N)$ steps to be pebbled (where in every step one can put a pebble on a node if all its parents have a pebble).
Metadata
- Available format(s)
- Category
- Foundations
- Publication info
- A minor revision of an IACR publication in CRYPTO 2015
- Keywords
- BitcoinSpacecoinProofs of WorkPebbling
- Contact author(s)
- krzpie @ gmail com
- History
- 2015-06-24: revised
- 2013-12-01: received
- See all versions
- Short URL
- https://ia.cr/2013/796
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2013/796, author = {Stefan Dziembowski and Sebastian Faust and Vladimir Kolmogorov and Krzysztof Pietrzak}, title = {Proofs of Space}, howpublished = {Cryptology {ePrint} Archive, Paper 2013/796}, year = {2013}, url = {https://eprint.iacr.org/2013/796} }