Skip to content

Rounds, Batches and Jobs

The share chain turns a stream of contributions into one batch per Bitcoin block, and each batch into a list of proving jobs. Every node does this the same way, from the same data.

The share chain is read once per Bitcoin block, in rounds.

  • The cutoff. Round b ends at the last final share that names block b. Every node reads the same final chain, so every node finds the same cutoff.
  • The batch is every contribution referenced since the previous cutoff, in share order, filtered by the same check on every node: the proof verifies, the anchor is within the window, the nullifiers are unspent and not used earlier in the batch, and the fee meets the floor.
  • The inboxes. The deposit inbox is included when the chain shows one ready; the exit inbox at drain epochs. Both are facts on Bitcoin, not choices.
  • The gate. A batch is proved only if its fees cover its Bitcoin cost and a minimum price for the provers. Otherwise it waits for more contributions (see fees).
  • Jobs follow from the batch: band leaves and nodes, DA segments and nodes, payroll, settle-top and the final proof. Every node derives the same list.

A prover picks an open job of the oldest settlement in flight, in an order seeded by its own key so provers rarely collide, proves it, and publishes the result in a share. Because a result names the pay key bound inside its proof, copying someone else’s result credits them, not you.

When there is nothing to prove (quiet times), shares have no work to weigh them. Then the next batch comes from a fixed rule every node applies to the contributions it has relayed.

The next round’s batch is fixed against the state the in-flight settlement will leave, as soon as that settlement is proved, and its jobs start at once. The pair is chained in the mempool and can be mined in one block. At full speed about six settlements would be in flight at once.