v0.1.0-testnet4
Qbit: Post-quantum peer to peer digital value
Crypto is vulnerable to quantum theft, but it doesn't have to be. For the first
time, digital value can be secured natively with quantum-resistant signatures
from block zero.
Qbit version v0.1.0-testnet4 is available from the release page for that
version.
This release provides the public Qbit testnet4 node, wallet, GUI, mining, relay,
RPC, documentation, and release-verification surface. It includes Qbit-specific
network identity, consensus rules, wallet signing, mining flows, address
behavior, relay tooling, and operator workflows for public testnet
participation.
Testnet-era release artifacts are for public testnet use only unless the
release page explicitly says otherwise. Qbit mainnet is not launched. Do not
treat any in-tree mainnet genesis block, hash, seed placeholder, or endpoint
placeholder as an official mainnet launch commitment.
Testnet coins have no economic value, and the public testnet may be reset or
replaced during rehearsal.
This release starts a reset testnet4 lineage. It is not compatible with earlier
testnet4 rc chain data; operators who ran an earlier rc should remove or
archive their old testnet4 network directory before starting this release.
Please report bugs using the Qbit issue tracker.
Compatibility
The public Qbit testnet4 chain is selected with:
qbitd -testnet4
qbit-cli -testnet4 getblockchaininfoOfficial testnet release binaries are expected to reject no-flag mainnet
startup and explicit -chain=main startup. Use -testnet4 or
-chain=testnet4 for the public testnet.
Supported and tested platforms for this release are the artifacts attached to
the GitHub Release page. The release page is the source of truth for available
platform builds, checksums, signatures, and attestations.
Public testnet4 identity in this release:
| Item | Value |
|---|---|
| Chain flag | -testnet4 or -chain=testnet4 |
| Default P2P port | 48355 |
| Default RPC/REST port | 48352 |
| Default onion bind port | 48356 |
| Address HRP | tq |
| Message start / network magic | 0xc7c41640 |
| Genesis hash | 000000000000796fe86bbc0bf1b66a07e4b4c0676f74b54cf7e5ce8b3f1a0090 |
| Genesis bits | 0x1a7f1ab5 |
| Initial Cadence lane bits | 0x1a7f1ab5 |
| Spendable address model | P2MR |
| DNS seeds | coherence-testnet4.qbit.org, triplet-testnet4.qbit.org |
| Fixed seeds | 57.129.86.61:48355, 40.160.66.196:48355 |
| Archive endpoints | fermion-testnet4.qbit.org:48355, boson-testnet4.qbit.org:48355 |
| Minimum chain work | 0000000000000000000000000000000000000000000000000000000000000000 |
| Default assume-valid block | 0000000000000000000000000000000000000000000000000000000000000000 |
No public faucet or explorer is assumed by this release note. Use only
resources explicitly published for this release.
Notable changes
Network identity and operator defaults
- Qbit ships Qbit-native executable names:
qbitd,qbit-cli,qbit-qt,
qbit-tx,qbit-util, andqbit-wallet. - The default config filename is
qbit.conf. Default data directories are
~/.qbit/on Linux,~/Library/Application Support/Qbit/on macOS, and
%LOCALAPPDATA%\Qbit\on Windows. - Default RPC/REST ports are Qbit-specific:
8352for mainnet,18352for
testnet3,48352for testnet4,38352for signet, and18452for regtest. - Qbit init, service, manpage, CMake, package, Qt, NSIS, and product metadata
have been aligned around Qbit names and assets. - Payment URIs use
qbit:. The wallet and GUI reject incompatible payment URI
variants for Qbit payments.
Consensus and policy
- Qbit defines its own public-chain genesis blocks, address prefixes,
message-start bytes, ports, seeds, and chain parameters. - Blocks target a 60 second aggregate cadence with ASERT difficulty adjustment
and a 2 hour half-life. - Cadence mining is active from genesis on public Qbit chains. Permissionless
mining targets a 75 second lane, and AuxPoW merged mining targets a 300
second lane. - Public Qbit chains use P2MR as the spendable output model. P2MR is a witness
v2, 32-byte Merkle-root output with script-path spending only. OP_CHECKSIGPQCis active inside P2MR execution and verifies bounded
SLH-DSA-SHA2-128s signatures. Current PQC keys are 32-byte public keys,
64-byte secret keys, and 3,680-byte signatures.- P2MR-only script validation rejects
OP_CHECKSIGPQCoutside P2MR and rejects
executed legacy signature opcodes inside P2MR. P2MR authorization uses
canonical PQC checksig, verify, and threshold forms. - P2MR-only data-signature opcodes
OP_CHECKDATASIGPQC(0xbc) and
OP_CHECKDATASIGADDPQC(0xbd) support 32-byte message-hash attestations. - P2MR-only
OP_CHECKTEMPLATEVERIFYis available at opcode byte0xbb, with
node-canonical default CTV hash support. - Qbit has no witness discount.
WITNESS_SCALE_FACTORis1, and max block
weight is2,000,000. - Coinbase maturity is
1,000blocks. - The block subsidy starts at
210 QBT, steps every43,200blocks, and uses
a compound floor stepdown of598 / 625until the210,000,000 QBTmoney cap
is reached. - Public-chain restricted-output mode accepts ordinary spendable P2MR outputs,
reserved future witness forms,OP_RETURN, and PayToAnchor outputs. Legacy,
P2SH-SegWit, native SegWit v0, and Taproot receive/change outputs are not the
public Qbit payment path. - Public testnet4 starts this reset release without a post-genesis
minimum-chainwork floor or assume-valid checkpoint. Those values should only
be raised after a validated reset-chain checkpoint exists. - Regtest defaults follow Qbit's P2MR-only restricted-output behavior unless a
test explicitly opts out.
Wallet, address, PSBT, and RPC behavior
-
Descriptor wallets are the supported wallet type. Legacy wallet creation is
not supported. -
Wallet receive and change flows use P2MR on launch and rehearsal chains:
qbit-cli -testnet4 -rpcwallet=<wallet> getnewaddress "" "p2mr" qbit-cli -testnet4 -rpcwallet=<wallet> getrawchangeaddress "p2mr"
-
Qbit adds P2MR descriptors and script support, including
mr(...),
rawmr(...),pk(...),multi_a(...),sortedmulti_a(...), andpqc(...)
where appropriate. -
P2MR signing uses stateful PQC signature counters. Wallet and signing RPCs
can reportpqc_signature_count,pqc_signature_limit,
pqc_signatures_remaining,pqc_limit_state, and related warning fields. -
Do not run two active copies of the same signing wallet. Restore and backup
procedures must preserve wallet state, including PQC signature counters. -
Plain xpub-only watch-only flows are not enough for Qbit P2MR. Use
exportpubkeydb,importpubkeydb,getnextpubkeydbaddress, and
listpubkeydbstatusfor watch-only P2MR address allocation. -
Qbit supports P2MR PSBT signing and finalization, including dedicated P2MR
data and Qbit-proprietary fields. Non-Qbit PSBT tooling should not be assumed
to preserve or understand those fields. -
Wallet transaction construction, PSBT, input, spend, coin-control, and fee
estimate paths account for Qbit P2MR signature sizes. -
Wallet-created payment outputs to reserved future witness versions are
rejected before send, funding, PSBT, or bumpfee RPCs can report ordinary
success. -
Imported PQC secret material is validated before it reaches wallet storage,
and deterministic PQC key derivation uses the trusted key-generation public
key output. -
Parallel PQC wallet signing is supported while preserving per-wallet lock
ordering and failure handling. -
Qbit adds or changes public RPCs for Qbit-specific operation, including
createauxblock,submitauxblock,getarchivepeers,getorphanmetrics,
getconfirmationtarget,exportpubkeydb,importpubkeydb,
getnextpubkeydbaddress,listpubkeydbstatus, andgetdefaultctvhash. -
Existing RPCs such as
getblocktemplate,getnetworkinfo,getblock,
getnewaddress,getrawchangeaddress,validateaddress,getaddressinfo,
walletprocesspsbt,decodepsbt, andsignrawtransactionwithkeyhave
Qbit-specific behavior where P2MR, PQC signing, archive service bits, witness
pruning, Cadence, or AuxPoW apply.
Mining and confirmation policy
- Permissionless mining continues to use
getblocktemplateandsubmitblock,
but templates use Qbit Cadence, ASERT, restricted-output, and full-witness
weight rules. - AuxPoW merged mining is exposed through
createauxblockand
submitauxblock. Public testnet's AuxPoW chain ID is31430. - ASICBoost-compatible version-mask handling is available for Qbit mining
templates. Custom and AuxPoW templates suppress inappropriate rolling masks
where miners must not mutate Qbit chain-id, reserved, or AuxPoW layout bits. getnetworkhashpscan report estimates forall,permissionless, or
auxpowlanes.getconfirmationtargetestimates Qbit confirmation targets from transaction
value, requested security level, observed stale rate, and observed or modeled
hashrate. Exchanges and custodians should use it as an input to local deposit
policy.- Fresh coinbase rewards mature after 1,000 Qbit blocks. Pool and custody
accounting must not treat newly mined rewards as immediately spendable. - PayToAnchor mining payouts are rejected, and mining/RPC policy is tightened
around Qbit output-script expectations.
Node operation and archive bootstrap
- Qbit defaults to archive/full-history witness retention. Witness pruning is
an explicit opt-in mode with-prunewitnesses=1. - Archive-capable nodes advertise
NODE_ARCHIVE. Witness-pruned nodes
advertiseNODE_WITNESS_PRUNED. -connectarchive=<host:port>provides a stricter archive bootstrap fallback.
Peers configured this way must advertise the expected archive and witness
service bits and must not advertise or imply witness-pruned history.getarchivepeersreports archive-relevant connected peers and configured
archive fallback targets.- Witness pruning is incompatible with
-txindex. Indexers, explorers,
exchanges, and support tooling that require historical witness data should
run archive nodes. - Verbose historical
getblockcalls can fail on witness-pruned history when
the node no longer has the needed witness data. - P2P sync handling preserves AuxPoW payloads during headers presync and
redownload while bounding retained serialized AuxPoW bytes. Validated block
download timeouts have been retuned for Qbit's slower block-validation paths.
PHOTON relay
qbit-photonis available as a standalone relay daemon for authenticated UDP
block relay between Qbit nodes.- Deploy
qbit-photononly when authenticated peer links and local qbitd
RPC/ZMQ access are configured. - PHOTON subscribes to qbitd ZMQ block notifications, fetches blocks over qbitd
RPC, relays encoded block data to configured peers, and submits reconstructed
blocks to local qbitd. - PHOTON includes FEC support, peer freshness checks, replay protection,
bounded inbound relay state, restart diagnostics, and per-peer session
isolation so stale sessions do not poison current relay delivery. - Release tooling includes a separate PHOTON build path.
Release, CI, documentation, and supply chain
- Qbit Guix build and attestation tooling includes Qbit-specific artifact
naming and independent builder attestation support. - Signed-release publication gates validate pinned trusted refs, signer set
size, release artifacts, builder attestations, and key metadata. - The libbitcoinpqc Qbit subtree has been refreshed and supported with AVX2,
TSAN, upstream fuzz, low-cap failure, and wrapper evidence workflows. - CI coverage has been expanded for Windows builds, Windows Qt diagnostics,
public testnet4 transport parameters, block-weight assumptions, scanner
dependencies, and disk-pressure failure modes. - Public docs have been reorganized around Qbit users, integrators, operators,
release verification, exchange/custody operation, mining pool integration,
RPC deltas, P2MR wallet workflows, and full-validation bootstrap. - Generated Qbit RPC documentation can be installed with release artifacts
undershare/doc/qbit/rpc/and published manually through the RPC docs
workflow.
Credits
Thanks to everyone who contributed code, testing, review, infrastructure, and
release coordination for this release.
qbit v0.1.0-testnet4 Release Verification Linkage
- Release tag:
v0.1.0-testnet4 - qbit-guix.sigs commit:
1946e109a8ac4b24637f3ef45b0aabdf5eb08bfe - Artifact manifest:
SHA256SUMS - Project release signatures:
SHA256SUMS.asc
Artifact hashes
| SHA256 | Artifact |
|---|---|
daa3e11161583925779679a6289019395d31c565ded202f390124908475d8837 |
qbit-0.1.0-testnet4-aarch64-linux-gnu-debug.tar.gz |
0d8b1ae93e4c4b0d410dae50b3c7b4404649e454113a3ef7e3a7205d659e5615 |
qbit-0.1.0-testnet4-aarch64-linux-gnu.tar.gz |
54a3c176762f440089669f33eae2762f271a89f4a844dbd5c7c5d9ba003edeaf |
qbit-0.1.0-testnet4-arm-linux-gnueabihf-debug.tar.gz |
2daf5fb155477669dbda5b04440349ede67dac45103b78bebdc450d5d482e860 |
qbit-0.1.0-testnet4-arm-linux-gnueabihf.tar.gz |
df2081ab7922192cf26c73f3f68ba184bcd6acb22f7f44293fc46f45a787d237 |
qbit-0.1.0-testnet4-arm64-apple-darwin-unsigned.tar.gz |
10cfe9ecca34b8ab0560d05d1b211ab30b7eb6d007899c5839a739fd3e6774f5 |
qbit-0.1.0-testnet4-arm64-apple-darwin-unsigned.zip |
a00fcd0b6ccbc4864de6ea98c6aceddcccab68dc47b9406042682ba5a8a4e96d |
qbit-0.1.0-testnet4-powerpc64-linux-gnu-debug.tar.gz |
11cf2f28d0a0cdc88e4a2bcc9dc004ae421e4dee9d5e486863d032e522920e30 |
qbit-0.1.0-testnet4-powerpc64-linux-gnu.tar.gz |
bbf00c475b7f88a547abe2716c4ea21323296a560b155aea10080cc05145d703 |
qbit-0.1.0-testnet4-riscv64-linux-gnu-debug.tar.gz |
8b532ca3ff0451ba322911f5a2cf00a7b880c81f83583106cb32a99e1a59da4b |
qbit-0.1.0-testnet4-riscv64-linux-gnu.tar.gz |
914575021c610053ee092f7b4eb58be3b03d987c5c4925c51cad6b6d288da298 |
qbit-0.1.0-testnet4-win64-debug.zip |
5ef0ca1e6f780ca9fb57f32e24c9d9e727076b5e0f61cf7380ae453f08be9091 |
qbit-0.1.0-testnet4-win64-setup-unsigned.exe |
7481993df622931a957fa804331dc0a698e50c4f8a783c3d13e632556429e76e |
qbit-0.1.0-testnet4-win64-unsigned.zip |
3619a6a840e474267d7c3939008884722ee6ee8dc439617e731792805ca6181b |
qbit-0.1.0-testnet4-x86_64-apple-darwin-unsigned.tar.gz |
a34b883275388ca9d529cb0475332774881bd2ed937ed8d3a47a3a0fb8db14bf |
qbit-0.1.0-testnet4-x86_64-apple-darwin-unsigned.zip |
3ae45534a01bc1d6ad88faebf8d42a9b6dfb1decbbf1ed247b3c4da21015dacf |
qbit-0.1.0-testnet4-x86_64-linux-gnu-debug.tar.gz |
aaa6c6a4e501809ef1b05a4e63280c24341acdc3a000cc686d928705f1455ac7 |
qbit-0.1.0-testnet4-x86_64-linux-gnu.tar.gz |
a78035141a0ff0acebfa7ad51cf2daea43f9f5a7924b87e7fe0b9dc28e5782d0 |
qbit-photon-0.1.0-testnet4-x86_64-linux-gnu-debug.tar.gz |
9e3082d03fc914e00c2ed483bcfc9705e34b8fae57f147487259f406e35472b2 |
qbit-photon-0.1.0-testnet4-x86_64-linux-gnu.tar.gz |
Builder attestations
0.1.0-testnet4/operator-01/noncodesigned.SHA256SUMS.asc0.1.0-testnet4/operator-01/photon-noncodesigned.SHA256SUMS.asc0.1.0-testnet4/operator-02/noncodesigned.SHA256SUMS.asc0.1.0-testnet4/operator-02/photon-noncodesigned.SHA256SUMS.asc
Verification model
The GitHub Release artifacts are linked to builder attestations by matching
artifact basename and SHA256 digest. The pinned qbit-guix.sigs commit above
contains the builder-signed Guix manifests used for quorum validation.
Local coordinator validation command:
contrib/release-process/verify-staged-release.sh