Proof-of-Work (PoW) is a method used for Bitcoin mining. As the name suggests, this method requires effort like data processing and decoding to mine a Block. PoW prompts users to repeatedly run a hashing algorithm to validate Bitcoin transactions as they occur. In order for a Block to be accepted by all participants who are members of the network, the miners must successfully decode the data that appears from all the data contained in the Block.
How does PoW work?
Proof of Work requires miners (users who create blocks) to use some of their own resources for the privilege. That resource is computational power, which is used to hash block data until a puzzle solution is found.
Hashing block data means we pass it through a hashing function to generate a block hash. The block hash works like a “fingerprint” it is the identity for your input data and is unique for each block.
It is almost impossible to reverse the block hash to get the input data. We just need to pass the input through the function and check if the output is the same.
In Proof of Work, we must provide data whose hash matches certain conditions. But we don’t know how to get there. Our only option is to pass the data through the hash function and check if it matches the condition. Otherwise, we’ll have to tweak the data a bit to get a different hash. Changing even a single character in the data will produce completely different results, so there’s no way to predict what the output will be like.
As a result, if we want to make blocks, we play a guessing game. We usually take information about all the transactions we want to add and some other important data, then combine them all. But since the data set won’t change, we need to add variable information. Otherwise we will always get the same hash as the output. This variable data is what we call nonce. This is a number that will change each time we try, so we’ll get a different hash each time. And this is what called mining.