NiceChunk Proof of Short Seed

Proof of Short Seed

Miners compete to find the shortest valid seed for the current world contour.

Miners search for a Shape Seed that reconstructs the current Frontier Root under the accepted byte limit.

01

Frontier Target

Exploration can only move along the unlocked frontier.

02

Short Seed Mining

The target chunk must read unlocked neighbor keys in fixed N/E/S/W order.

03

First Valid Wins

Mining proves world expansion instead of calculating meaningless hashes.

04

Auto Retarget

The world contour can be encoded into a small reversible Contour Seed.

World Grid

Current Frontier Target

Unlocked Candidate Selected
1Genesis Chunk
2Find Candidates
3Search Seed
4Validate
5Solve Epoch

This chunk can be mined because it touches the current world frontier.

World State

Unlocked chunks
1
Candidate chunks
4
Perimeter
4
Frontier Root
-
Contour Seed
-

Contour Encoding

Demo uses readable reversible edge encoding. Production can replace it with compact binary path encoding.

Simplified contour path START(0,0)
Compressed Contour Seed - -

NPoSS Formula

seed_bytes <= max_seed_bytes

Contour Seed compresses the frontier. Hash Target only validates proof difficulty.

target_frontier_root = SHA256(CanonicalSort(ComputeFrontierEdges(unlocked_chunks)))

decoded_edges = DecodeShapeSeed(shape_seed)

decoded_root = SHA256(CanonicalSort(decoded_edges))

valid_seed =
  decoded_root == target_frontier_root &&
  byteLength(shape_seed) <= max_seed_bytes

first_valid_submission wins the epoch reward

difficulty = max_seed_bytes

if blocks are too fast: max_seed_bytes decreases
if no block is solved: max_seed_bytes increases
if max_seed_bytes >= raw_seed_bytes: RAW fallback guarantees solvability

Advanced Protocol Note

Commit-reveal for production

The demo reveals seeds directly. Production should commit first, then reveal seed and salt after a short delay.

commit_hash = SHA256(seed | salt | miner | target_frontier_root | epoch)

1. submit commit_hash
2. wait for reveal window
3. reveal seed and salt
4. verify DecodeShapeSeed(seed) and seed_bytes <= max_seed_bytes

Simulated Transaction Log

SeedBlock Events