Monthly Development Updates: August 2026

August brought several key developments, including the release of Nexa Full-Node 2.2.0.0 and progress toward activating the Tailstorm protocol, which will transform Nexa into the first hybrid of a traditional blockchain combined with a directed acyclic graph (DAG) model that persists only in RAM.

This novel architecture unlocks subblocks that will be mined on average every 3 seconds. This also means you can see your transactions picked up and mined within the same timeframe. In practice, you won’t need to wait for long block confirmations, and transactions will be mined in seconds.

Find more details from Tailstorm and other important developments from Nexa in the Monthly Development Update below.

Nexa Full-Node 2.2.0.0

This release also contains a substantial body of work for the next network upgrade (hard-fork 2), including Tailstorm consensus, the retargetable-range sighash types, and others. None of it is active yet: each change is gated behind hard-fork 2 activation and remains dormant until then.

To prepare the release, we wrote the release notes, moved the hard-fork activation to a future date, and bumped the nexad version to 2.2.0.0; then we aligned the regtest HF2 activation with the other networks. We also moved the default CAPD message pool size to 100MB. That cap is still 3x smaller than the txpool size, and 100MB is a modest amount of memory for a node on modern hardware.

Tailstorm Improvements

A miner can mine a conflicting transaction in a subblock that references only the previous summary and win the double spend outright, because the winning property is one the miner can set. Hence, we now select by maximum DAG score. The score is uncles + ancestors + descendants, so a subblock cannot raise its standing by referencing fewer, and the attack inverts.

Then we rebuilt it to resolve double spends through a live excluded-transaction view. Currently, the first subblock that carries a losing spend (in an unrelated subblock chain) links. Every later subblock that spends an output of that loser fails to connect (missing input) and never links. The orphan pool churns with subblocks that don’t spend the double-spend transaction but link to subblocks that did and were discarded, and downstream nodes can be starved of missing subblocks and stall. After a 770-block run injecting double spends across six nodes, the two self-mined summary failures are the only open items.

We tested how it breaks and captured it from a core dump during a double-spend injection on a six-node test cluster: the assertion is correct and unchanged, but the numbering was wrong. We also found that CheckForReorg serializes with a try-lock and silently drops requests that arrive while another thread holds the lock; now requests can be deferred but never lost, and reruns are bounded to one per real trigger. And: sending SIGKILL to a node during its initial header sync and restarting it left the datadir unbootable in 1 of 6 runs before this change, and in 0 of 16 runs after it.

Wallets and HodlVaults

For a time lock vault that is terminal: a claim sweeps every matured vault of the account at once; a vault cannot be opened early, and so the coins, tokens, and batons were locked in the contract for good. So we added VaultScope to TimeLockVault so a claim can target a single vault. We also re-attached the vault destination to a UTXO that lost it on a database load, so a claim after a restart no longer reads the vault as holding nothing spendable.

Also fixed a deadlock: 16 threads were parked on the wallet mutex, and no thread in the process was making progress, including the app’s UI thread. Two lines, no signature change. And this project has no tags and no releases at all, so a version bump leaves nothing behind that says what it contains. Answering “what changed in 0.6.2” today means reading main’s history and guessing where the previous version ended, and now we publish a GitLab release with a changelog on every version bump.

NexaApp Design System

This introduces several new Nexa-standard UI components available to all consuming applications:

  • NexaToast

  • NexaTable

  • NexaNavBar

  • NexaDropdown

  • NexaBottomBar

  • NexaSidebar

  • NexaChart

  • NexaStepper

  • NexaModalSheet

  • NexaTabs

  • NexaTextField

  • NexaButton

  • NexaIcons

  • NexaCheckbox

It also introduces a standard Light/Dark theme in DesignScheme. Consuming apps can override the global DesignScheme, or override (most) design decisions per-component at individual call sites. Moving to the multiplatform build also fixes the Android issue, since Android cannot natively render SVG.

Smarter Tools for Builders

A consensus-exact Nexa Script interpreter and step-debugger, ported from the full node’s interpreter.cpp. It provides the script VM (ScriptMachine), a stepping DebugSession, signature checking against real transactions, and native BigNum support. Complements nexc, which compiles contracts to bytecode, by executing that bytecode.

Now NexID is usable by contracts. op=sign today produces only the wrapped, pubkey-recoverable message signature. That form cannot satisfy a smart contract rule that verifies a data signature with OP_CHECKDATASIGVERIFY, because that opcode verifies a bare 64-byte Schnorr signature over the message’s SHA256. A wallet holding an identity key therefore cannot authorize actions in a contract that trusts that key. Updated the NexID spec’s sigalg=ecdsv signature scheme to a domain-separated BIP340-style tagged hash signature to avoid replays as a transaction input signature.

Closing

This was just a brief overview of what’s been going on with Nexa recently. The team is working on many repositories, some of which aren’t publicly available yet but are heading toward final stages before the upcoming releases.

Hardware Acceleration, Nexa Warriors, AI Skills, and other important ecosystem parts are on the way, and we will share more details as we go.

To see all developments, we invite readers to visit Nexa’s official GitLab repository linked below.

Nexa GitLab:

1 Like

Great update, Nexa team! :rocket:

Thank you for the hard work and for keeping the community updated. The progress on Tailstorm, the upcoming Hard Fork 2, wallet improvements, and NexID integration is really interesting.

The move toward faster subblocks and stronger smart-contract capabilities is exciting to see. Looking forward to the next developments!

Keep building! :flexed_biceps: