Skip to content

BIP Draft: 24 nVersion bits for general purpose use#2116

Open
TheBlueMatt wants to merge 2 commits intobitcoin:masterfrom
TheBlueMatt:2026-02-more-bits
Open

BIP Draft: 24 nVersion bits for general purpose use#2116
TheBlueMatt wants to merge 2 commits intobitcoin:masterfrom
TheBlueMatt:2026-02-more-bits

Conversation

@TheBlueMatt
Copy link
Copy Markdown
Contributor

No description provided.

Comment thread bip-XXXX.mediawiki Outdated
Comment thread bip-XXXX.mediawiki Outdated
Comment thread bip-XXXX.mediawiki Outdated
Comment thread bip-XXXX.mediawiki Outdated
Comment thread bip-XXXX.mediawiki Outdated
Comment thread bip-XXXX.mediawiki
@murchandamus murchandamus added New BIP PR Author action required Needs updates, has unaddressed review comments, or is otherwise waiting for PR author labels Mar 5, 2026
@TheBlueMatt
Copy link
Copy Markdown
Contributor Author

Addressed feedback.

@murchandamus murchandamus removed the PR Author action required Needs updates, has unaddressed review comments, or is otherwise waiting for PR author label Apr 6, 2026
Copy link
Copy Markdown
Member

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concept ACK

Just got that one outstanding comment that should be incorporated.

Comment thread bip-XXXX.mediawiki
Non-upgraded nodes will interpret the reserved bits of this proposal as signals for soft forks, and
may additionally activate the warning system for unknown soft forks.

At the time of writing no known soft forks are pending using any of 24 bits reserved in this BIP,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw AJ point out that there was a CTV deployment attempt that uses bit 5. I don’t think knowledge of that is widespread, but that should probably be addressed in the backwards compatibility section here.

@murchandamus murchandamus changed the title Add a BIP to define 24 bits of nVersion as nonce space not 16 BIP Draft: 24 nVersion bits for general purpose use Apr 6, 2026
@plebhash
Copy link
Copy Markdown

ACK from Sv2 contributor here

Sv2 introduces the notion of Header-only Mining (HOM) via Standard Channels, which freezes the merkle_root (no extranonce rolling inside the coinbase tx scriptSig), and leaves search space expansion to nVersion bits

HOM incurs in a few benefits for mining operations, namely:

  • pushing merkle_path+coinbase_tx_prefix+extranonce+coinbase_tx_suffix complexity to mining servers and proxies, away from mining devices
  • smaller wire bandwidth consumption due to:
    • absence of merkle_path+coinbase_tx_prefix+coinbase_tx_suffix on NewMiningJob message (when compared to NewExtendedMiningJob)
    • absence of extranonce on SubmitSharesStandard message (when compared to SubmitSharesExtended)
  • lighter share validation: validators can check shares against a precomputed job merkle_root instead of rebuilding it from merkle_path+coinbase_tx_prefix+extranonce+coinbase_tx_suffix for every share

in other words with HOM:

  • we're trading zillions distributed for few centralized merkle_root computations (where they actually matter)
  • we're trading notify+submit wire messages for lighter alternatives

and these can become meaningful optimizations when applied at scale.


the main challenge however, is the fact that currently, HOM is limited to a 280 TH/s ceiling (assuming nTime is only increased after 1s has elapsed, and not "rolled" into the future):

2^(NONCE_BITS + BIP320_VERSION_ROLLING_BITS) = 2^(32 + 16) = ~280Th

and the mining industry is already surpassing this limit on state-of-the-art devices

that would relegate Sv2 Standard Channels to a second tier, throwing away the potential optimizations that HOM can bring when applied at scale on mining farms

therefore, lifting the number of rollabe nVersion bits is a highly desirable change from the perspective of the optimizations that Sv2 can bring to Bitcoin Mining

@rkuester
Copy link
Copy Markdown

Concept ACK from the Mujina mining firmware maintainer, for the reasons @plebhash mentions above as well as reasons outlined in the draft.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants