Bitcoin’s proof-of-work:
Bitcoin’s proof-of-work system is based on a one-way function that’s very similar to the one-way function that hashes are based on. The one-way function in Bitcoin is defined in the Bitcoin protocol as:
The hash function H(x) = H(H(x))
The base is a 'cryptographic hash function' such as 'SHA-256', the same hash function is used for the proof-of-work hash. The key difference is that the hash function in Bitcoin is a random oracle, meaning that it’s a 'function that takes as input a number (the nonce) & returns a fixed value' (the hash of the nonce), while a hash function in Bitcoin is a one-way function that takes as input a string & returns a string. The hash function in Bitcoin’s proof-of-work is defined as:
'The base is the hash function that hashes to a single value' (256 bits in Bitcoin)./..