Memcoin · Memory

What lives inside
the nonce.

Before mining begins, a miner chooses what to write into the block header's 64-byte nNonce field — a sentence, a melody, a record of something that happened. The choice happens first. Mining searches afterward, starting from it.

The field

64 bytes, free to fill.

A block header carries several fixed pieces of information: a hash of the previous block (32 bytes), a hash summarizing the current block's transactions (32 bytes), a timestamp (4 bytes). Of all of it, nNonce — 64 bytes, indexed nonce[0] through nonce[63] — is the one part a miner is free to fill with chosen content. The rest is determined by the chain itself.

nonce[63] — content begins here, essentially never touched by mining nonce[0] — mining counts upward from here
written content · fixed drift zone · what mining changes
2⁵¹²

Larger than atoms, many universes over.

Each of the 64 bytes holds a value 0–255. Taken together they give 2⁵¹² possible values — finite, but for any practical purpose, inexhaustible.

Drift

Mining only ever moves the last byte or two.

Mining starts at nonce[0] and counts upward — when a byte passes 255 it resets to 0 and the next byte up increases. By the time a valid hash is found, usually no more than the last 1–2 bytes have changed. Content is written in the opposite direction: its end sits near nonce[0], where drift happens; its beginning sits near nonce[63], which mining essentially never reaches.

Three readings

One byte decides how
the rest are read.

The value held in nonce[63] selects how the field is interpreted. A miner chooses this before the search begins — and it's the only choice that shapes how every other byte is read.

0 – 127 · default

Base mode

The whole field, including nonce[63] itself, is read directly — text, music, or both, byte by byte.

128

UTF-8 mode

The remaining 63 bytes are read as UTF-8 text — any human script, not only Latin. nonce[63] itself holds no content.

129

Packed music mode

The remaining 63 bytes are read as 126 four-bit nibbles — twice the notes of base mode, nothing but music.

Base mode

Text and music,
the same 64 bytes.

Reading this field is direct correspondence, not computation — each byte maps to exactly one meaning, nothing derived or transformed along the way.

ByteMeaning
0Rest (in music) / terminator (at the end)
1 – 7Notes: C · D · E · F · G · A · B
8 – 12Octave: low · mid-low · middle · mid-high · high
13 – 17Duration: whole · half · quarter · eighth · sixteenth
18 – 22Dynamics: pp · p · mf · f · ff
23Sharp (♯) — applies to the next note
24Flat (♭) — applies to the next note
25 – 29Tempo: Largo · Andante · Moderato · Allegro · Presto
30Dot — multiplies the current duration by 1.5
31Separator — clears any pending modifier
32 – 126Printable text — ordinary letters, numbers, punctuation
127Line break
State vs. modifier

Two kinds of byte.

State bytes (8–29) stay in effect until replaced by another of the same kind. Modifiers (23, 24, 30) apply once, to whichever note comes next, then clear. Byte 31 clears any pending modifier immediately, even unused.

Defaults

Before any state byte is read.

Middle octave · quarter note · mf · Moderato. Every unset field falls back to one of these until a miner chooses otherwise.

The first inscription

bit is found in memory.

The first content ever written on-chain filled the field exactly: 64 characters, no punctuation, all 64 bytes used.

The sentence

bit is found in memory It is the result of time and intelligence

Reading it backward — last character first, first character last — and writing each character's keyboard code as a byte gives the value placed into the field before mining begins:

nNonce · before mining
65636e6567696c6c65746e6920646e6120656d697420666f20746c7573657220
6568742073692074492079726f6d656d206e6920646e756f6620736920746962

The result of mining it:

Result
hash    f20d9055c165a5b9b1a51fd64705029d156c92cb14357e4a37fe11224850ee79
nNonce 3c656e6567696c6c65746e6920646e6120656d697420666f20746c757365722065
68742073692074492079726f6d656d206e6920646e756f6620736920746962

Only the first byte or two changed. Decoded back:

Decoded

bit is found in memory It is the result of time and intelligene<

the last two characters drifted — "ce" became "e<". the rest of the sentence remains exactly as written.

UTF-8 and packed music

Every script.
Twice the notes.

nonce[63] = 128

UTF-8 mode

Any human script — not only Latin — fills the remaining 63 bytes directly. A zero-value byte marks the end of content if one is present; content may also fill all 63 bytes with no marker at all. If drift corrupts the final byte or two, that part decodes as a generic placeholder character rather than failing outright.

nonce[63] = 129

Packed music mode

The remaining 63 bytes are read as 126 four-bit nibbles — an upper and lower half per byte. Nibble 0 is the upper half of nonce[62]; nibble 125 is the lower half of nonce[0]. Half the range per nibble, but twice as many of them: far more notes than base mode allows.

NibbleMeaning
0Rest
1 – 7Notes: C · D · E · F · G · A · B
8Escape — the next nibble is a control selector
9Inline: middle octave (restores default)
10Inline: quarter note (restores default)
11Inline: eighth note
12Inline: half note
13Inline: high octave
14Inline: low octave
15Inline: mf dynamics (restores default)

after escape (8) — selector: 0 end of stream · 1 sharp · 2 flat · 3 dot · 4 set octave (+1 nibble, 0–4) · 5 set duration (+1 nibble, 0–4) · 6 set dynamics (+1 nibble, 0–4) · 7 set tempo (+1 nibble, 0–4) · 8 separator · 9 line break · 10 natural · 11 tie · 12–15 reserved

Seven of sixteen nibble values act as one-nibble shortcuts for the state changes used most often; everything else goes through the escaped form above. Ending a stream takes two nibbles — escape, then end-of-stream — so a stream of exactly 125 nibbles has no room for both; one event must be added or removed instead.

Unassigned and free space

Left undefined,
on purpose.

Unassigned space

A meaning, once given, is hard to take back.

nonce[63] values 130–255, and selectors 12–15 in packed music mode, are presently undefined. Leaving a value undefined costs nothing today and keeps tomorrow's question open — assigning it costs the freedom to decide differently, since anything already written under it depends on it staying what it was.

Free space

No rule beyond counting upward.

Beyond requiring mining to count upward from nonce[0], nothing restricts who writes into the field, what they write, or how the space is divided among a group. A group can share the same content and search independently, each across a non-overlapping range — whoever finds a valid hash first, the content belongs to all of them.

Found, not written

Most mined nonces carry no chosen content — just whatever value happened to satisfy the target. But because base mode assigns a meaning to every value 0–127, this works in reverse too: a nonce nobody composed can still be read through the same table, and some readings happen to hold together as a melody nobody wrote. People have searched mined nonces specifically for this — not to recover a choice, but to find sequences that happen to decode as something coherent, in a space too large for it to happen often.

Once mined, a deliberately written choice becomes part of the permanent block record. It does not depend on the person who wrote it, on any particular software, or on anyone remembering it exists. Decoding it requires only the chain itself and the byte map above — both of which persist independently of any single participant.