A proof-of-work (POW) system (or protocol, or function) is an economic measure to deter denial of service attacks and other service abuses such as spam on a network by requiring some work from the service requester, usually meaning processing time by a computer. The concept is due to Dwork and Naor. A key feature of these schemes is their asymmetry: the work must be moderately hard (but feasible) on the requester side but easy to check for the service provider. This idea is also known as a CPU cost function, client puzzle, computational puzzle or CPU pricing function. It is distinct from a CAPTCHA, which is intended for a human to solve quickly, rather than a computer. One popular system—used in Bitcoin mining and Hashcash— uses partial hash inversions to prove that work was done, as a good-will token to send an e-mail. For instance the following header represents about 252 hash computations to send a message to [email protected] on January 19, 2038: X-Hashcash: 1:52:380119:[email protected]:::9B760005E92F0DAE It is verified with a single computation by checking that the SHA-1 hash of the stamp (omit the “X-Hashcash: ” portion) begins with 52 binary zeros, that is 13 hexadecimal zeros: 0000000000000756af69e2ffbdb930261873cd71 Whether POW systems can actually solve a particular denial-of-service issue such as the spam problem is subject to debate; the system must make sending spam emails obtrusively unproductive for the spammer, but should also not prevent legitimate users from sending their messages. Proof-of-work systems are being used as a primitive by other more complex cryptographic systems such as Bitcoin which uses a system similar to Hashcash.

Back to top button