We know that there are finite number of private keys out there that are derived from 24 words. If I create a wallet with an additional 25th word passphrase (which is not in the existing 2048 seed words), is that private key included in the existing private keys that are derived from 24 words or is it an entire new private key which is out of the existing 24 worded private key basket?
1 Answer
tl;dr: Every key is in every basket, given enough time.
I believe the following to be true:
- Sequences of keys generated from seeds are indistinguishable from random sequences (except at extremely large scales).
- Seeds with the tiniest difference produce completely different sequences.
- The sequences are infinite in length.
- The elements of the sequences are members of a finite set.
The consequences should be clear.
A longer, meandering and unsatisfyingly-unquantified answer might be:
If you add (or omit) a passphrase, does it generate the same private key sometime?
The most popular definition for 24-word seed phrases, which are also called recovery phrases sometimes, is BIP-39
This allows for an optional additional passphrase to be used together with the seed phrase when calculating the private keys. The passphrase adds an extra layer of security and different passphrases will cause different private keys to be generated.
This system is invariably used with BIP-32 Hierarchical Deterministic (HD) wallets. These wallets generate, not just one, but a whole series of private keys from the seed data.
The consequence is, if you lose your wallet and forget your passphrase, you can't recover control over your money only using the seed phrase.
Note that some wallets also use a password or passphrase to encrypt some or all of their wallet data. This is a different passphrase from the one used with the seed phrase when creating a new wallet or recovering a lost wallet. It is easy to get confused by this. Don't get them mixed up.
Addendum
Lets say you create wallet A and wallet B as follows
Wallet | seed phrase | pass phrase |
---|---|---|
A | boss rural month arm exit elegant eight grain palace biology pistol control outside album slab top boil absorb tree mean street giggle head frozen | Alex |
B | boss rural month arm exit elegant eight grain palace biology pistol control outside album slab top boil absorb tree mean street giggle head frozen | Axle |
Because Alex is not Axle, Wallets A and B will each generate a different sequence of private keys. Lets call these sequences baskets A and B.
Lets say you are a very busy person, perhaps you buy Amazon, eBay and Alibaba and make every transaction worldwide, pay to a new private key in one of your wallets, alternating them.
In the very short term (the first million years say), Perhaps baskets A and B will be disjoint sets.
However
Every key is in every basket, given enough time.
Every key is in every basket an infinite number of times, given infinite time.
See Bitcoin collider
Of course, the Earth will be be swallowed by the Sun in the forseeable future, so there may not be enough time. You'd have to ask a statistician and base an estimate on a prediction of future computing power and how that may be bounded by the amount of matter in the accessible universe and various other physical constraints.
-
Maybe I did not ask it clearly. Lets say that I have a private key generated from a 24 seed word(wallet_1). This wallet_1 belongs to a pile of all private keys which can be generated from those 2048 words(all_wallets_generated_from2048words). When I add a 25th word(a passphrase) to that, it creates a whole different private key, hence a different wallet(wallet_2). Does that wallet_2 belong to that all_wallets_generated_from2048words pile or not? Can that same private key which is generated with a passphrase be populated with different 24 words without a passphrase?– EfeCommented Aug 3, 2023 at 22:35
-
-
With 24 words and without a passphrase we will have 2048²³ different wallets/private keys(24th word is checksum). If I create a wallet with any passphrase, does that belong to those 2048²³ ?– EfeCommented Aug 4, 2023 at 9:56
-
With any 24 words, you will eventually have all private keys. with or without passphrase. AFAIK, using 24 words instead of, say, 12 doesn't increase the used entropy because of the data types used for seed numbers etc generated from those words. Commented Aug 4, 2023 at 10:01
-
So if my wallet's seed words are ABCDEFGHIJKLMNOP + passphrase. That means that someone still -in theory- guess the "actual" word combinations without the passphrase, let's say AHGKDHSNCOM and reach to the funds. Am I correct?– EfeCommented Aug 4, 2023 at 10:01