Bitcoin Forum
September 18, 2018, 10:39:40 PM *
News: ♦♦ Bitcoin Core users must update to 0.16.3 [Torrent]. More info.
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 »  All
  Print  
Author Topic: Wallet Seed (forgetting one word , Am I Screwed?)  (Read 1329 times)
cere
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
June 26, 2017, 12:10:31 AM
 #1

Hi,

Have a wallet,  the recovery seed copied phrases, Apparently I am missing a phrase (word), and DO NOT know the position of it.
(pretty sure it is NOT the first or last phrase)
Anyone know if this retrievable, like python scrypt.
since it is Only "1" word, but not sure of the position, is it recoverable?
Or is the Wallet gone forever?

like
24 words
copied 23

Thank you for any help.

 Cere
Make a difference with your Ether.
Donate Ether for the greater good.
SPRING.WETRUST.IO
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Minecache
Legendary
*
Offline Offline

Activity: 1190
Merit: 1000



View Profile
June 26, 2017, 12:16:40 AM
 #2

Is it not the first 4 characters of each word, so you are just missing 4 characters.


               ████████
         ██████████████
     ████████   ████████
  ███████               ███████
██████                     ▀███▀
████                               
██                       ▄▄▄▄▄▄▄▄▄▄
████                     ▀████████
██████                     ▀██████
  ███████               ███████
     ████████   ████████
         ██████████████
               ████████

GoNetwork=
=
=
=
=
=
=
=
=
=
[
]
[
]

                                ▄ 
                          ▄▄███
                    ▄▄█▀▀  ██
              ▄▄█▀▀     ██▌
        ▄▄█▀▀   ▄▀   ██
 ▄▄█▀▀     ▄█▀     ▐██
██     ▄██▀          █▌
 ▀▀██▄███▀       ██
    ██▀▀█▄▄▄    ███
     █▄  ██▀▀▀█▄██
      █▄█▀

 
                                       ▄███▄▄   ▄
  ██                           ██████████▀
  ████▄                   ███████████▀
   ▀████████▄▄     ███████████
  ▄▄███████████████████████
  ████████████████████████
      ▀████████████████████
        ███████████████████
           ▀███████████████▀
              ▄███████████▀
   ▄▄█████████████▀
         
HCP
Hero Member
*****
Offline Offline

Activity: 728
Merit: 923

<insert witty quote here>


View Profile
June 26, 2017, 12:59:48 AM
 #3

