§ 08

§ 08 · Mining · Overview

Mining

Proof of useful work, where every tile of a matrix product is a lottery ticket

Mining decides who gets to add the next block. Everyone who wants to try does costly work, and the work works like a lottery: more work, more tickets, more chances to win the block and its reward.

In Bitcoin the work is hashing: guess a number, hash, check, repeat, trillions of times a second. The guesses are useless once the block is found.

Pearl’s work is matrix multiplication, the arithmetic at the heart of AI models. That’s Pearl’s big idea, proof of useful work: the same operations that serve an AI model can also mine a block. This group explains exactly how, byte by byte, and is honest about where the “useful” part ends.

Try it

Side by side: a Bitcoin miner trying nonces, and a Pearl miner turning matrix work into tickets.

Nonces vs tickets

Bitcoin guesses nonces; Pearl turns matrix work into tickets

One step = 8 Bitcoin hashes and one Pearl job.

Bitcoin guess and check

  1. 80-byte headerversion · prev · root · time · bits · nonce 0
  2. SHA256d…
  3. hash ≤ target?target 00ff ff00…, so the hash must start with 00
hashes tried
0
useful output
none

Press Run both.

The hash is the lottery ticket. Every losing guess is thrown away.

Pearl work, then tickets

  1. multiply A′ · B′4 × 16 times 16 × 4 · time 1,760,000,000 · 256 multiply-accumulates
  2. 4 tile diaries → 4 tickets …
  3. ticket ≤ target × 64?64 = the 2 × 2 × 16 multiply-accumulates one ticket cost
multiply-accumulates
0
useful output
none yet

Press Run both.

The multiplication is the work, and its result is kept. Tickets are a by-product; the block hash is never compared.

Toy odds Bitcoin side: about 1 hash in 256 wins. Pearl side: 1 ticket in 64, with the research toy’s 4 × 16 × 4 matrices. Real odds are astronomically smaller on both.

Runs in your browser · nothing is sent src/lib/hash.ts · miner.ts · runToyJob

How does Bitcoin mine?

A Bitcoin miner builds an 80-byte header that ends with a 4-byte nonce. It hashes the header, and if the hash, read as a number, is below the target, the block is won. If not, it changes the nonce and tries again. Each try is one “hash”, and that’s what Bitcoin’s hashrate counts.

The proof is the header itself: anyone can hash it once and see the small number.

What does a Pearl miner do instead?

Pearl’s header has no nonce, and its hash is never compared with the target. Instead, in plain words:

  1. Choose two matrices

    Any two grids of whole numbers from −64 to 64. In the official miner, they are an AI model’s activations and weights.

  2. Add noise nobody could predict

    Hashes of the block template and of the two matrices become seeds, and the seeds become noise that is added to both matrices. Change anything and the noise changes.

  3. Multiply, and keep a diary per tile

    The output is cut into small tiles (128 cells each in the reference miner and in the real blocks checked for this site). Every 128 steps along the multiplication, each tile’s running sums are folded into a 64-byte diary, its transcript.

  4. Every tile is a lottery ticket

    A BLAKE3 hash of the diary is the tile’s ticket. It wins if it’s at most the target times the work the tile cost.

  5. Prove the winner

    The winning tile becomes a certificate: about 60 KB, mostly a zero-knowledge proof that any node checks in milliseconds.

  6. Peel off the noise

    The noise is cheap to remove, so the miner can recover the product of its original matrices: the useful answer.

Bitcoinchange the nonceSHA256d(header)hash below target?noyes → the header is the proofPearlmatrices A, B + unpredictable noisemultiply · each tile → BLAKE3 ticketticket ≤ target × tile work?no: next jobyes → build a ~60 KB certificate
One loop, two puzzles. Bitcoin's guesses are hashes of the header; Pearl's tickets are hashes of matrix work, and only the winner needs a proof.
The two puzzles, side by side
Topic Bitcoin Pearl Explained in
The work SHA-256 hashing of headers Multiplying noisy integer matrices
Fresh attempts from The nonce (and extranonce) New matrices or a new template, which give new noise
Compared with the target The block hash A BLAKE3 ticket, against target × the tile’s work
The proof The 80-byte header itself A certificate of about 60 KB
Hardware SHA-256 chips (ASICs) GPUs, the same chips that run AI models
Hashrate counts Hashes Multiply-accumulates

Why can’t a Pearl miner cheat?

Three guards, each with its own page:

  • Unpredictable noise. The noise depends on the block being mined and on fingerprints of both matrices, so no one can multiply in advance or reuse an old product. See noise seeds.
  • Tickets watch the whole multiplication. A ticket hashes the running sums at every checkpoint, not just the final answer, so known shortcuts cost as much as doing the work. That’s an argued conjecture, not a proof. See tickets and target.
  • A fixed price per multiply-accumulate. The winning bar is scaled by each tile’s work, and since block 96,251 a rank penalty stops miners buying an easier bar with bigger noise rank.

Is the work really useful?

It can be. Pearl’s official miner plugs into vLLM, a popular engine for running AI language models, and mines inside the model’s own large matrix multiplications. After mining, it removes the noise and the model carries on with the layer’s output. (The integer math is exact; whether the GPU’s floating-point version is bit-for-bit exact is an open question.) See useful output.

But the rules don’t check usefulness, and can’t. A certificate proves that some matrices were honestly multiplied, not what they meant. Random numbers pass just as well as an AI layer; Pearl’s own reference CPU miner uses random matrices. A 2026 study reported that the most widely used third-party miner contains no AI inference code at all. How much of Pearl’s mining does useful work is an open question.

What’s in this group?

Page What you’ll learn
The puzzle The whole mining process, step by step, with a toy you can run.
Noise seeds The job key, matrix fingerprints, salted seeds, and why the miner can’t pick its noise.
Tickets and target The tile diary, the BLAKE3 ticket, the scaled target, and a real block’s check.
The certificate What the zero-knowledge proof says, who builds it, how big and fast it is.
Rank penalty The block 96,251 rule, and why it penalizes more noise, not less.
Useful output Removing the noise, mining inside vLLM, overhead claims and the usefulness gap.
Hashrate Why one “hash” on Pearl is one multiply-accumulate.
Pools Shares, the gateway, pools seen on mainnet, and solo mining.

The math underneath (matrices, rank, tiles, cheap verification) is in matrix math.

Matrix entries
[−64, 64]
whole numbers
Noise rank
128
minimum since 96,251
Reference tile
2 × 64
one ticket = 128 cells
Diary checkpoint
every 128 steps
along the shared dimension
Proof
59,560 bytes
per block
Verify
7–21 ms
measured on an Apple M5 Max CPU

In this group

  1. 08.01 The puzzle Mining one Pearl block, step by step, with every intermediate value
  2. 08.02 Noise seeds Commit first, then roll the dice
  3. 08.03 Tickets and target A diary per tile, a BLAKE3 ticket, and a bar scaled by work
  4. 08.04 The certificate From a winning tile to a proof anyone can check in milliseconds
  5. 08.05 Rank penalty More noise buys a stricter bar, not an easier one
  6. 08.06 Useful output Getting the real answer back, and the honest limits of "useful"
  7. 08.07 Hashrate On Pearl, one "hash" is one multiply-accumulate
  8. 08.08 Pools Shares, a gateway that proves, and who mines Pearl today

The codex

Suggested

Up and down arrows move through the results, Enter opens one, Escape closes. Anywhere on the site, slash or Command K opens this search, and the square brackets [ and ] go to the previous and next page.