Preparing Submissions

Submission Structure

An epoch solution submission is a Bitcoin transaction containing specific data that proves the miner's work and attests to historical state. Each submission must include the following components:

SHA-1 Proof

The hash result demonstrating the near-collision with the checksum root, including the number of matching bits achieved.

Miner's Public Key

The public key used in the SHA-1 computation, serving as both miner identity and part of the hash input.

Salt Value

A 32-byte random value that, combined with other inputs, produced the collision result.

Attestation

A reference to the state from four epochs prior, proving the miner built upon immutable historical data.

Bitcoin Embedding

Submissions are embedded in Bitcoin transactions using Tapscript witness data through the following process:

  1. Construct the solution data structure with all required fields.
  2. Encode the data according to OP_NET's submission format.
  3. Create a Bitcoin transaction with this data in Tapscript witness.
  4. Broadcast the transaction during the submission window.
  5. Ensure inclusion in a Bitcoin block before the window closes.
Timing is Critical
Submissions must be included in Bitcoin blocks during the submission epoch, which consists of the five blocks immediately following the challenge epoch. Late submissions are invalid.