Proof-of-work system
A proof-of-work (POW) system is a system where finding a solution to a given problem is difficult and/or expensive, but verifying the solution to the given problem is simple and/or cheap.
Example
[change | change source]Find the positive integer whose sha256 hash value is:
c75cb66ae28d8ebc6eded002c28a8ba0d06d3a78c6b5cbf9b2ade051f0775ac4
To find this integer, you must compute the sha256 value for every integer starting with zero until you find the right value. While each individual computation is trivial and cheap, cumulatively the work adds up and becomes time consuming and expensive. To successfully reproduce the given hash value, you must do some work.
Find some data whose sha256 hash value begins with at least 8 leading zeros:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
In the first example, the problem required the original value as proof that work had been done. In this example, it does not matter what the data is, only that it produces a hash value with the given constraints. Finding this data is difficult, but once found, it is trivial to verify by running it through sha256.