π Knuth v1.0.0 is out.
This is not an incremental release.
It's a complete architectural rewrite.
The node is now built end-to-end on C++23 coroutines, powered by a CSP-style synchronization model, and backed by UTXO-Z β a new flat, mmap-friendly storage engine for the Bitcoin Cash UTXO set.
β‘ Full mainnet IBD from genesis to tip in 37 min β 1 h on typical hardware in our test runs.
Not a fast-sync.
Not a UTXO snapshot.
The chain is reconstructed locally from genesis.
π§΅ C++23 coroutines across networking, validation and block synchronization
ποΈ UTXO-Z storage with incremental UTXO construction and an embedded Bloom filter
π³ Lock-free header index, ready for fork-aware chain selection
π BIP155 addrv2, CIDR-aware whitelist matching, and configurable IPv6 networking
The previous architecture continues as the v0.x maintenance branch for users not ready to migrate yet.
After years of research, prototyping, benchmarking and rewrites, UTXO-Z is finally at the heart of Knuth.
π https://t.co/YCYyEAxEfw
#BitcoinCash #BCH #Knuth #UTXOZ #Coroutines #FullIBD
π Knuth v1.2.0 is out.
Like v1.1.0, this one is about foundations, not fireworks.
The core library has been rebuilt around immutable, valid-by-construction value types: if an object exists, it's valid. No setters, no half-built states, no is_valid() checks scattered across the codebase β invalid states are simply unrepresentable.
Highlights:
π§± Domain, wallet and message types are now immutable and valid-by-construction β fallible parsing returns std::expected, construction never yields a broken object.
βοΈ Deeper C++23: constexpr value types, <=> comparisons, and a leaner API surface across the board.
π οΈ Boost.Program_options replaced with CLI11 β simpler, modern config handling.
π Peer selection now uses the CSPRNG (dropped a broken RNG path); pings never carry a zero nonce.
π Apple Clang 21 / libc++ build fixes, plus faster block-pool pruning.
No new user-facing features this time β just a stronger, safer, more modern foundation for everything that comes next.
π https://t.co/viry7UBpNW
#BitcoinCash #BCH #Knuth #Cpp23
π Knuth v1.1.0 is out.
This release is focused on reliability, reproducibility, and the developer experience.
Highlights:
π³ Official Docker images are now published automatically to GHCR on every release.
βοΈ CI has been significantly streamlined with faster build times, newer GCC 16 and Apple Clang 21 toolchains, and improved sanitizer workflows.
π Fixed a synchronization issue where the node could fail to transition from FAST to SLOW block sync under specific conditions.
No flashy new features this timeβjust making the project more robust for users, contributors, and future releases.
π https://t.co/wP4tqUi5kj
#BitcoinCash #BCH #Knuth
@monsterbitar@PeterRizun Absolutely.
Ever since Peter started publishing his hardware experiments, probably 4β5 years ago, I've wanted to connect something like that to a node.
π Knuth v1.0.0 is out.
This is not an incremental release.
It's a complete architectural rewrite.
The node is now built end-to-end on C++23 coroutines, powered by a CSP-style synchronization model, and backed by UTXO-Z β a new flat, mmap-friendly storage engine for the Bitcoin Cash UTXO set.
β‘ Full mainnet IBD from genesis to tip in 37 min β 1 h on typical hardware in our test runs.
Not a fast-sync.
Not a UTXO snapshot.
The chain is reconstructed locally from genesis.
π§΅ C++23 coroutines across networking, validation and block synchronization
ποΈ UTXO-Z storage with incremental UTXO construction and an embedded Bloom filter
π³ Lock-free header index, ready for fork-aware chain selection
π BIP155 addrv2, CIDR-aware whitelist matching, and configurable IPv6 networking
The previous architecture continues as the v0.x maintenance branch for users not ready to migrate yet.
After years of research, prototyping, benchmarking and rewrites, UTXO-Z is finally at the heart of Knuth.
π https://t.co/YCYyEAxEfw
#BitcoinCash #BCH #Knuth #UTXOZ #Coroutines #FullIBD
As for the next bottlenecks, they're quite different now.
In the old architecture, I/O and contention were often the dominant factors. By contention I mean threads spending time waiting on shared resources, locks, synchronization points, etc., instead of doing useful work.
With the new architecture, those costs are much lower, so the profile changes considerably.
Outside of IBD, signature verification remains the largest bottleneck by far. There's still a lot of room for improvement there, from software optimizations all the way to specialized hardware such as Peter Rizun's accelerator.
On the storage side, UTXO-Z also has plenty of headroom left. I don't think we've found its limits yet.
No. Like Knuth v0 and BCHN, signatures are considered valid up to a certain point during IBD and are not all re-verified from genesis.
The two big contributors to the improvement are UTXO-Z and the complete rewrite of the networking layer.
UTXO-Z significantly reduces storage overhead during IBD, but I suspect the networking rewrite is actually the larger contributor in this particular benchmark. The old architecture had much more contention and synchronization overhead. The new design keeps the pipeline busy much more consistently and eliminates a lot of waiting between stages.
Because signatures are not fully verified during most of IBD, CPUs remain relatively idle. If every signature were validated from genesis, the bottlenecks would look quite different.
@Vladcostea@monsterbitar@4moonsettler Yes, the instructions on https://t.co/iZO1XF8mls should work on macOS as well.
If you run into any issues, feel free to reach out here on X, send me a DM, or join our Telegram group:
https://t.co/GVyFj9ZVGN
I'll be happy to help with the setup.
π Knuth v0.85.0 is out.
Over the last few releases we've been exposing more and more of Knuth's internals through the C-API.
What used to be functionality available only inside the node can now be accessed from Python, Node.js, WebAssembly, C#, and any language binding built on top of Knuth.
πͺ CashTokens minting and token-aware coin selection
π BIP39, BIP38, BIP137
π€ Stealth addresses (BIP63) and Bitcoin URIs (BIP21)
βοΈ Script VM internals, execution context, metrics, stacks and big numbers
π¦ Transaction builders and wallet primitives
π ABLA block-size limit calculator
The goal is to turn Knuth into more than a node: a complete foundation for BCH wallets, dApps, explorers, services and developer tooling.
π https://t.co/89gxqaUg52
#BitcoinCash #BCH #Knuth #CashTokens #WebAssembly
UTXO-Z v0.8.0 released.
https://t.co/2kt86mgCoQ
Infrastructure evolves:
β’ Conan package publishing
β’ Dependency updates
β’ Release automation
UTXO-Z is now ready for integration into @KnuthNode.
From standalone project to production infrastructure.
#Bitcoin#Cash#Scales
Knuth v0.80.0 is live. π
Big one: the Bitcoin Cash VM and script interpreter are now
directly exposed through the C-API. Python, WASM, Node.js, C#,
any higher-level binding can now drive Script execution step by
step, straight from Knuth's core.
This is the foundation for the Knuth wallet and for dApp
development tooling, anything that needs to run, inspect or
debug Bitcoin Script from outside the node can now do it.
Plus: every chain, wallet and VM binding in the C-API has been
unified around consistent handles and lifetime contracts, so
language wrappers can rebuild cleanly without drift.
https://t.co/pWmnvXqVLL
#BitcoinCash #BCH #Knuth #WASM
π Knuth v0.78.0 is out.
This release is all about the foundation for our upcoming BCH wallet:
πͺ Token-aware coin selection β new coin_selection module with UTXO selection that understands CashTokens.
π§ Wallet utilities & C-API improvements β more building blocks for multi-language integrations.
β‘ Emscripten upgraded from 3.x to 5.0.3 β our WASM builds now use the latest emsdk, keeping the browser-side library up to date.
π https://t.co/gZrhlqvbY6
#BitcoinCash #BCH #Knuth #WASM
Dev update :
Currently exploring full node infrastructure that will serve as the core data layer for RabbitExplorer. Experimenting with Knuth after previously working with BCHN and Chaingraph.
@KnuthNode@bch_1_official@bch
Great question.
They are functionally equivalent in terms of consensus behavior, but we donβt claim strict implementation-level identity.
The reason we keep both is basically risk management. In a consensus system, even very small differences can have serious consequences. Having the BCHN VM available, which is the same code as the reference implementation, gives a conservative path for users who want maximum assurance.
At the same time, the Knuth VM is built with a different goal in mind. It exposes much richer internals, things like detailed error reporting, execution tracing, stack inspection and metrics. That makes it much more suitable for debugging and building developer tooling, which is hard to achieve cleanly in the reference VM without major changes.
Weβve validated the Knuth VM quite extensively. We ported and adapted the BCHN script test suite, including more than 1,700 script vectors, 23K BigInt tests and VM limits tests. We also ran a full IBD from genesis to tip using the Knuth VM with no checkpoints, verifying every script, and got zero errors.
That gives us a high degree of confidence, but absolute equivalence is very hard to prove, especially because even the process of adapting tests can introduce subtle differences.
If we could guarantee perfect equivalence, we probably wouldnβt need two VMs. But in a consensus-critical system, we prefer to keep that safety net.
π Knuth v0.77.0 is out β and this is a big one.
We just brought our native Script VM back to the frontier.
Knuth is the only Bitcoin Cash node with two VMs:
β’ A native VM built for developers
β’ The BCHN consensus VM (same code BCHN runs in production)
π Switch between them with a single build flag.
π§ The upgrade:
Our native VM was way behind. Not anymore.
It now matches consensus rules through the May 2026 upgrade
(we call it Leibniz, BCHN calls it Upgrade 12).
And we didnβt just βupdate itβ β we proved it:
β’ 1,700+ script test vectors
β’ 23K+ BigInt tests
β’ 165 VM limits tests
All ported, adapted, and cross-validated against BOTH VMs.
π¬ Why this actually matters:
This isnβt just another interpreter.
The Knuth VM is built like a real debugger for Bitcoin Script:
β’ Step-by-step execution
β’ Breakpoints on opcodes
β’ Full stack & alt-stack inspection
β’ Per-opcode error reporting
β’ Execution tracing through branches
β’ Metrics: sigchecks, hashes, op cost
π This is the kind of tooling Bitcoin Script never really had.
A foundation for debuggers, analyzers, and serious dev tooling.
π§ͺ Validation:
Full IBD. Genesis β tip.
β Knuth VM
β No checkpoints
β Every script verified
Result: zero errors
π‘οΈ Donβt trust it yet?
Perfect.
Run Knuth with the BCHN VM β and still get:
β’ Modern C++23 codebase
β’ Better networking
β’ UTXO-Z + improved DB architecture
β’ Real parallel block validation
(no global cs_main bottleneck π)
β’ Multi-language bindings (C, C#, Python, TS, JS, WASM)
π₯ Scale of this release:
PR #188 touched 1,154 files
Yeah⦠we went all in.
π Release:
https://t.co/zGyJ13YcRE
#Bitcoin #Cash #BCH #Knuth
UTXO-Z v0.3.0 released.
https://t.co/ZXOf8uyztF
Production-scale benchmarks.
Persistent metadata.
Correctness and regression tests.
Storage and sizing optimizations.
UTXO-Z is maturing as the next-generation UTXO DB.
Integration into Knuth is underway.
#Bitcoin#Cash#Scales
UTXO-Z v0.1.0 is now public.
https://t.co/wRhWbEJGna
Months of research are now real code.
This is an alpha release. The implementation and API will evolve.
Integration into the Knuth node is underway.
This is just the beginning.
#Bitcoin#Cash#Scales