It is a form of cryptography zero-knowledge proof that one part, the prover, proves to others, the verifies, that they used some amount of computational resources to complete some task.
Cynthia Dwork and Moni Namor invented it in 1993 to deter denial-of-service attacks and other service abuses such as spam.
- It costs some effort for the attacker to make a request. Thus, it becomes inviable to send a large number of requests in a short period.
- It must be hard enough to provers finish the work.
- It must be easy to validate the prover's result.
Bitcoin popularized it.
- Miners spend some computational resources to append blocks on the blockchain.
It is a cryptography zero-knowledge. May we compare this to the gold miners, who need primarily physical force to find gold?
What is the difference between CAPTCHA and proof of work?