Bitcoin Forum
June 27, 2024, 05:15:56 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Help! Possible to restore a wallet with a partial seed? (12/13)  (Read 505 times)
east-end-ag (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
December 18, 2016, 12:51:16 AM
 #1

Long story, but I need to restore an Electrum wallet (version 2.x). I have the seed, except the first word which got ripped off a legal pad.

So with 12 of the 13 seed words, what can I do to restore the wallet? I've tried to look at the word list and test possible 1st seed words, but haven't had any luck. Is there another way to skin this?

Any ideas / help would be very much appreciated. Hoping this isn't a costly mistake.
unamis76
Legendary
*
Offline Offline

Activity: 1512
Merit: 1009


View Profile
December 18, 2016, 01:04:12 AM
 #2

You need the full seed. You either remember the first word or keep trying with words from the dictionary.
east-end-ag (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
December 18, 2016, 01:11:34 AM
 #3

There's no way to use the 13th checksum word to reverse engineer the 1st word?

You need the full seed. You either remember the first word or keep trying with words from the dictionary.
unamis76
Legendary
*
Offline Offline

Activity: 1512
Merit: 1009


View Profile
December 18, 2016, 01:13:13 AM
 #4

That's not possible because the words aren't interconnected and because that would be a security flaw
east-end-ag (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
December 18, 2016, 01:17:39 AM
 #5

ok thought i might get lucky. thanks.

That's not possible because the words aren't interconnected and because that would be a security flaw
btchris
Hero Member
*****
Offline Offline

Activity: 672
Merit: 504

a.k.a. gurnec on GitHub


View Profile WWW
December 18, 2016, 04:21:17 AM
 #6

If you still have your wallet file (or if you have your master pubic key or an address that's part of your wallet), and you know most of your seed as you said, you can use seedrecover to recover the missing parts of your seed: https://github.com/gurnec/btcrecover/blob/master/docs/Seedrecover_Quick_Start_Guide.md (which is part of btcrecover).

If you have any questions about it, feel free to ask.


That's not possible because the words aren't interconnected and because that would be a security flaw
They are interconnected to the master public key (stored unencrypted in the wallet file) and to the addresses they generate, but of course it's only possible to "brute-force" the seed if most of the seed is also known.
unamis76
Legendary
*
Offline Offline

Activity: 1512
Merit: 1009


View Profile
December 19, 2016, 12:54:56 AM
 #7

If you still have your wallet file (or if you have your master pubic key or an address that's part of your wallet), and you know most of your seed as you said, you can use seedrecover to recover the missing parts of your seed: https://github.com/gurnec/btcrecover/blob/master/docs/Seedrecover_Quick_Start_Guide.md (which is part of btcrecover).

If you have any questions about it, feel free to ask.


That's not possible because the words aren't interconnected and because that would be a security flaw
They are interconnected to the master public key (stored unencrypted in the wallet file) and to the addresses they generate, but of course it's only possible to "brute-force" the seed if most of the seed is also known.

Interconnected, as interconnected with each other... Smiley

Didn't knew about seedrecover, what does it do? Take the dictionary and try to fill in whats missing on your seed, using the MPK to confirm that it is generating the "correct" addresses belonging to your seed?
btchris
Hero Member
*****
Offline Offline

Activity: 672
Merit: 504

a.k.a. gurnec on GitHub


View Profile WWW
December 19, 2016, 03:21:31 PM
 #8

Interconnected, as interconnected with each other... Smiley
Ah, gotcha.

Didn't knew about seedrecover, what does it do? Take the dictionary and try to fill in whats missing on your seed, using the MPK to confirm that it is generating the "correct" addresses belonging to your seed?
Yup, pretty much that.

It accepts as input a seed "guess", plus something it can use to test potential seeds against: either a Master Public Key, a wallet file (which contains the MPK), or an address that can be generated from the seed.

It then introduces various changes to the seed (cartesian-product-wise) and tests each result against the MPK/address, such as swapping consecutive words and/or replacing words with similarly spelled ones (from the same language list as the other seed words).

Although most of the variations it tests are "small" variations such as those listed above which don't lead to a large growth of tested seeds, it also tries up to one "large" variation which means inserting a word or replacing an existing word with one that isn't even spelled similarly.

Of course it skips seeds which can't possibly be correct (BIP39 seeds not of length≡0 (mod 3), Electrum 2 seeds of length > 13 (or > 12 for Electrum 2.7+), seeds with invalid checksums, etc.).

Being part of btcrecover, it picks up a few additional features from it (multithreading, Unicode support, progress bar/ETA, etc.). I could go on, but I'm sure you've already had enough Tongue
Coin-Keeper
Hero Member
*****
Offline Offline

Activity: 758
Merit: 606



View Profile
December 19, 2016, 08:41:10 PM
 #9

If you are only missing one word and you positively know the last 12, and even their correct order, then writing a script to test each of the 2K authorized seed words would be an easy task.  Adding one word to a list of 12 thereby creating a 13 word list against a known 2K word list would run in a few seconds, maybe less.  This is easy math.

BTC: 1PYSBbuKM3kW19xe9TXJQfq64rPhd8XorF
Staked and Verified: https://bitcointalk.org/index.php?topic=996318.msg17102755#msg17102755
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!