A small block that a miner finds with a share of the block's proof of work. Subblocks carry transactions and arrive about once a second here. They are the circles on this page, coloured by the miner that found them.
Summary block
The block that closes a round. When the DAG holds k−1 subblocks, the next block found is a summary block, which commits to all of them and starts a fresh DAG. It receives about 1/k of the round's reward, a bit more when the round branches. Summary blocks are the gold squares, and their height is the chain height.
DAG
Short for directed acyclic graph. Instead of one straight chain, a subblock may point back to several parents, so the blocks form a graph that branches and rejoins but never loops back.
k
How many pieces of work make up one block. Nexa counts the summary block itself: it is mined at the same target as the subblocks, as the k-th piece of work, so a round is k−1 subblocks plus the summary block. k = 120 is the value in the current code for mainnet, and the demo uses the same value; it isn't a final activation setting. The paper counts differently: there, a summary block confirms k subblocks and needs no proof of work of its own.
Tip
A subblock that no other subblock builds on yet, i.e. the current end of a branch. The newest one glows as the DAG tip.
Branch and merge
When two miners find a subblock on the same parent at nearly the same moment, the DAG branches: two subblocks now sit side by side, each the end of its own branch. The next subblock a miner finds points back to both of them as parents. That is a merge (marked ⋈): the branches join back into one line and neither subblock is discarded. In a normal single-chain blockchain one of the two would be thrown away (orphaned) and its miner's work wasted.
Uncle
A valid subblock that missed the summary block it was meant for, usually because the round was already full when it arrived. Instead of being thrown away, it is carried into the next round, and the following summary block includes it. Its score is 4 points below a perfectly linked subblock. They are drawn with a dashed red outline and a U. The word and this behaviour come from Nexa's implementation, not from the paper.
Width and depth
Width is the largest number of subblocks found side by side (in parallel) in one DAG, and depth is the length of its longest path. A wider DAG means more parallel mining. A DAG with width 1 is a plain chain.
Stormtest
A private Nexa test network with Tailstorm switched on. It is used only for this demo and isn't mainnet. On mainnet, Tailstorm is implemented but its activation is still pending.
Simulated view: live feed offline.The DAG and numbers below are generated in your browser to show how Tailstorm behaves; they are not real stormtest data. The page keeps checking the live feed and switches back automatically when it returns.
Data is stale.
Summary
–
Subblocks
–
Last update
–
Tailstorm
–
Miner rate
–
Branching
–
DAG tip
–
This round: subblocks since the last summary blockRound subblocks
swipe → to explore the DAG
What you're watchingReward split
Who gets paid per block Illustrative
How Tailstorm decentralizes block rewards: one block, many winners.
Today: winner takes all
One proof of work per block. Its finder takes the whole reward.
1 block → 1 miner paid
Colour = the one miner. Everyone else: nothing.
Tailstorm: split across subblock miners
The block is k pieces of work. The full reward is split by DAG connectivity.
Chance a 1% miner gets paid in a block 1 − 0.99k
Today1%
k = 4033.1%
k = 12070.1%
Same expected income in both models: only variance and frequency change.
k = 120 in the current mainnet code, 40 on upstream stormtest; this demo reports k = 120. Squares = the last finished round's subblocks coloured by miner, not exact reward shares. Source: One Block, Many Winners.
Recent summary blocks Each row is one finished round: start summary, its subblocks, sealing summary
swipe → to explore each finished round
Questions visitors ask
What is a summary block?
The regular block of the chain, about every 2 minutes. It closes a round by committing to the subblocks found since the previous one, and its height is the chain height. It receives about 1/k of the round's reward, a bit more when the round branches. In Nexa it is the last piece of work of the round, found at the same difficulty as a subblock.
What is an uncle?
A valid subblock that arrived after its round was already full. Instead of being thrown away, the next summary block includes it; its score is 4 points below a perfectly linked subblock. “Uncle” is Nexa's word, not the paper's.
Does Tailstorm increase TPS?
That is not its main goal. The goal is fast, reliable confirmations and fair mining: a payment shows up in a subblock within seconds, and full settlement still comes with the next summary blocks. Capacity is still set by the block size limit.
Can subblocks be reorganised?
Rarely, and cheaply. Parallel subblocks are merged, not discarded. Until the summary block arrives, which subblocks it includes can still change (a late one becomes an uncle), so wait for a summary block for large payments. After that, undoing them means a normal blockchain reorg.
Who mines the summary block?
No extra big job. Whoever finds the next piece of work once the round is full (119 subblocks in this demo) turns it into the summary block. In the paper the summary needs no proof of work at all: anyone holding k subblocks assembles it.
Why mine subblocks?
That is how miners get paid: each summary block splits the reward and fees among the miners of the subblocks it includes. Smaller miners earn steadily, and well-linked subblocks earn more, so hiding blocks to cheat costs the cheater.
Changelog(newest first, Oslo time)
A “Reward split” view (illustrative): who gets paid per block today versus with Tailstorm, drawn from the last finished round's subblocks. On the normal page it is a tab next to the live DAG; on the office display it alternates with the explainer every 20 s.
New live reward split panel: what each miner was actually paid in the last summary blocks (read from the on-chain coinbase), and a clearly marked estimate for the round in progress. In full screen it sits in the right column; on the normal page it is right under the live DAG. It replaces the illustrative “Reward split” tab.
When the live feed is offline or stale, the page now shows a clearly labelled simulated DAG (generated in your browser) instead of an empty view, and switches back to live data automatically when the feed returns.
On phones, the live DAG now comes first, right under the title, with the stats and the explainer below it.
Links to the explainer article on Medium and the thread on X, in the header and the footer.
A “What you're watching” explainer with Tailstorm's purpose and a legend (also a side panel on the office display, with rotating answers to common questions), a “Questions visitors ask” section, and clearer labels.
Office display mode: a Full screen button (or press F, Esc to leave), and ?kiosk=1 for a one-screen layout sized for a wall or desk monitor, with a hidden cursor, the screen kept awake and automatic recovery.
Click or tap any subblock to see its hash, miner, time, parents and the subblocks built on it. Branch and merge are now explained in plain words. Added this changelog.
The live feed now recovers by itself within about a minute if its public tunnel drops, with no reload needed.
Recorded that k = 120 is the value in the current code for mainnet, and the demo uses the same value; it isn't a final activation setting.
Added the "Tailstorm terms, explained" box.
Linked the peer-reviewed Tailstorm paper (AFT 2023).
Four competing miners, so the DAG visibly branches and merges.
First version: a live view of the Tailstorm DAG on a private stormtest chain.