
In this issue:
- Amateur Miners, the Time Is Now!
- New Analytics on Nockblocks
- OTC Market Development
- Multi-Threaded Mining
- Libp2p Inbound Connection Pruning
- And More
Amateur Miners, the Time Is Now!
Today, we shipped multiple updates to the open-source mining client, which cut proving time by about 80%.
Our goal was to decrease proof time per attempt to one minute on consumer hardware. Right now, we're clocking it at about 74 seconds per proof per thread on a MacBook with 2 gigabytes of memory per thread, down from 5 minutes per proof and 64GB of memory per thread at the start of the week. That's 5x faster and 32x less memory—huge improvements from small changes in the reference client (we only added about 200 lines of code).
This update should dramatically improve the prospects of amateur miners. We believe this update creates an opportunity for early hackers before wider participation increases the competition.
Consider that finding a block is probabilistic and follows a Poisson distribution. An individual's chance per block is proportional to their share of the total network proof rate.
For example, running 60 threads at one proof per minute per thread on a single computer yields about one proof per second. If the total network rate is 2,000 proofs per second, the chance of finding any given block is 1 in 2,000. If block times continue to average around 6 minutes, and all other network conditions hold constant, you might expect to win a block in about 8.5 days using the open-source client off the shelf with a single computer.
Obviously, this is just a toy model to help you think about your prospects. In reality, it's conditional on several network conditions, not least the number of miners. As more people enter the competition, your chances naturally decrease!
Technically, one of the major performance gains comes from a change in the badd
("base field addition") function within crates/zkvm-jetpack/src/form/math/base.rs
. Previously, the client used a slower, general-purpose method for modular reduction. The update introduced a specialized reduce_159
function tailored to reduce 159-bit numbers modulo a specific prime used in the zkVM's finite field arithmetic. This new function avoids slow division by using faster wrapping operations, overflow checks, and efficient bit manipulations. The main badd
function was updated to use wrapping addition and conditional subtraction, while the general reduce
function now delegates to the highly optimized reduce_159
, accelerating a core computation in proof generation.
New Analytics on Nockblocks
Southwestern Pool Supply Co. shipped several new charts on their Nockchain block-explorer. A few stand out:
- Full-transaction feed. The explorer now indexes every transaction, not just the block-reward transfers. This lets you track economic throughput, wallet-to-wallet activity, fees, etc., in real time.
- Proofrate and Mining Decentralization. See proofrate over time, unique miners over time, and a Herfindahl-Hirschman Index (HHI) over time gauging centralization/concentration.
- Address Counts. See total addresses, active addresses, and growth rates.



OTC Market Development
Since our last newsletter a week ago, we've seen about twenty-six transactions on-chain moving about 21M $NOCK.
Of these, only 5 exchanges could be found in the Telegram, with the following self-reported exchange rates:
- 1.5M NOCK @ 0.033 = $49.5k
- 430K NOCK @ 0.0348 = $15k
- 1.4M NOCK @ 0.0357 = $50k
- 10M NOCK @ .034 = $340k
- 1.03M NOCK @ .034 = $35k
These exchanges represent about $489k. All 26 transactions represent about $716k, assuming the average price of the above exchanges ($0.034). Obviously, some of the 26 transactions are likely to be internal transfers within organizations.
We're very pleased to see growing organic demand for $NOCK.
Other Updates
Multi-Threaded Mining. This commit implements parallelized mining using multiple threads to improve performance. A new --num-threads
CLI option was created in config.rs
, which defaults to the number of available CPU cores determined by the num_cpus
crate. This configuration is passed through the mining driver in lib.rs
to instantiate a multi-threaded SerfThread
from kernel/form.rs
. The implementation also required making SerfThread
and its methods public for broader integration.
Libp2p Inbound Connection Pruning. Some users had been reporting intermittent connection issues; this problem should now be solved, as we've improved the networking resource management. A new --prune-inbound
CLI option, modifies the behavior of a node when it reaches its inbound connection limit. The system tracks inbound connections and, when the limit is exceeded, implements a random pruning strategy to reduce the connection count. This allows a node to prioritize new connections and allow large numbers of nodes to join the network more easily. New metrics track the number of blocked and pruned incoming connections.
The First Halving. The first halving occurred, as we anticipated last week. We're now in Eon 2!
List Notes in Wallet as CSV. You can now list the notes in your wallet in CSV format for easier management.

That's all for this week!
Remember if you need help with technical issues, the Telegram is your best bet. Our engineers are active there.
Get Involved
- Follow Nockchain on X: @nockchain
- Start a Technical Conversation: Technical Forum
- Community Chat: Telegram