Pages:
Author

Topic: Alternative to bip39 : memorizing your seed with the PEG system - page 2. (Read 275 times)

legendary
Activity: 3444
Merit: 10558
I don't find the generated words easy to memorize
It is not supposed to be memorized. Mnemonics, despite what the term may sound like, is a way of converting a hard-to-write bitstream to a human-readable string so that the user can easily write it down on a physical medium and later on enter it in a computer program.

Quote
So to memorize a seed, I first converted it to decimal, from which I made 38 integers from 0 to 99.
The entropy size for BIP32 is between 16 and 64 bytes and I believe the seed that bitcoin core uses is actually 256 bits which means if you convert it with your scheme you should end up with at least 70 values.
The problem with this idea is that memorizing this many values is very hard for people unless they have eidetic memory. As time passes you will forget parts of it or the order of some values and will be screwed.
legendary
Activity: 1288
Merit: 1076
But, is there any wallet the pictures or words can be imported and it will generate the right keys and the addresses?

You´d do it with bitcoin core.  It can create a wallet from a seed, can´t it?

Apart from bitcoin core the only thing you need is some code to turn the seed from hex to decimal and back, but that can be done with most programming languages in one line or so.

What I am suggesting is actually conform to a bip : bip32.  It's a way to memorize a bip32 seed.
legendary
Activity: 1512
Merit: 4795
Why not? I see it as another fail-safe mechanism, as even something stored offline can be lost/destroyed. After all, it's not like it hasn't happen already to bunch of people, even those that had shit load of BTC.
If I get this right (I mean OP), the final result will not be memorizable, the 128 bit hexadecimal seed will be converted to decimal and split into 32 which he regarded as the size. This will result to getting of 32 pictures or words which you can use for each number (decimal numbers splitted into 32) to remember.

But, is there any wallet the pictures or words can be imported and it will generate the right keys and the addresses? No. This will make it very difficult to access the keys especially as a means of inheritance. It is not in accordance to any BIP or any reputed wallet standard.

In my opinion, I just see this as a means of someone toying with his or her coin. But we all have different opinions about how to protect our coin, I will prefer the seed phrase (+ passphrase).

Better still to go for multisig wallet. There are BIP options that makes this above approach not necessary, and yet highly not recommendable.
legendary
Activity: 1288
Merit: 1076
Some more examples of my recall table :

23 is Michael Jordan



31 is a French animated series I used to watch as a kid :



14 is the most famous French king :



Building a recall table is actually kind of fun.
legendary
Activity: 1722
Merit: 5937
Why using PEG system or something to remember the seed?
Why not? I see it as another fail-safe mechanism, as even something stored offline can be lost/destroyed. After all, it's not like it hasn't happen already to bunch of people, even those that had shit load of BTC.

@grondilu an interesting topic, exactly at the time when I was thinking about some thing like that.


legendary
Activity: 1288
Merit: 1076
Would it be possible to make an example of this being used to show how big the mnemonic for a seed would be (eg the standard 12 word (128bit) seed).

A bip32-compatible seed is 32 bytes long (or rather, it should contain 32 bytes of entropy).   As I wrote, that is 38 numbers for 0 to 99.  Here is a random exemple to get an idea of what that looks like :

38 56 21 6 4 95 81 77 72 67 36 60 91 59 2 65 44 31 34 76 61 10 99 49 12 74 32 89 66 10 89 90 49 7 84 88 95 98
legendary
Activity: 1512
Merit: 4795
Why using PEG system or something to remember the seed? How is it having good advantage over knowing the seed phrase. With the seed phrase, you can know the seed as seed phrase generated the seed through key stretching function PBKDF2 using HMAC-SHA512. It is not good to memorize anything be it the seed or the seed phrase. Complicating the whole thing can lead to loss of coins. Best to backup (like 3 backups) the seed phrase offline, safe from attack and damage in different locations.

Would it be possible to make an example of this being used to show how big the mnemonic for a seed would be (eg the standard 12 word (128bit) seed).
The seed phrase can be used synonymous with the seed, but they are not the same, as stated in OP that it will first convert it (the seed) to decimal (seed are in hexadecimal), that means he meant the real seed.
copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory
Would it be possible to make an example of this being used to show how big the mnemonic for a seed would be (eg the standard 12 word (128bit) seed).
legendary
Activity: 1288
Merit: 1076
As far as I know, bip39 is the most standard way to memorize your HD wallet but I don't like it for at least two reasons :

  • it's not compatible with the bitcoin core client
  • I don't find the generated words easy to memorize

So lately I've been learning about mnemonics in order to memorize the bitcoin core seed.  After experimenting quite a bit, I concluded that at least for me, the the PEG system works better than the method of loci.

What is the PEG system?  Well it seems that there are several definitions of it on the web, but the one I like is an analogy with what is done when you leave your shirt to a dry cleaner.   They will stick a number to it and give you a receipt with that number.   That's how the PEG system differs from the method of loci : you don't really memorize a sequence of things, instead you memorize associations between numbers and things.   That's why people who use this method can recall the things they memorized in any order.  I'm not sure that is possible with the method of loci.

So what worked for me is the combination of the PEG system and the so-called major system.

So to memorize a seed, I first converted it to decimal, from which I made 38 integers from 0 to 99.

Each of this numbers is turned into a word with the major system.  Then each of these words is "pegged" to something that represents the position index in the list.   These things representing the indices form what is called the recall table.  This recall table doesn't have to be secret.

For instance, the second entry in my recall table is Elizabeth II :



So for instance if the second number you had to memorize was say 53, then you can picture Elizabeth II riding a lama (because "lama" is 53 in the major system), or you can think of the sentence "the queen is lame".  I personally like using images of animals, but to each his own.



Whatever method you choose to build your recall table with, I think it is important that you do not use the major system, since you will associate two numbers, you want a way to know which is the index and which is the seed chunk value.  Only the latter will be built with the major system.  For the former, you can use anything.   Since the recall table does not have to be secret, you can take inspiration from public knowledge data.

For the 33rd entry of my recall table for instance, I looked up the wikipedia page for 33 :

https://en.wikipedia.org/wiki/33_(number)

and then I picked the islamic prayer beads as a PEG for that position (as it has 33 beads) :




Memorizing a bitcoin seed with this method implies building a recall table of size 38.  It's perfectly doable.  The main hassle I think is to type all these numbers : it is tedious and stressful because you're typing sensitive information you can't save anywhere and if you make a typing mistake you have to start over again.
Pages:
Jump to: