Can BIP39 generate the same word in a seed multiple times?

19 replies 191 views
Posts: 13 · Reputation: 142
#1Feb 26, 2021, 03:30 PM
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.
5 Reply Quote Share
SwiftPixelFull Member
Posts: 130 · Reputation: 572
#2Feb 27, 2021, 05:35 PM
The BIP39 standard doesn’t 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 possible—talk more than three times.
2 Reply Quote Share
jake2011Full Member
Posts: 47 · Reputation: 306
#3Feb 27, 2021, 08:04 PM
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.
4 Reply Quote Share
Posts: 13 · Reputation: 142
#4Feb 27, 2021, 09:00 PM
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
4 Reply Quote Share
BasedGasHero Member
Posts: 460 · Reputation: 2335
#5Feb 28, 2021, 01:45 AM
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.
1 Reply Quote Share
w0lf404Hero Member
Posts: 801 · Reputation: 2381
#6Feb 28, 2021, 05:02 AM
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.
3 Reply Quote Share
Posts: 13 · Reputation: 142
#7Feb 28, 2021, 12:41 PM
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.
3 Reply Quote Share
w0lf404Hero Member
Posts: 801 · Reputation: 2381
#8Mar 1, 2021, 11:39 AM
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.
3 Reply Quote Share
Posts: 13 · Reputation: 142
#9Mar 2, 2021, 02:23 AM
Thanks I appreciate the insight.
3 Reply Quote Share
SwiftPixelFull Member
Posts: 130 · Reputation: 572
#10Mar 2, 2021, 06:39 AM
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 3–4 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.
5 Reply Quote Share
leo.wolfHero Member
Posts: 540 · Reputation: 2813
#11Mar 2, 2021, 11:16 AM
There is chance although the probability isn’t high because logically picking a 12 or 24 series of words from a possible 2048 will widen the gap of it happening and that’s why we don’t see them occurring regularly but that doesn’t mean it isn’t. 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. It’s a total of 2048 from common words excepts the word Satoshi
4 Reply Quote Share
w0lf404Hero Member
Posts: 801 · Reputation: 2381
#12Mar 2, 2021, 05:27 PM
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.
2 Reply Quote Share
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#13Mar 2, 2021, 07:39 PM
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.
0 Reply Quote Share
jake2011Full Member
Posts: 47 · Reputation: 306
#14Mar 2, 2021, 10:08 PM
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.
2 Reply Quote Share
alt21Senior Member
Posts: 398 · Reputation: 1732
#15Mar 3, 2021, 01:02 AM
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:
4 Reply Quote Share
colddiamondHero Member
Posts: 623 · Reputation: 2467
#16Mar 3, 2021, 04:38 AM
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
3 Reply Quote Share
alt21Senior Member
Posts: 398 · Reputation: 1732
#17Mar 3, 2021, 06:31 AM
Haha and this wallet has been used actually. There are transactions.
0 Reply Quote Share
hodler2019Legendary
Posts: 2182 · Reputation: 12913
#18Mar 3, 2021, 09:58 AM
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
5 Reply Quote Share
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#19Mar 3, 2021, 02:05 PM
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.
5 Reply Quote Share
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#20Mar 3, 2021, 03:07 PM
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)
2 Reply Quote Share

Related topics