Basic maths would suggest that there are 22 positions (as you think not the first or last word)... and 2025 word possibilities (most wallets don't re-use seed words).

A python script should be able to rip through the 44,550 combinations fairly quickly... even allowing for having to generate the masterkey, and move down the correct derivation path to check the first address is the same as what you have.

Which wallet were you using? and do you have a record of at least 1 address that the seed generated?

Also, depending on the wallet, it may be possible to extract the seed directly (If it is bitcoinj based... ie. MultiBit) from the wallet file. Which leads to my next questions... if you have the wallet, what is stopping you from simply exporting the seed from the wallet application? Did you lose your wallet encryption password?

cere
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
June 26, 2017, 04:57:15 AM
 #4

Missing whole phrase

Its a ledger nano s (hardware wallet)  I dont think there option to have the master key  encrypted or not.
I think seed can be restored to most compatible wallets.
3 pin tries,  it gets erased to original setup

No addresses remembered though  : /


thanks for help.
HCP
Hero Member
*****
Offline Offline

Activity: 728
Merit: 923

<insert witty quote here>


View Profile
June 26, 2017, 06:17:56 AM
 #5

Without knowing any of the addresses, then it is going to be problematic to determine whether or not you have found the correct seed, as you have nothing to test against.

A couple of tests on a random 24 word seed shows that there can be multiple different words used in any given position that will result in a "valid" seed.
Quote
Start: 2017-06-26 18:13:47.809000
talk wrong soccer file strike clerk cheap blush worth torch scan retreat pyramid soldier swim census receive impact ripple flee accuse undo year exotic
talk wrong soccer file strike draft cheap blush worth torch scan retreat pyramid soldier swim census receive impact ripple flee accuse undo year exotic
talk wrong soccer file strike hover cheap blush worth torch scan retreat pyramid soldier swim census receive impact ripple flee accuse undo year exotic
talk wrong soccer file strike radio cheap blush worth torch scan retreat pyramid soldier swim census receive impact ripple flee accuse undo year exotic
talk wrong soccer file strike rotate cheap blush worth torch scan retreat pyramid soldier swim census receive impact ripple flee accuse undo year exotic
talk wrong soccer file strike search cheap blush worth torch scan retreat pyramid soldier swim census receive impact ripple flee accuse undo year exotic
talk wrong soccer file strike curious cheap blush worth torch scan retreat pyramid soldier swim census receive impact ripple flee accuse undo year exotic
talk wrong soccer file strike fitness cheap blush worth torch scan retreat pyramid soldier swim census receive impact ripple flee accuse undo year exotic
talk wrong soccer file strike volcano cheap blush worth torch scan retreat pyramid soldier swim census receive impact ripple flee accuse undo year exotic
End: 2017-06-26 18:13:49.135000
Total: 0:00:01.326000
You could be looking at something in excess of 200 valid seeds assuming a relatively similar "hit" rate of 9-10 words per position... So how would you know that you'd generated the correct one? Surely you must have a record of an address somewhere that you received coins to? or even sent coins to? so you might be able to find an address from a transaction ID or something??

Am I correct in understanding that you have forgotten your PIN and are concerned that your hardware wallet is going to get erased and reset if you guess it wrong 3 times?

mocacinno
Legendary
*
Offline Offline

Activity: 1344
Merit: 1184


http://www.mocacinno.com


View Profile WWW
June 26, 2017, 06:22:39 AM
 #6

Without knowing any of the addresses, then it is going to be problematic to determine whether or not you have found the correct seed, as you have nothing to test against.

If the OP's wallet cointains sufficient BTC, it might be worth setting up a bitcore node with full addressindex. That way you can rip trough the ~40k seed phrases (only keep the valid ones if the last word is a checksum), generate the xprv, derive the first 100 addresses and the first 100 change addresses and check them for any activity...

Since bitcore with all those indexes turns on takes a couple weeks to fully sync, and the script will probably only be able to test a couple phrases a second (untested, but since the script has to iterate to the next variation, generate an xprv, derive 200 addresses, use a json-rpc query, parse the results => i don't think you'll be able to process hundreds of iterations a second), this would take several weeks to brute-force, but if the incentive is big enough, it might still be worth it.

cere
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
June 26, 2017, 06:54:46 AM
 #7

I sent the coins purchased, to Jaxx, then to Jaxx to Ledger, Jaxx to exchange, and exchange to jaxx, jaxx to ledger,    I was  only using Jaxx temporary- Coins in and Coins out , I copied the seed for the Jaxx down while using it, but discard after I was finished transferring, and deleted the app totally, as I didn't intend to keep that wallet on my phone & figure if i need to use Jaxx again,  I would just create a new Jaxx wallet altogether.



I was hoping maybe if I had most words, Script may narrow it down like a few hundred possibilities. (due to knowing the rest of the words and the last word)   in which i Can manually try to restore the wallet to a Desktop wallet or something,  as doing it on the Ledger would take forever.

If it is near impossible, its okay.  My responsibility, not sure effort is worth a small percentage of success, as it starting to sound like all kinds of complicated.


 




 


mocacinno
Legendary
*
Offline Offline

Activity: 1344
Merit: 1184


http://www.mocacinno.com


View Profile WWW
June 26, 2017, 07:03:30 AM
 #8

I sent the coins purchased, to Jaxx, then to Jaxx to Ledger, Jaxx to exchange, and exchange to jaxx, jaxx to ledger,    I was  only using Jaxx temporary- Coins in and Coins out , I copied the seed for the Jaxx down while using it, but discard after I was finished transferring, and deleted the app totally, as I didn't intend to keep that wallet on my phone & figure if i need to use Jaxx again,  I would just create a new Jaxx wallet altogether.



I was hoping maybe if I had most words, Script may narrow it down like a few hundred possibilities. (due to knowing the rest of the words and the last word)   in which i Can manually try to restore the wallet to a Desktop wallet or something,  as doing it on the Ledger would take forever.

If it is near impossible, its okay.  My responsibility, not sure effort is worth a small percentage of success, as it starting to sound like all kinds of complicated.


It's getting a bit confusing... Are there still coins in your Jaxx wallet, or are they all on an exchange or on your ledger wallet?

Also, most exchanges will show deposit/withdraw history, as will your ledger wallet, so it shouldn't be to hard to dig up addresses belonging to that jaxx wallet.
As soon as you have a couple of addresses belonging to the wallet (and the seed phrase missing 1 word), it should be fairly easy to brute force the seed phrase (like HCP already said: it's only ~44k combinations)

cere
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
June 26, 2017, 07:27:33 AM
 #9

coins are in ledger

I used jaxx as a intermediary when i was buying from libertyx
so I discarded both Jaxx wallet and it's seed (no coins, all transfered to ledger)
which would have records of Ledger Addresses because I was sending to the ledger from Jaxx

bought from LibertyX  send to Jaxx  then to Ledger

Jaxx I dont have app or seed anymore, hence I cant dig up address history which would show me sending to Ledger

sorry for confusion.
mocacinno
Legendary
*
Offline Offline

Activity: 1344
Merit: 1184


http://www.mocacinno.com


View Profile WWW
June 26, 2017, 07:33:42 AM
 #10

coins are in ledger

I used jaxx as a intermediary when i was buying from libertyx
so I discarded both Jaxx wallet and it's seed
which would have records of Ledger Addresses because I was sending to the ledger from Jaxx

bought from LibertyX  send to Jaxx  then to Ledger

Jaxx I dont have app or seed anymore, hence I cant dig up address history which would show me sending to Ledger

sorry for confusion.

Your ledger should still have a history of the transactions used to fund the ledger's addresses. If you have these transaction id's you can look them up, and see where the inputs came from...

However, since the jaxx wallet is empty, you could just create a new one, it's not worth spending any time to brute force an empty wallet Wink

cere
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
June 26, 2017, 07:42:34 AM
 #11

Didnt need jaxx wallet,  so thats why i destroyed it.
I was using it has intermediary to make sure libertyX was sent out successfully before I kept buying more without leaving the gas station.


I cant access my ledger because its erased which has the coins
I only sent into ledger from Jaxx (which i can't recover either)  I never sent out from the ledger to somewhere else,  

I was using ledger as long term (dont touch for a long time wallet)


So Jaxx wallet & seed deleted from phone with no coins,,  but has addresses to ledger
Ledger wallet has coins but is erased and need missing phrase from seed


thats where i am at.
mocacinno
Legendary
*
Offline Offline

Activity: 1344
Merit: 1184


http://www.mocacinno.com


View Profile WWW
June 26, 2017, 07:49:34 AM
 #12

Didnt need jaxx wallet,  so thats why i destroyed it.
I was using it has intermediary to make sure libertyX was sent out successfully before I kept buying more without leaving the gas station.


I cant access my ledger because its erased which has the coins
I only sent into ledger from Jaxx (which i can't recover either)  I never sent out from the ledger to somewhere else,  

I was using ledger as long term (dont touch for a long time wallet)


So Jaxx wallet & seed deleted from phone with no coins,,  but has addresses to ledger
Ledger wallet has coins but is erased and need missing phrase from seed


thats where i am at.

Now i'm able to follow you Smiley
so, you have a ledger, a seedphrase with 1 word missing, no PIN code, no notion of addresses belonging to this ledger...
How much BTC are we talking about? If it's 0.25 or up, it might be worth having somebody write a brute-force script for you... If it's less, i would advise you to hold on to the part of the seed you DO know, just in case BTC price rises even further... Who knows, if the price is $100k/BTC in 10 years, it might even be worth writing a brute force script for 0.01BTC Wink

LoyceV
Legendary
*
Offline Offline

Activity: 1246
Merit: 1918


Let's make Bitcointalk great again!


View Profile WWW
June 26, 2017, 08:03:13 AM
 #13

You could be looking at something in excess of 200 valid seeds assuming a relatively similar "hit" rate of 9-10 words per position... So how would you know that you'd generated the correct one?
I can think of a solution for this: simply extract a list of all Bitcoin addresses that ever had a balance, and search those 200 addresses in the list.

Quandl.com gives the number of unique addresses used per day, but I'm not sure how accurate this is. Let's assume on average 200k addresses for 8 years, say 600 million in total, 20 GB data. My simple Linux-laptop could search that 200 times in a few minutes. It could be much faster if I split the list into parts that fit my RAM. Setting up a database would be more work, but could speed up the search in case many more addresses need to be tested.

I'm now intriqued to be able to do this. I need:
-a command-line method to extract addresses from a word seed
-a method to extract unique addresses from my Bitcoin Core database

Once I have both, I can easily script them together to run a search.

this would take several weeks to brute-force, but if the incentive is big enough, it might still be worth it.
My estimate is a lot less, assuming I can figure out the two required tools I mentioned above. It would be a nice think to master. On the forum here someone once shared a program that quickly searches up to 5 missing characters from a private key. I saved it, it might come in handy some day.

I was hoping maybe if I had most words,
How do you know for sure you have all but one word? Is this based on the total number of words you have?

HCP
Hero Member
*****
Offline Offline

Activity: 728
Merit: 923

<insert witty quote here>


View Profile
June 26, 2017, 08:03:31 AM
 #14

Ok, so I've expanded my script a little bit... it will take a list of 23 words... and cycle through the possible combinations of adding in 1 word at each position (excluding first and last) generating valid seeds, and generates the private keys/addresses for the first 100 receive and change addresses for each valid seed that it finds assuming:

1. The 23 words supplied are in the correct order and seed is just missing one word
2. The missing word is NOT the first or last word
3. The derivation path used is BIP44... ie. m/44'/0'/0'/0/0 for first receive addr on account 0 and m/44'/0'/0'/1/0 for first change address on account 0.

The full run took 9mins and 44 seconds to generate 193 valid seeds and the 200 associated receive and change addresses/keys for each seed. 38600 in total then for my random 24 word seed that I deleted a word out of.

Not sure how long it would take to do the RPC queries tho... I don't have a full addressindexed node... Tongue

LoyceV
Legendary
*
Offline Offline

Activity: 1246
Merit: 1918


Let's make Bitcointalk great again!


View Profile WWW
June 26, 2017, 08:10:05 AM
 #15

The full run took 9mins and 44 seconds to generate 193 valid seeds and the 200 associated receive and change addresses/keys for each seed. 38600 in total then for my random 24 word seed that I deleted a word out of.
You could even copy/paste them all into Electrum, see what happens!

cere
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
June 26, 2017, 08:18:13 AM
 #16

How do you know for sure you have all but one word? Is this based on the total number of words you have?

Yea 23 words copied,  should have been 24.
no addresses for the wallet,





Not sure how long it would take to do the RPC queries tho... I don't have a full addressindexed node... Tongue

sounds complicated

Now i'm able to follow you Smiley
so, you have a ledger, a seedphrase with 1 word missing, no PIN code, no notion of addresses belonging to this ledger...
How much BTC are we talking about? If it's 0.25 or up, it might be worth having somebody write a brute-force script for you... If it's less, i would advise you to hold on to the part of the seed you DO know, just in case BTC price rises even further... Who knows, if the price is $100k/BTC in 10 years, it might even be worth writing a brute force script for 0.01BTC Wink

More than 1, less than 13 
Ill leave it that to save the embarrassment  : /

hmm, all 2048 phrases in each of the 22 positions it may be 45,000 plus combinations so probably a script of sorts would work and spit out 45,000 plus combination . and Ill just copy and paste each one manually till one takes in a compatible desktop wallet. maybe do 130 copy and pastes a day, that would take me a year to try every combination. so that doesn't seem to unreachable.?
cere
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
June 26, 2017, 08:24:28 AM
 #17

The full run took 9mins and 44 seconds to generate 193 valid seeds and the 200 associated receive and change addresses/keys for each seed. 38600 in total then for my random 24 word seed that I deleted a word out of.
You could even copy/paste them all into Electrum, see what happens!

Right,  130 times a day individually would only take me a year to try every combo
HCP
Hero Member
*****
Offline Offline

Activity: 728
Merit: 923

<insert witty quote here>


View Profile
June 26, 2017, 08:45:46 AM
 #18

actually... That idea to just copy/paste the addresses into an Electrum watching wallet isn't as dumb as it sounds... If you grouped the output addresses of my script by seed, and then just bulk imported them into a watching wallet (up to) 193 times until you find the addresses that have your coins, then you know which seed is the correct one. Smiley

Would take a few hours... and would be tedious and annoying, but if you think it's too much hassle, then PM me the words you have Tongue

Seriously tho... if you want I can tidy the script up so it will print out the addresses into a text file (or files)... and as long as you can run python, you can start copy/pasting Wink

mocacinno
Legendary
*
Offline Offline

Activity: 1344
Merit: 1184


http://www.mocacinno.com


View Profile WWW
June 26, 2017, 08:47:07 AM
 #19

The full run took 9mins and 44 seconds to generate 193 valid seeds and the 200 associated receive and change addresses/keys for each seed. 38600 in total then for my random 24 word seed that I deleted a word out of.
You could even copy/paste them all into Electrum, see what happens!

Right,  130 times a day individually would only take me a year to try every combo

Even this can be scripted... electrum can be run from the cli Wink

Since you're talking about between 1 and 13 BTC, i think this would be well worth your effort... You can either take the advice giving by the people on this forum and construct the sollution yourself, or you can offer a decent bounty for somebody to write you a script completely tailored to your unique problem...

LoyceV
Legendary
*
Offline Offline

Activity: 1246
Merit: 1918


Let's make Bitcointalk great again!


View Profile WWW
June 26, 2017, 10:03:30 AM
 #20

actually... That idea to just copy/paste the addresses into an Electrum watching wallet isn't as dumb as it sounds...
I've just tested it with 1770 addresses, and the moment I pressed CTRL-V, Electrum took full CPU on my very slow netbook. It's still doing that, for 40 minutes now. Smaller amounts at once might be better.

-a method to extract unique addresses from my Bitcoin Core database
After researching this for the past hour, I found blockparser as the best option. Unfortunately, I can't use it due to it's memory requirements.

Another option: BitCore BTX took a Snapshot of all Bitcoin addresses with a minimum balance of 0.01 BTC on April 23 this year. If your address is older than that, this gives a much more manageable list to find your address in.

Pages: [1] 2 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!