For Bitcoiners, today I’m going to present a brain wallet which does not compromise on security. For others, explain an approach to secure your interests utilizing cryptography.
Human memory is capable of remembering vast amounts of data. The key is building a story around it.
We now have relatively easy ways to map the 0s and 1s into human language, one example is BIP39.
BIP39 is a translation from machine code to human language. But it’s not enough.
We now know that just coming up with a story is not good enough. You are not a good source of entropy. But remembering 12 random BIP39 words is too damn difficult and unreliable.
So we all came to a conclusion that brain wallets are a bad idea. Or is it?
What if we fully accepted all the reasoning and developed a brain wallet system which has none of these issues? What if a strong random 128-bit entropy still protected your funds while you only having to remember 87 of them? And we make it so flexible for you it becomes easy?
I tried that at home and succeeded.
TLDR? Generate 128 bits of entropy, game the words so that it’s easy to remember 87 bits of these 128 and leave the other 41 as a easy-access non-essential backup. Interested? Read on.
- I generated 128 bits of entropy by flipping coins:
00111011111 desk 01101011101 hill 00101000111 cigar 00000001011 accident 10101100111 provide 11111110101 wrong 00011101111 bulb 10111010010 ripple 11010001011 sphere 01010100110 feel 00010011000 basic 1101100 super
- Writing down entropy I decided that to secure my funds I do not have to remember all 128 of it. We have reasons to believe that 40 bits is very much mine-able so if my life savings depended on it I could afford to mine the rest of the bits.
The easiest would probably be just remembering 8 of these words and be done with it. However, I decided to opt for more flexibility in my story rather than less number of words to remember. I crossed out the following 41 bits:
0011101111x design...desk 0110101110x high...hill 001010001xx chuckle...cigar 000000010xx absurd...accident 101011001xx prosper...provide 111111101xx write...year 0001110xxxx bright...bulb 1011101xxxx ring...room 1101000xxxx source...spin 0101010xxxx favorite...field 000xxxxxxxx abandon...cable xxxxxxx <N/A>
The reasoning behind this is to give your brain a little less choice in the beginning in order to randomize the theme of the story while at the same time give you greater flexibility to continue developing your story towards the end.
First two words give the least choice so I can try to shape the direction of the story.
design high desk hill
I chose “desk high”, thinking of a high standing desk which is so hip in today’s offices.
Looking at the choice of the next two words, which looked like this:
chuckle absurd chunk abuse churn access cigar accident
I decided to choose “churn absurd” as an indication that 2020 could bring a lot of churn to B2B companies. Now I shaped my story as “whining about work and the recession”. So I chose the next pair with the same approach:
prosper write protect wrong proud yard provide year
I chose “protect year” thinking about protecting the assets during the crisis and “year” for blaming 2020 specifically for the whole thing.
Now for the next two pairs I had to choose out of 16 words. Now I already had a very clear understanding what the story is about so I acted accordingly:
bright ring bring riot brisk ripple broccoli risk broken ritual bronze rival broom river brother road brown roast brush robot bubble robust buddy rocket budget romance buffalo roof build rookie bulb room
Here I chose “broken roof”. Let’s continue complaining!
source favorite south feature space february spare federal spatial fee spawn feed speak feel special female speed fence spell festival spend fetch sphere fever spice few spider fiber spike fiction spin field
And here “special fee”. Of course everyone wants special fee from us nowadays.
Since I decided to drop all bits for the 12th word I did not have to have one. So for the 11th word (I had to choose out of 256 words), I thought let’s do a very broad summarizing statement:
In the end I had the following to remember:
desk high churn absurd protect year broken roof special fee because ...
Or a story:
My desk is high
Our churn is absurd .
I need to protect my capital this year ¹.
But now I have a broken roof.
And everyone wants to introduce a special fee.
Because … capitalism.
¹ In fact the actual selection of the words from the list does not matter, it’s only here to help you choose. You could instead remember “I have to provide for my family this year ”. Just looking at the selection makes you remember the struggle to choose the word as well as the alternatives you wanted the most. You’ll still have the keys even if you only remember the alternatives (at least one).
Now that’s 87 bits of entropy that I just remembered pretty damn good. My key is meanwhile under 41 more bits of entropy which I crossed out. Let’s see which bits I crossed out:
----------1 ----------1 ---------11 ---------11 ---------11 ---------01 -------1111 -------0010 -------1011 -------0110 ---10011000 1101100
Let’s write them down:
11111111011 youth 11100101011 tornado 01101001100 hat 01101100 hire
That’s it. This is your backup code which in combination with the story you came up with gives a convenient immediate access to your funds. You can write the backup code down and maybe even back it up but it neither compromises your security if it’s leaked alone nor will you lose your mind if it’s lost. It’s just 41 bits. You’ll mine it as long as you remember the story about 2020 when your desk was high, churn was absurd and you needed to provide for your family that year while under a broken roof and all sorts of special fees (and all that just “because”).
Now having remembered your “master” mnemonic (the one with the story) you are free to generate more derived child mnemonics by randomizing the 41 bits. This can be useful for separating your cold / cool / warm / hot wallets, depending on where you store your backup code. You could even generate one for which you immediately throw away your backup key, so that the only way to recover these funds would be to mine the mnemonic back. This could serve as a an extra protection layer in your game theory against a 5-dollar wrench attack.
In the next post, I will try to take this to the next level by digging more into incentivizing the brain and mining power into solving Bitcoin private key riddles. I’ll also cover ownership superposition, which will allow me to introduce a bit data stream where each bit costs a fixed number of satoshis.
- The Best Crypto Trading Bots
- The Best Bitcoin Hardware wallet
- The Best Crypto Tax Software
- Best Crypto Trading Platforms
- Best Wallet for Uniswap
- Best Crypto Lending Platforms
- Ledger vs Trezor
- Top DeFi Projects
- Bitsgap review — A Crypto Trading Bot That Makes Easy Money
- Quadency Review- A Crypto Trading Bot Made For Professionals
- 3commas Review | An Excellent Crypto Trading Bot
- 3Commas vs Cryptohopper
- The Idiots Guide to Margin Trading on Bitmex
- The Definitive Guide to Crypto Swing Trading
- Bitmex Advanced Margin Trading Guide
- Best Crypto APIs for Developers
- Crypto arbitrage guide: How to make money as a beginner
- Top Bitcoin Node Providers
- Best Crypto Charting Tool