Skip to content

Rounds and Squeek blocksLink to this section

TL;DRLink to this section

  • Rounds group measured work into ten-minute intervals.
  • Squeek blocks count completed amounts of settled work, not elapsed time.
  • Ethereum blocks contain transactions; they're different from both Squeek blocks and measurement rounds.

Why are there three different units?Link to this section

Ten minutes can pass with little wheel activity, a lot of activity, or none. A measurement round groups the accepted work during that time. A Squeek block instead completes when enough work has been settled, so finishing a round doesn't guarantee a completed Squeek block.

Ethereum has its own blocks. They contain transactions, including those that settle Squeekchain work. One settlement can complete several Squeek blocks inside a single Ethereum block; users aren't guaranteed a chance to transact between those completions.

Clock Unit Advances when
Measurement round 600 seconds Time passes from the configured start time
Squeek/Core block Fixed work threshold Enough work has settled
Ethereum block One chain block Ethereum produces another block

Use measurement rounds to understand activity over time, Squeek blocks to understand work progress, and Ethereum blocks to locate transactions and count confirmations.

How it worksLink to this section

The Pi groups accepted passages into rounds from the configured start time and saves each completed round, including uninterrupted rounds with no work. Once the work settles, Core adds it to the cumulative total and completes a Squeek block whenever that total crosses another fixed work threshold.

Public chain views wait for 12 confirmations before including the settlement. This doesn't turn settled work into rewards automatically; How rewards work explains the separate funding step.

Technical detail: rounds and workLink to this section

Round boundariesLink to this section

Round 1 starts at the configured genesis time, followed by a new round every 600 seconds. A passage exactly at a round's end belongs to the next round, not both.

The Pi saves each completed round's identity, start and end times, work total, and data hash, including zero-work rounds. Hosted services cannot divide an unexplained increase in the total into invented round records.

Work-derived block stateLink to this section

Divide settled work by the work required per Squeek block: the whole-number result is the completed block count, and the remainder counts toward the next block. With W for settled work and D for work per block:

  • Completed Squeek block height: floor(W / D).
  • Work carried toward the next block: W mod D.

Difficulty stays fixed for the lifetime of the connected contracts. Recording a zero-work gap adds no work and completes no block.

Confirmation clockLink to this section

A Core transaction executes in an Ethereum block, but public chain views wait for 12 confirmations. The indexer uses safeThroughBlock = indexedThroughBlock - 11, so the boundary block counts as the first confirmation.

The indexer may be behind the latest Ethereum block. Use Ethereum block numbers for transactions and confirmations, and Squeek block numbers for work progress.

Rules and boundariesLink to this section

  • A ten-minute round does not guarantee a completed Squeek block.
  • A zero-work record proves no accepted work in that round; a missing record proves no such thing.
  • The Reporter waits for a positive-work round before submitting preceding zero-work rounds.
  • One settlement can complete several Squeek blocks at once. Users are not guaranteed a chance to transact between them.
  • Statistics cannot show exact block-completion times without saved start and completion boundaries.
  • Core records work, not rewards; see How rewards work for reward rules.

ExampleLink to this section

Illustrative calculation with difficulty D = 10 work units per Squeek block. A settled round adds 8 work units:

Core quantity Before settlement After settlement
Certified work W 17 25
Completed Squeek height 1 2
Work carried toward the next block 7 5

If Core settles this work in Ethereum block B, the public chain view includes it once the indexer processes B+11. The measurement round, Squeek block count, and Ethereum confirmations remain separate measures.

For an illustrative genesis of 00:00:00 UTC, round 1 covers 00:00:00 up to but not including 00:10:00. A passage at exactly 00:10:00 belongs to round 2.