1

I asked this question: How do miners, connected to a pool via stratum, know when to switch PoW variant during a hard fork?

Which was marked as a duplicate of this question: Can pool miners update early and then the pool software will automatically ask its workers for new POW when necessary?

I cannot comment on this second question as I do not have enough "points". So I am opening a new more specific question.

The answer to this second question is vague and contradicts the block header documentation.

This second answer only says "This is possible because the block template which a pool sends a miner contains the block version number, which is incremented at each fork".

However reading the block header breakdown here: What is the format of a block in the Monero Blockchain?

This states that the major_version is "always 1", and that the minor_version is "now used as a voting mechanism, rather than how this particular block is built".

Is this information correct? What does it mean "a voting mechanism"? Where is the variant version actually stored in the block header? Which field is it stored in? What is the present number of this field? What number will it be after the October hardfork?

1
  • I suspect it was "always 1" at the time :) The major version is currently 7, and will switch to 8 in a few hours, and to 9 in about a day.
    – user36303
    Oct 18, 2018 at 8:55

1 Answer 1

0

The duplicate is correct. Block header version number changes when there is a fork (network upgrade).

However reading the block header breakdown here: What is the format of a block in the Monero Blockchain?

If you read on in the answer:

Note that major version is used for hard-fork upgrade counting, as seen in Monero source code (1, 2). Looks like it's not exactly following the CN specification, where it was supposed to be changed only if the header parsing scheme changes.

A miner could alternatively change algorithm based on the current block height, as the fork version changes at a predetermined block height (i.e. when a fork is scheduled, it is done so in the Monero code against a block height).

Either method works.

Your Answer

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

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