0

I've seen come commentators refer to 'proof of work numbers'. I suppose these are the hashes found through proof of work, but not entirely sure.

EDIT** Regarding where I got the 'proof of work numbers' terminology, I believe I first saw it on Reddit. I also saw it being employed in the following explanation, which was also the source used in my reply in the comments.

This puzzle is called the Proof of Work and is an idea that has been adapted from an earlier system called hashcash. Proof of Work requires computing a hash of three components, hash(B, A, W) where:

B = block of transactions (which includes the hash pointer to the previous block)

A = address (i.e., hash of the public key) of the owner of the server doing the computation

W = the Proof of Work number

5
  • 1
    A reference to such usage, or some context, would be helpful. Commented May 14, 2022 at 23:58
  • @PieterWuille, I can't recall the exact source. However, I think I've answered my own question. POW requires finding a hash of certain characteristics. The hash function takes three inputs: (1) a pointer to the previous block, (2) identifier of the node doing the computation, and (3) a random (32-bit) one-time whole number. Only parameter (3) can be modified by the miner. This parameter is a 'nonce', sometimes known as a POW number. Commented May 15, 2022 at 14:36
  • 2
    Bitcoin block headers only have a 32-bit nonce. The number of hash attempts per block is typically enormously higher than 2^32 (around 2^77 almost). This is accomplished by making changes to the block candidate beyond just the nonce. Commented May 15, 2022 at 14:46
  • From what I understand, you're saying that " Only parameter (3) can be modified by the miner. This parameter is a 'nonce', sometimes known as a POW number" is incorrect. If so, what other changes are made beyond the nonce? Commented May 15, 2022 at 16:56
  • 1
    The coinbase transaction can be chosen by the miner, and it affects the transaction Merkle root, which also goes into the block header. So by changing the coinbase transaction, additional variation can be introduced. Commented May 15, 2022 at 18:22

1 Answer 1

1

Is it correct to refer to hashes found through proof of work as "proof of work numbers"?

I wouldn't say it is incorrect but it isn't exactly correct either. I'd say The phrase "Proof of Work" (PoW) applies to the overall method and not to any specific data item.

I think you could sensibly say that the sufficiently low hash of a block is a kind of proof of the work that is likely to have been done in obtaining it. This only really applies over a statistically significant sample size I guess.

Calling the hash the proof of work number doesn't seem to me to be a particularly useful description. I guess that if you are going to hang that label on a single data item, that is probably the obvious candidate.

Since no one is in charge of bitcoin, there is no one authority who decides what terminology is correct.


The hash function takes three inputs: (1) a pointer to the previous block, (2) identifier of the node doing the computation, and (3) a random (32-bit) one-time whole number.

The data that is hashed does not necessarily include any reference to the node doing the computation. Some mining pools may insert a pool identifier into their coinbase transaction but that is not required at all.

Your list omits a lot of other data that is in the data hashed. It includes other items in the block header, such as a hash of data in the transactions in that block.


Proof of Work requires computing a hash of three components, hash(B, A, W)

I don't recognise that from Satoshi Nakamoto's whitepaper on Bitcoin nor from Adam Black's 2002 whitepaper on his 1997 HashCash proposal.

I suspect that W, the proof of work number, corresponds roughly to the nonce in Bitcoin's block header. But as Pieter Wuille pointed out, the Bitcoin nonce alone is insufficient for that role.

Adam black wrote

The hashcash CPU cost-function computes a token which can be used as a proof-of-work.

Black defines a non-interactive token as T = MINT(s, w) where I believe s is a service name and and w is the amount of work the user will have to expend on average to compute a token.


If you look at Wikipedia's article and others, I think it is fairly common to see reference to a "proof of work algorithm" or a "proof of work system".

I suspect looking for a "proof of work number" in Bitcoin is not especially helpful to people new to Bitcoin who are trying to understand how it works.

4
  • I was def conflating POW as specific data item as opposed to an overall method. Is thinking of it as an overall method controversial though? In the sense that others have in the past objected to characterization? Commented May 15, 2022 at 17:05
  • Which others? What characterization? Thisnis getting a bit vague.. Commented May 16, 2022 at 12:15
  • @PieterWuille, the characterization of POW as a "specific data item" as opposed to a "general method". By others, I mean the community at large. I was wondering if there have been past discussions in the bitcoin community regarding the specifics of what the phrase "Proof of Work" refers to. Commented May 25, 2022 at 2:58
  • @StatsScared: I have added to my answer something to address your edit to your question. Commented May 25, 2022 at 9:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.