72 72 72 73 73 73 74 74 74 75 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 84 84 84 85 85 85 86 86 86 87 87 87 88 88 88 89 89 89 90 90 90 91 91 91 92 93 93 93 94 94 94 95 95 95 96 96 96 97 97 97 98 98 98 99 99 99 100 100 100 101 102 102 102 103 103 103 104 104 104 105 105 105 106 106 106 107 107 107 108 108 108 109 110 110 110 111 111 111 112 112 112 113 113 113 114 114 114 115 115 115 116 116 116 117 117 117 118 119 119 119 120 120 120 121 121 121 122 122 122 123 123 123 124 124 124 125 125 125 126 127 127 127 128 128 128 129 129 129 130 131 131 131 132 132 132 133 133 133 134 134 134 135 135 135 136 137 137 137 138 138 138 139 139 139 140 140 140 141 Lamp room · check board, bank level Seventy hooks · stamped brass, two inch One block per miner per window Taken = below ground A check hangs here while its man is on the surface
One block per miner per windowThe lamp-room board is a census of who is below

The puzzle

The rule, as code.


Your address is inside the hash, so nobody can cut a block on your behalf, and credit follows the seed rather than the submission.

Status

Nothing is deployed. No address exists on any chain.

There is no factory address, no vault address and no mine address, on mainnet or on any testnet. No transaction has been broadcast. What exists is source, a test suite, the measurements on these pages — and a deploy script that has not been run.

01  /  The puzzle, as code

One window. One block per miner.


  • The chain is divided into a fixed grid of 200-block windows. A window’s seed is its first block.
  • The seed is a blockhash, so before the window opens there is nothing to grind against.
  • msg.sender is inside the hash, so a solution lifted from the mempool hashes to something else in the thief’s hands.
  • Credit follows the seed, not the submission. A miner who solves early and waits for a richer period is still paid by the period they solved in — and past 256 blocks the EVM cannot see the seed at all.
  • One block per miner per window. Mining requires a locked deposit of the launched token; leaving is quit(), then the fixed notice, then the deposit comes back. No branch refuses it.
Mine console — worked exampletargetShift 20 · difficultyStep 100,000 · period 1,200 blocks
WindowSeed blockCut
Period 342 — windows 2052–2057
205241,410,400
205341,410,600
205441,410,800
205541,411,000
205641,411,200
205741,411,400
Period 343 — windows 2058–2063
205841,411,600
205941,411,800
206041,412,0001
206141,412,2001
206241,412,4001

Windows are a fixed 200-block grid measured from the launch block. Six of them make one 1,200-block payout period in this configuration.

Target0x00000fffffffffffffff…a hit is any hash below it

Noncekeccak256(miner, nonce, seed)Result
Window 2060seed block 41,412,000miner 0x5d0d56…b83a
127,7750x00007e6afcbabce11e2d…miss
255,3740x00004d77d641a29593f0…miss
419,0270x000045d84ffd828b0947…miss
739,8460x0000163bcf8d07d7f548…miss
1,273,0660x0000116c628c9cd3374f…miss
2,968,1130x000003939d96a0c0d0e0…block cut
2,968,114 nonces tried in this window · only the record-low hashes are listed
Window 2061seed block 41,412,200miner 0xf44ac6…2cf4
85,6060x00019defd023b7ae5bbc…miss
105,5060x0001966bcd4a9b752466…miss
118,5340x0000f59738cd188c873d…miss
214,5530x000060e1ac223c21ab70…miss
528,5650x0000317868e4428f2f1d…miss
920,1960x00000abe0efdc1e500fa…block cut
920,197 nonces tried in this window · only the record-low hashes are listed
Window 2062seed block 41,412,400miner 0x8a05d0…8fa7
22,2510x0000f84056672873bb91…miss
90,2810x0000f6dd14b7b14880b9…miss
141,5030x00003a4034ea55c020da…miss
1,121,5980x0000344f8b8a77334da0…miss
1,327,3490x00001b5b46d9e26d07dd…miss
2,373,9630x000006b1c32b66f1f0c0…block cut
2,373,964 nonces tried in this window · only the record-low hashes are listed

The nonce log for three windows

Not connected to any chain, because there is no chain to connect to. Every hash here is a real keccak256 of the packed miner, nonce and seed shown — mined by tools/mine_console.py in this repository, and checkable with cast keccak. The miner keys and the window seeds are derived from labelled phrases rather than read from a chain: nothing is deployed, so there is nothing to read.

02  /  The seed

Three properties, each closing an attack.


  • The seed is a blockhash. The window’s first block does not exist until the window opens, so before it opens there is nothing to grind against.
  • msg.sender is inside the hash. A solution lifted out of the mempool hashes to something else in the thief’s hands, so there is nothing to steal by watching.
  • Credit follows the seed. A block belongs to the payout period containing its seed, never the period containing the submission. Solving early and holding for a richer period buys nothing — and past 256 blocks the EVM cannot see the seed at all, so the solution simply expires.

The seed rule is also what makes difficulty a filter rather than a race. It does not decide who wins; it decides which machines can still finish inside a window. Slower rigs fall out first.

Not claimedBlockhash is not VRF

Fixing credit to the seed removes a miner’s ability to pick a richer period after seeing a result. It does not make a single block hash resistant to validator influence, or to validator collusion. We do not describe blockhash as unmanipulable, and the audit lists a block producer’s influence over one seed block as a disclosure rather than a solved problem.

A deposit is also not an identity. One actor can fund many keys and run many rigs; the mechanism proves work, not personhood.

Source: RULES.md rule 003, README.md