A miner generates a 20 byte randomly generated secret S and a randomly generated 20 byte Nonce N. N and SHA256(N, S) are appended to the blockheader.

The block header is hashed and if

H = SHA256(SHA256(Blockheader, N, SHA256(N,S))

Is less than the target T, then the block is valid.

To claim the reward for the block, the person publishes a “reserve claim block reward” instruction. The secret S is used to generate a secp256k1 public key, by raising the base point b to the power of the secret S.

The “reserve claim block reward” instruction publishes

<Address to Receive Reward>, <Pubkey from S>, <Hash of Block claimed>

Once the “reserve claim block reward” has been published, the user can publish a second“claim block reward” transaction.

<Secret S>, <Hash of Block claimed>

It is verified that the public key derived from S equals the previously published pubkey It is verified that the published hash in the block being claimed matches SHA256(N,S) If these verify, then the person receives the coin rewards to the address published in the first claim transaction

The first user to claim the block with a valid secret now has an spendable output. Multiple people may publish “reserve claim block reward” and the first one to publish “claim block reward” with a valid secret, will receive the reward.