Repository navigation
Conversation
|
Concept ACK. All 7 cases in The timewarp rule has the same gap: at N=0 there is no TN−1, and |
| The coinbase transaction's `nLockTime` field must be set to the height of the block minus 1[^2] | ||
| and its `nSequence` field must not be equal to 0xffffffff. |
There was a problem hiding this comment.
This change seems incorrect and redundant to me. In technical writing, usually specific rules beat general rules. So, the proposed phrasing implies that all blocks except the Genesis block would have to follow this rule. However, such a rule would cause the entire blockchain after the Genesis block to be invalid.
The specification section starts with “For all blocks after activation the following new rules apply” (emphasis added), which is the accurate range of blocks for which this rule applies. Obviously, the soft fork cannot activate before or on the Genesis block in mainnet, and testnet5, is also proposed to activate the rules on block 1 rather than applying it for the Genesis block.
So, this rephrasing seems like a disimprovement to me.
|
cc: @darosior |
darosior
left a comment
There was a problem hiding this comment.
I agree with @murchandamus. This is already covered (for all checks, not only the nLockTime one) by
For all blocks after activation the following new rules apply.
The BIP54 reference implementation skips genesis when checking the new coinbase locktime and sequence rules. However this wasn't specified in the BIP.
Update the BIP to reflect that genesis is exempt from these checks.