Bitcoin Development Mailinglist
 help / color / mirror / Atom feed
From: Matt Corallo <lf-lists@mattcorallo.com>
To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Subject: [bitcoindev] [BIP Draft] 24 bits for nVersion nonce space instead of 16
Date: Thu, 26 Feb 2026 17:12:03 -0500	[thread overview]
Message-ID: <6fa0cb45-37d6-4b41-9ff8-03730fd96d6e@mattcorallo.com> (raw)

<pre>
   BIP: ?
   Title: 24 nVersion bits for general purpose use
   Author: Matt Corallo <bips@bluematt.me>
   Status: Draft
   Type: Specification
   Created: 2026-02-26
   License: BSD-3-Clause
            CC0-1.0
   Replaces: 320
</pre>

==Abstract==

24 bits are reserved in the nVersion field as extra nonce space for miners, providing for additional 
hashrate with header-only mining without relying on rolling nTime more often than once per second.

==Motivation==

BIP 320 defined 16 bits of nVersion as nonce space for additional nonce space. It turns out that 
this isn't enough, as some devices have started using 7 bits from nTime for extra nonce space (see 
https://github.com/stratum-mining/sv2-spec/discussions/187). Given there's limited utility in 16 
bits of nVersion space for signaling, instead here we offer 24 bits of nVersion space as extra nonce 
space.

==Specification==

24 bits from the block header nVersion field, starting from 5 and ending at 28 inclusive 
(0x1fffffe0), are reserved for nonce use and removed from BIP8 and BIP9 specifications. A mask of 
0xe000001f should be applied to nVersion bits so bits 5-28 inclusive will be ignored for soft-fork 
signalling and unknown soft-fork warnings.

==Rationale==

Headers-only mining avoids mining devices (either ASICs or the firmware) from having to concern 
itself with the vast space of consensus logic (handling transactions, merkle trees, etc). It is 
widely deployed in ASICs, but requires a substantial number of jobs fed across an entire device, 
keeping the ASIC controller busy. Providing additional nonce space for the ASICs to roll without 
needing fresh work from the controller may simplify ASIC design somewhat, and as been apparently 
adopted in some miners by using extra space in nTime as extra nonce space. Doing so in nVersion 
instead is preferable to using nTime.

==Backwards Compatibility==

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, 
and given that a non-trivial percentage of the  hashrate is already making uses of those bits, 
future soft forks SHOULD NOT utilize those bits for activation signalling.

==Acknowledgements==

Timo Hanke and Sergio Lerner for originally proposing 15-bit extra nNonce2. Btc Drak for writing BIP 
320.

==Changelog==

==Copyright==

This document is dual licensed as BSD 3-clause, and Creative Commons CC0 1.0 Universal.

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/6fa0cb45-37d6-4b41-9ff8-03730fd96d6e%40mattcorallo.com.


             reply	other threads:[~2026-02-26 22:26 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-26 22:12 Matt Corallo [this message]
2026-02-27 15:34 ` 'Antoine Poinsot' via Bitcoin Development Mailing List

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6fa0cb45-37d6-4b41-9ff8-03730fd96d6e@mattcorallo.com \
    --to=lf-lists@mattcorallo.com \
    --cc=bitcoindev@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox