Documentation only: what each number on this dashboard means and how it is made. Every rule here applies to every finalizer.

01What this measures#

Three things: whether blocks are being finalized, how stake is spread across finalizers, and how each finalizer has behaved. All of it is read from the chain and from the signatures finalized blocks carry, by one independent node. The Crosslink Dashboard is an open, neutral view of the Zcash finality network and an independent community tool, not an official Shielded Labs site.

The principle: we build the tool we would want to exist even if we did not run a finalizer. The same rules apply to every finalizer, and nobody pays for a place on the page.

Two networks. The dashboard reads the Crosslink Feature Net, where Crosslink runs before mainnet, and the Nightly Network, Shielded Labs' second test network, built from the newest code and replaced whenever a new one is needed. The selector at the top of every page chooses one. The network is part of the page's address, so a link opens on the network it was copied from, and nothing on a page comes from the other network: each is read by its own node and kept in its own database. The software is experimental, and behaviour on mainnet may differ.

Retention. Stake history and the charts are kept for 90 days. Finalized blocks and their signatures are kept for that long or for the last 100,000 finalized blocks, whichever is longer. Every finality stall is kept.

Open methodology. Every rule behind a number is on this page. Statements about the protocol are checked against the Crosslink source code and the running network.

02Words#

Finalizer
A node that signs blocks to finalize them, known by its key and run by an operator.
Stake
cTAZ locked with a finalizer until it is unstaked and withdrawn.
Voting power
A finalizer's share of all stake.
Delegator
A person who stakes cTAZ with a finalizer.
Staking Day
The blocks when staking, unstaking and withdrawing are allowed: blocks 0–69 of every 150.
Unbonding
The wait after unstaking, before the stake can be withdrawn.
Finalized
Signed by finalizers holding two thirds of all stake. A finalized block cannot be reversed.
Finality gap
How many blocks the newest block is ahead of the last finalized block.
Finality stall
No block finalized for 3 minutes or more, while mining continues.
Round
One try at finalizing a block: one finalizer proposes a block and the others vote on it. If no block gets two thirds, a new round starts.
Uptime
The share of finalized blocks a finalizer signed.
Online / offline
Whether a finalizer signed a recent finalized block.
Participation
The share of stake that signed each finalized block.
Nakamoto coefficient
The fewest finalizers that together hold more than a third of all stake.
cTAZ
The coin of the test networks (Crosslink TAZ). It is a test coin and has no value.
Feature Net
The test network where Crosslink runs before mainnet.
Nightly Network
Shielded Labs' second test network, built from the newest Crosslink code and replaced whenever a new one is needed.

03Finality#

Zcash stays Proof of Work (PoW): miners still produce the blocks. Crosslink adds finalizers, which sign blocks to finalize them. A block is finalized when finalizers holding two thirds of all stake (66.67%) have signed it, and then it cannot be reversed. Signatures count by stake, not by finalizer.

finality gap = latest block height − last finalized height

The gap is normally a few blocks. It grows while finality is stalled, because mining continues.

Why finality stalls#

Finality is stalled when no block has been finalized for 3 minutes or more. Mining continues, but no new block is finalized. The protocol takes no stake during a stall (§08). A stall has one of two causes:

Stake offline
Finalizers holding more than a third of stake are not signing, so less than two thirds of stake is signing.
No agreement
Enough stake is online, but no proposed block gets two thirds of signatures, and the rounds keep starting again.

A stall is a network event, not a fault of any one finalizer. The Finality stalls list takes each stall's length from block times and counts the rounds its next block took. Times when this site was not collecting are never counted as stalls.

04Decentralization#

The Nakamoto coefficient is the fewest finalizers that together hold more than a third of all stake. A block needs signatures from two thirds of stake, so any group holding more than a third can stall finality by stopping together, on purpose or by accident. The higher the number, the more separate finalizers would have to stop at once.

More than a third means more than 33.34% of all stake. The network page shows how much stake added outside the largest finalizers would bring their share down to that. Stake added elsewhere also grows the total, so:

stake needed = all stake × (their share − 33.34%) ÷ 33.34%

Rewards are the same with every finalizer (§08), so spreading stake does not lower a delegator's rewards.

05Uptime#

uptime = finalized blocks signed ÷ finalized blocks in the window

The window is the last 100,000 finalized blocks, counted from when this site first saw the finalizer among the finalizers. With fewer blocks on record, because it joined later or this site has not collected that long, uptime uses the blocks there are, and the page shows the count: “signed 9,812 of 9,830 finalized blocks”. The network page also draws uptime by day over the last 30 days.

No node holds every signature: each keeps the ones that arrived at it, always enough to finalize the block. Every mined block also carries the signatures its miner's node held. The chain does not check these, so this site checks each one and adds those our node did not receive. Uptime is still a lower bound.

With no signed block on record, a finalizer shows no uptime (—), never 0%. It may be down, its key may have been entered in a form no node uses, or its signatures may not have arrived; one node cannot tell these apart.

The suggestion rule#

