ΛΛnemosyne  /  Documentation  /  The Dalos Character Set

The Dalos Character Set

A 256-glyph cryptographic alphabet — the foundation for free-form, memorable, multi-language seed words.

The unprecedented part

Every existing cryptocurrency seed-phrase system makes you pick from a fixed list. Bitcoin's BIP-39 has 2048 English words. Monero has 1626. Ethereum derivatives recycle BIP-39. Hardware wallets ship with the same lists. You memorize a sequence pulled from a vocabulary somebody else chose.

The Dalos Character Set inverts this. Instead of a fixed list of words, it gives you a fixed alphabet of 256 glyphs — and lets you compose any words you want from that alphabet. You're not picking from a list; you're writing. In your own language, your own dialect, your own personal style.

This is the first time in cryptocurrency history that you can construct a seed phrase that doesn't have to live in any dictionary anywhere — including Anglo-centric ones. The vault is yours. The mnemonic format is yours. The vocabulary is yours.

Why this matters for security

Fixed dictionaries leak structure. If an attacker knows you used BIP-39, they know your seed is 12 or 24 words drawn from a public 2048-word list. The search space for a 24-word BIP-39 seed is 2048241079.2 combinations. Big — but bounded by a known dictionary.

With the Dalos Character Set, an attacker doesn't even know what vocabulary you used. They don't know which language, which glyphs you favoured, how many words, or how long each word is. The combinatorial space exceeds anything an attacker can reasonably enumerate — and crucially, the only way to constrain it is to know your personal seed-building habits, which is exactly the property a good mnemonic should have.

Multi-language support

The 256-glyph set draws from multiple writing systems on purpose. You can compose words in:

A user in Bucharest can write seed words like bunătate or mihai in proper Romanian. A user in Moscow can write правда. A user in Athens can write αλήθεια. A user who wants a personal cipher can write ψøŔлα. All of these are first-class Dalos seed words — no transliteration to Anglo vocabulary needed.

"Store your vault in your head, in your own language"

This is the human-facing pitch. A 24-word BIP-39 seed is hard to memorize because the words don't form a story — they're random nouns drawn from a vocabulary you wouldn't naturally use. "abandon ability about above absent absorb…" is impossible to mnemonicize because nobody talks like that.

With the Dalos Character Set you can pick words that mean something to you. The opening line of your favourite poem, a sentence from your grandmother, a private joke between friends. The seed doesn't have to be random nouns — it can be a story you can actually remember. That's the difference between a vault you have to write down (and lose) and a vault that lives in your head.

The canonical 16×16 character matrix

The 256 glyphs are arranged as a 16×16 grid. Each byte value B (0–255) indexes to the glyph at position (row B÷16, column B mod 16). This is how the dalos-crypto package encodes binary data as readable glyph sequences — 160 bytes of pubkey become 160 glyphs of address.

Hover any glyph below to see its name and Unicode codepoint. The matrix is rendered from the canonical data extracted directly from DALOS_Crypto/Elliptic/CharacterMatrix.go — what you see is byte-for-byte the matrix the curve actually uses to encode addresses.

Canonical 256-glyph layout sourced from DALOS_Crypto/Elliptic/CharacterMatrix.go. Note that space, - (hyphen), and . (period) are NOT in the set — space is reserved as the seed-word separator; punctuation is excluded.

From seed words to a private key

The transformation from "human-typed seed words" to "elliptic-curve private key" is deterministic:

  1. Concatenate all your seed words with single spaces
  2. UTF-8 encode the resulting string
  3. Apply seven-fold Blake3 (Blake3 chained seven times) with a 200-byte (1600-bit) output
  4. The 1600-bit output becomes the bitstring input to the elliptic curve key generator
  5. Reduce mod Q (the curve's subgroup order) to get the private key scalar

The seven-fold Blake3 is deliberate: it makes derivation slow enough to resist brute force on weak seeds while staying fast enough for legitimate sign-in. Any two inputs producing the same 1600-bit Blake3 output collide; the Blake3 collision-resistance bound (~2256) places this far beyond reach.

This applies to every key in your Codex, not just CodexID

The Dalos Character Set isn't just for your Codex Identity seed. Every Ouronet account in your Codex is also derived from a seed (or a directly-supplied raw key), and any seed can use the Dalos Character Set the same way.

In practice, this rarely matters — you remember one Codex Identity seed (the master one), and inside the Codex itself you'll have hundreds of accounts using whatever derivation made sense at creation. The property that matters is: if you can remember the Codex Identity seed, you can recover the entire Codex, and from there every Ouronet account, every saved key, every stored secret.

Related

Reference implementation: github.com/StoaChain/DALOS_Crypto