A Proof of Work is a diffcult data to produce (expensive and time-consuming) but easy to verify for others and meets certain requirements.
Producing a PoW can be a method of producing random mathematical data with a low probability of calculation based on a specific algorithm where a lot of tests (and therefore errors) are required on average before a valid PoW is generated.
In the case of Bitcoin, it uses the PoW system of [1] HashCash for the generation of Blocks.
In order for a block to be accepted by the participants in the network, the Miners must complete a PoW that covers all the data in the block. The difficulty of this work is regulated so as to limit the speed with which the new blocks can be generated from the network to a block every 10 minutes.
Because of the low probability of success of the same block, this makes it unpredictable to know which [2] Asics in the network will be able to generate the next block.
Each block contains the Hash of the previous block, so each block has a chain of blocks that together contain a large amount of work that binds them to its predecessors. Changing a block requires the regeneration of all successors and the repetition of the job they contain. This protects the chain of blocks from tampering and attacks.
It should be noted that the PoW is used by several coins with a different algorithm from that of Bitcoin as for example:
- CryptoNight used by Monero
- X11 used by Dash
- Scrypt used by Litecoin
- many more
[1] HashCash: The Pash function of HashCash was invented by Adam Back in 1997 to prevent Email Spam.
It required a POW on the contents of the email.
Not much work is required for a single e-mail, legitimate e-mails will be able to do the work to easily generate the test, but mass spam e-mails will have difficulty generating the required tests as it would require a power of fairly high calculation.
[2] Asics: machines built and used for the sole purpose of calculating that specific algorithm.