> For the complete documentation index, see [llms.txt](https://docs.zecblocks.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zecblocks.xyz/mining.md).

# Mining

ZB-1 mining is an **application-level proof-of-work challenge**. It is not ZEC network mining and does not participate in Zcash consensus.

## Difficulty

ZB-1 v1 uses:

```
SHA-256
26 leading zero bits
```

The expected search space is:

```
2^26 = 67,108,864 hashes
```

Mining is probabilistic. A valid proof can appear much earlier or much later than the statistical average.

## Proof preimage

The v1 proof is defined over:

```
domain ||
genesis_txid ||
token_id_le32 ||
source_block_hash ||
owner_commitment ||
nonce_le64
```

Where:

```
domain = UTF8("ZB1:MINE:v1")
```

The proof hash is:

```
SHA256(preimage)
```

A proof is valid when the resulting digest has at least **26 leading zero bits**.

## Field encoding

* `genesis_txid`: 32-byte transaction ID decoded from canonical displayed hexadecimal form
* `token_id_le32`: unsigned 32-bit little-endian integer
* `source_block_hash`: 32-byte block hash decoded from canonical displayed hexadecimal form
* `owner_commitment`: 32 bytes
* `nonce_le64`: unsigned 64-bit little-endian integer

Every implementation must produce exactly the same byte sequence before hashing.

## Mining does not create ownership by itself

Finding a valid nonce is only the proof step. Ownership begins only after a valid ZB-1 claim carrying that proof is confirmed and accepted by the protocol rules.
