arena: per-author block gap, timestamp drift and consecutive-block series #12

Merged
grenade merged 1 commits from arena/gap-and-drift into main 2026-09-04 05:38:54 +00:00
Owner

Two signals that expose what other miners are doing, from data the exporter already fetches plus one chain_getBlock per tip block:

  • quantus_block_gap_seconds{preimage}: histogram of the time between a block and the previous one, by the author of the later block, using the authors' own timestamps (the Timestamp::set inherent, pallet 1 call 0, decoded from the first extrinsic; format verified against a live block). Bursts in the lowest buckets for one author right after others' blocks are withheld blocks.
  • quantus_block_timestamp_drift_seconds{preimage}: block timestamp minus the moment the exporter first saw the block. Negative is propagation plus poll lag; positive is a future-dated block, which the Homestead-style retarget rewards slightly (the inherent allows 30 s).
  • quantus_consecutive_self_blocks_total{preimage}: blocks authored directly after the same author's previous block.

Same top-N cap as the leaderboard, with other merged and all for the whole network. Validated live against bob for three minutes: 17 blocks, gaps and drift populated, one author already showing blocks stamped 30 s behind their arrival.

Dashboard: a new "Author timing" row with p10 gap, median drift and consecutive-block rate per author.

Merging deploys the exporter (checksum-gated restart on the node host) and the dashboard.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CBgs2nSi4H2mdh8kD8vMX5

Two signals that expose what other miners are doing, from data the exporter already fetches plus one `chain_getBlock` per tip block: - **`quantus_block_gap_seconds{preimage}`**: histogram of the time between a block and the previous one, by the author of the later block, using the authors' own timestamps (the `Timestamp::set` inherent, pallet 1 call 0, decoded from the first extrinsic; format verified against a live block). Bursts in the lowest buckets for one author right after others' blocks are withheld blocks. - **`quantus_block_timestamp_drift_seconds{preimage}`**: block timestamp minus the moment the exporter first saw the block. Negative is propagation plus poll lag; positive is a future-dated block, which the Homestead-style retarget rewards slightly (the inherent allows 30 s). - **`quantus_consecutive_self_blocks_total{preimage}`**: blocks authored directly after the same author's previous block. Same top-N cap as the leaderboard, with `other` merged and `all` for the whole network. Validated live against bob for three minutes: 17 blocks, gaps and drift populated, one author already showing blocks stamped 30 s behind their arrival. Dashboard: a new "Author timing" row with p10 gap, median drift and consecutive-block rate per author. Merging deploys the exporter (checksum-gated restart on the node host) and the dashboard. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01CBgs2nSi4H2mdh8kD8vMX5
grenade added 1 commit 2026-09-04 05:38:47 +00:00
Two signals that expose what other miners are doing, both from data the
exporter already fetches plus one chain_getBlock per tip block:

- quantus_block_gap_seconds{preimage}: histogram of the time between a
  block and the previous one, by the author of the later block, from the
  authors' own timestamps (the Timestamp::set inherent, pallet 1 call 0,
  decoded from the first extrinsic). Bursts in the lowest buckets for one
  author right after others' blocks are withheld blocks.
- quantus_block_timestamp_drift_seconds{preimage}: block timestamp minus
  the time the exporter first saw the block. Negative is propagation and
  poll lag; positive is a future-dated block, which the Homestead-style
  retarget rewards slightly (the inherent allows 30 s).
- quantus_consecutive_self_blocks_total{preimage}: blocks authored directly
  after the same author's previous block.

Same top-N cap as the leaderboard, with "other" merged and "all" for the
network. Validated live against bob for three minutes. Dashboard row
"Author timing" with p10 gap, median drift and consecutive-block rate.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CBgs2nSi4H2mdh8kD8vMX5
grenade merged commit 7cd4f9b50c into main 2026-09-04 05:38:54 +00:00
grenade deleted branch arena/gap-and-drift 2026-09-04 05:38:54 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lair/quantus#12