2
1
It seems to me that the reason the proof-of-work involves finding a hash beginning with a (temporarily) fixed number of zeroes is because one can easily check whether they have solved the problem by comparing the hash they have generated with the value 2^k, where k = (256 - # of zero bits) and doing so is a relatively inexpensive operation. Also, it is easy to make the problem arbitrarily difficult up to a certain point (as well as having the difficulty increase exponentially with the number of zeros).
Are there any other reasons for why this particular problem was chosen for the proof-of-work?
5It doesn't check for a number of zero bits. It checks whether the hash, when interpreted as a 256-bit number, is lower than a target number. That target number is occasionally adjusted. – Pieter Wuille – 2015-11-14T22:19:41.400
Is the target number a power of two, or can it be any 256-bit number? – Ali – 2015-11-15T01:34:51.280
@Ali It can't be any 256 bit number (there's a format it needs to follow, see here) but you can use very nearly any value.
– Nick ODell – 2015-11-15T02:28:44.597