For the suggestion only, uptime is first pulled toward the network average while a finalizer has few blocks on record, so a short perfect record does not outrank a long good one. A finalizer can be suggested, and is listed under “Meets the rule”, when all of these hold:

  1. adjusted uptime at least 80%;
  2. 1,000 or more finalized blocks on record;
  3. online now;
  4. signed at least 8 of the last 10 finalized blocks;
  5. outside the finalizers counted by the Nakamoto coefficient.

One of them is picked at random. No suggestion is made while finality is stalled or this site's data is stale.

06Online and offline#

A finalizer is online when it signed a finalized block within 10 minutes of the latest one, and offline otherwise, including when it has never signed. While finality is stalled no block is finalized, so status stays as it was at the last finalized block, with one exception: a finalizer that was connected to our node when finality stalled and has had no connection for 1 hour is offline.

Status reads only finalized blocks, the same record as uptime (§05); only the connection check is our node's own. Online stake is the stake of online finalizers as a share of all stake. When this site is not collecting, status shows a dash.

07Participation#

Participation is the share of all stake that signed a finalized block, from the signatures this site has for it, with each finalizer weighted by its stake at the time. The chart shows the average for each stretch of time against the two-thirds line. The signatures are a lower bound (§05); each stretch uses the stake list recorded nearest to it.

Shaded stretches are finality stalls, which have no finalized block to measure. Hatched stretches are times when this site was not collecting.

08Staking#

Delegators stake cTAZ with a finalizer from their own wallet, which calls it a delegation bond. Staking, unstaking and withdrawing are allowed only while Staking Day is open: blocks 0–69 of every 150. An unstake or a withdraw must also come at least 75 blocks after that stake's last action. Moving stake to another finalizer (redelegate) works at any time. New stake counts from the start of the next staking period (every 150 blocks). Unstaked stake stops counting at the same point and is unbonding; after the unbonding period it can be withdrawn.

  1. Copy the finalizer's key from its page.
  2. Reverse it for your wallet. A Crosslink wallet reads a key in the opposite byte order from this site, so enter its 32 bytes (two characters each) from last to first: a key shown as 12ab…cd34 is entered as 34cd…ab12. Staking with the key exactly as shown would stake with a key no finalizer holds, which never signs a block.
  3. While Staking Day is open, stake with that key in a Crosslink wallet. Try a small amount first.
  4. Keep the bond key the wallet shows for this stake; a wallet used from the command line asks for it to unstake or withdraw.
  5. After the next staking period, check that the finalizer's stake on its page grew.

No automatic slashing. The Crosslink protocol has no in-protocol slashing: nothing takes stake automatically because of what a finalizer does. The Crosslink FAQ expects delegators to watch finalizer performance and move stake to finalizers that behave reliably; this dashboard is for that. A user-led hard fork can still terminate a finalizer and burn all stake with it, including stake moved away from it in the two staking periods before.

Rewards and yield#

Each block's staking reward is shared by all stake in proportion and added to it. Rewards do not depend on uptime: the same stake earns the same with any finalizer, including one that does not sign. No commission on the Feature Net: the running software pays operators no share. On the Nightly Network a finalizer takes one part in ten of the rewards on the stake with it (§12). The Crosslink design describes a commission for mainnet.

Estimated yield is measured, not promised: the median growth over the last 24 hours of finalizers nobody staked with, unstaked from or moved stake to or from, scaled to a year. If there are too few of them, new stake read from blocks is subtracted instead, and if that is not possible no yield is shown. The reward per block is fixed, so the yield falls as more is staked. The page hides a figure above 2,000% a year, which large stake moves can cause.

09Stake changes#

net change = stake at the end − stake at the start grown by the rewards

So rewards are not counted. The counts, staked · unstaked · moved, are staking actions read from the blocks. A new stake carries its amount. An unstake or a move names only the stake it acts on, so its amount is known only if this site saw that stake created; the net change counts it either way.

10Finalizer names#

A finalizer is a key. A name, website and short description are shown when the finalizer has added them to the finalizer name registry, with a message signed by its finalizer key. Without one, the page shows the short key. Names never change uptime, rank or the suggestion.

11Data and privacy#

The dashboard shows per-finalizer totals the chain already makes public. It collects no wallet data and stores no transaction ids. To follow a stake that is later unstaked or moved, it keeps a hash of each stake's bond key with its finalizer and amount, and never serves it.

For visitors: no cookies and no third-party requests. Your browser keeps the theme, and nothing else. The web host keeps ordinary request logs.

12Limits#

One node's view
Our node is a full node that holds no finalizer key. Uptime and participation are lower bounds (§05).
Catching up
Signatures are recorded only at the newest block, so while our node catches up, the page says so and uptime fills in.
During a stall
A node without a finalizer key receives a block's signatures only after the block is finalized, so during a stall it cannot see the rounds. That is why status stays as it was at the last finalized block (§06).
Our own outages
Times when this site was not collecting show as no data and never count as stalls.
Nightly Network
Finalized blocks and their signatures are read there as on the Feature Net. Its staking actions have another layout and are not read yet, so stake changes read as zero there and the estimated yield is not shown. Only the largest few finalizers by stake are active there; the others sign nothing and read as offline. A finalizer's commission is added to its stake, and the stake figures do not separate it out.