pull down to refresh

Formosa aka BIP 450 has already been posted about twice on here (#1498637, #1494889), but it didn't get much attention and seeing as the name doesn't exactly explain what it does, I thought it'd be interesting to discuss.

BIP 450 proposes a new encoding layer for BIP 39 seed phrases that turns them into 4 little story chunks or "meaningful, themed sentences."

BIP-0039 maps each 11 bits of entropy to one word drawn from a single 2048-word list, Formosa maps each 33 bits of entropy to a short themed sentence built from several smaller, syntactically-typed wordlists. The sentences carry grammatical structure and semantic coherence, substantially improving memorability while retaining all cryptographic properties of the original scheme.

The proposal is fully forward- and backward-compatible with BIP-0039: BIP-0039 is itself a Formosa theme, and seed derivation re-encodes any Formosa mnemonic through the BIP-0039 English wordlist before applying PBKDF2, so existing keys and addresses are preserved.

The proposal seems like it has been worked on for quite a while, and there are mailing list discussions about it (here and here and it was recently assigned a BIP number.

Assuming that a scheme like this doesn't weaken your entropy,

Would you prefer a seed phrase that was easier to remember because it was a set of sentences?Would you prefer a seed phrase that was easier to remember because it was a set of sentences?

I'm not sure for myself. I remember that, in my innocence, I once memorized the seed phrase of one of my early wallets. Twenty-some wallets later, I couldn't tell you a single word from that original wallet.

Additionally, the developer behind Formosa (Yuri S Villas Boas) came up with a neat way of using Formosa to defeat side channel attacks:

This in turn enables the companion project Mooncake, which renders each Formosa category as an on-screen table. The words themselves stay in their alphabetical positions in the table (so the user can locate them visually); what is randomized per input session is the indexation, i.e. the labels (numbers or short codes) that the user must type to designate a given cell. The user therefore enters a sequence of session- specific indexes rather than the words themselves.
103 sats \ 0 replies \ @DarthCoin 8h

I prefer the standard random seed words and later I can build my own sentences with those words. As we did that funny experiment here on SN: #1260936

reply

'Formosa' is a portuguese word, the best english translation here would be 'Comely' (someone who's easy on the eyes).

reply

Not bad! The name does suit the project. I assumed it was connected to the Island of Formosa somehow.

reply
124 sats \ 2 replies \ @Murch 19h

It is, in the sense that it was also Portuguese sailors who gave Taiwan’s main island that name, presumably because the Ilha Formosa was easy on their eyes. ;)

reply
124 sats \ 1 reply \ @0xbitcoiner 19h

I was just about to say that! The most common meanings are pretty, beautiful, stunning, and elegant.

reply

Learning new things every day. I think my Big Trouble in Little China childhood mind somehow assumed Formosa was a Taiwanese term corrupted by English maps.

reply

To answer your question: absolutely. Standard BIP-39 words are great for machines, but terrible for human brains over long periods. A structured narrative pattern means you can reliably store a backup in your mind without it decaying after twenty wallets.

reply