Hey everyone. I've got a bit of a technical question for those who really know the BIP39 standards and its guidelines.
When a wallet is creating a 24-word seed, I get that it can randomly pull the same word more than once I've heard it's about a 12% chance for that happening. But I'm curious if there's any chance that a word could appear THREE times in a single 24-word seed. I know that’s even rarer than having it show up twice, but is it actually possible, or does BIP39 have rules in place that stop that from happening?
Thanks in advance for any info and insights you can share.
The BIP39 standard doesnt allow for any word to be repeated more than two times in a seed phrase. BIP39 seed phrases usually consist of 12, 18, or 24 words chosen randomly from a predefined list of 2000+ words. There are over 30 trillion possible combinations of these words, so there is no need to repeat any word more than twice.
I don't know if those figures are exact, but it's something close, as I can't recall where I read about it but am certain of the content.
I have created more than 10 wallets this year, and I have not come across a single word repeated even twice, which is barely possibletalk more than three times.
No, I don't think so. There's nothing to stop the same word occurring more than once. But having the same word three times or more in a 24-word seed phrase is highly unlikely.
I don't think that is correct. Do you have a source?
That doesn't prove it's impossible, just improbable.
So you're saying there's actual code baked into BIP39 that will prevent a 3rd repetition if a word is already used twice? If this is indeed correct, then why do wallets accept phrases with multiple repetition? Wouldn't they be invalid if a seed contained 3 or more repetitions of a word + a valid checksum were used?
Andreas says in this video that you could use the same word 23 times + valid checksum and it would still be valid. If that's a mathematically valid wallet, then what's to stop a wallet from generating a seed with 3 of the same word? I'm not trying to get into the chances so much as if it's possible.
https://www.youtube.com/watch?v=kGClNWZcYV8
There is no phenomenon that stops words from repeating more than once which can be twice, thrice, or even more while generating seeds based on BIP39.
OP your question has been answered here
Yes, it will still be a valid wallet but if you are doing such a thing then the time taken to brute force your wallet will be 0.001 sec.
Whenever you generate a BIP39 seed phrase, you actually generate a random number and your seed phrase represents that random number.
For example, if you generate a 24 word BIP39 seed phrase, the random number can be any number between 0 and 2256-1. This means that any of the words can be repeated multiple times.
This is completely wrong.
I totally understand that. I know that the words are just a more manageable way of expressing a huge number. I was just wondering if - although unlikely - it was possible for a wallet to generate a 24 word seed that contains 3 of the same word.
So multiple as in 3 or more times is technically possible (although exceedingly rare), correct?
Thanks
Yeah I saw this. But I Wasn't sure if the answer was just strictly talking about the chances of it happening in terms of mathematics - or if it was possible within the boundaries of BIP39 wallet generation.
Right obviously that would be insane.
Yes, that's possible.
(In theory) It's even possible that you generate a 24 word seed phrase and a single word is repeated 24 times.
The probability of a single word is repeated n times decreases exponentially with increase in n and that's why it's unlikely that you generate a seed phrase in which a single word is repeated 3 times, but as I said that's possible.
This post has been edited. Thanks LoyceV for the correction.
It's good this thread was created; at least what I was carrying around as knowledge is actually wrong.
This leaves me with this question. There is a higher possibility of words being repeated in a seed phrase, or 24 words. Let's assume up to 34 random words are repeated to make up those 24 words. won't it make it a bit easier for such a seed phrase to easily be guessed?
I know that even if one gets all the words correctly, the possibility of arranging them accordingly is also really small, but still, repeated words make me think otherwise. Forgive my curiosity by just asking to be sure.
There is chance although the probability isnt high because logically picking a 12 or 24 series of words from a possible 2048 will widen the gap of it happening and thats why we dont see them occurring regularly but that doesnt mean it isnt. The thing stopping a group of words in right numbers from been a seed phrase either included a repeated words is if the checksum (which is contain in the last word) is not correct.
Its a total of 2048 from common words excepts the word Satoshi
Take note the the seed phrase is not generated by selecting words. For a generating a seed phrase, a random entropy is generated and that's encoded to a series of words.
If the seed phrase has been generated in the correct way, there's nothing to worry about.
The chance of a word repeating 3 or 4 times is very very low and even if that happens, there's nothing to worry about in the case the seed phrase has been generated completely randomly.
There is absolutely nothing stopping the same word for appearing multiple times in a seed phrase. I've answered this before:
Here are some more numbers:
The chance of a 12 word seed having the same word at least twice : 3.18% (1 in 31)
The chance of a 12 word seed having the same word at least three times: 0.0052% (1 in 19,128)
The chance of a 12 word seed having the same word at least four times: 0.0000057% (1 in 17,407,725)
The chance of a 24 word seed having the same word at least twice: 12.65% (1 in 8)
The chance of a 24 word seed having the same word at least three times: 0.048% (1 in 2,089)
The chance of a 24 word seed having the same word at least four times: 0.00012% (1 in 814,729)
No. There isn't a "higher possibility" of words being repeated - there is the exact same possibility as any other word. If my first word is "zoo", then my second word has the exact same possibility to be "zoo" as it does to be any other specific word. Indeed, if we introduced code to prevent a word from appearing more than once, then you would actually be decreasing the final entropy of your seed phrase, since by the time you get to the 23rd word in your seed phrase, you no longer have 2,048 possibilities for that word but only 2,026, since you could not repeat any of the 22 words you had already used.
In that case, you need to edit your first reply so that you don't pass your wrong knowledge on to someone else.
Absolutely not. It's virtually impossible for anyone to guess the presence of a repeated word in a seed phrase. Therefore, a seed phrase with one or two repeating words is just as robust as a seed phrase with entirely unique words. Actually, I believe the opposite is true. Preventing duplicate words would, in fact, restrict the entropy of the seed phrase, making it weaker.
Just as an example, the following is a valid seed phrase:
It's produced by the following entropy
As you can see the pattern is repetitive. Of course I produced it manually but every entropy generator must have the exact same probability for each word.
As oeleo said above, each word has the exact same possibility of appearing next, which is 1 out of 2048
By the way, the following is also valid:
Also sounds like a kid in the back seat and the adult in the front.
Makes you wonder how many times people have hit that 1 in X thing and not even noticed.
I know I have had at least 2 24 words with the same word twice that I was actually using for a while.
But, I have also generated so many for testing that I did not secure since thy were just for tests that it could have had 3 or more of the same but I never even looked.
-Dave
why would brute force do it so quickly?
if it is true brute force
and you have say 1500 word repeated 23 times.
it would start with
words. 1111111111 11
words 111111111 12
be a long fuck time before it gets to
1500,1500,1500,1500 .
Or am I not understanding brute force.
A three digit combo brute force is
000
001
002 999
so if you look at 000 first it takes time to get to 768
same idea if you run all the combo brute force.
or am I wrong
There are hundreds of bots out there monitoring millions of easily hacked addresses waiting to sweep deposits the instant they show up. We've seen it countless times with brain wallets. Brain wallets generated from easy to guess phrases, such as common words, phrases, quotes, lyrics, etc., have any funds sent to the derived addresses stolen in under a second. These same bots are almost certainly also watching the addresses from any and all publicly revealed seed phrases, and any weak seed phrases, such as the same word repeated 23 times.
This is of course completely separate to a seed phrase including the same word twice or even three times, and these seed phrases are no easier to brute force than any other randomly generated seed phrases.
It wouldn't make any sense to do so. By limiting the number of duplicate words, you're limiting the number of possible seed phrases. If anything, that makes it less secure.
As long as your seed phrase is created randomly, it doesn't matter.
Nope, that's not (realistically) possible. It would be more likely to generate someone else's seed phrase, than randomly ending up with 24 times the same word. It's just not going to happen.
Even if you would brute-force the creation of billions of random seed phrases, and select the one one with most duplicate words, it still doesn't matter. Nobody else is going to randomly create the same seed phrase.
This comes to mind:
(source, although I'm pretty sure this isn't the original location)