Author

Topic: Properties of Mycelium wallet [Seed recovery] (Read 210 times)

newbie
Activity: 22
Merit: 7
Just to make sure, I cannot possibly have created a segwit wallet by may 2018 in Mycelium??

No, there is no segwit address yet on last May 2018, I heard that they add segwit last Oct. 2018.

I don't see any other way's to recover it but to wait for seedrecovery.py result(addresses.db).

Since your problem is the order of your 12-word phrase can you try to use some shuffle tool or randomizer where you can randomize the order of your words then test them one by one to recover it in your mycelium wallet? And maybe you might be lucky to get the bitcoin back.

That's great, then I can exclude that possibility.

That is my current method, I have shuffled all of the words in all possible ways.
newbie
Activity: 22
Merit: 7
Quote
with 14*195000000 possible seeds

This number still seems to be way bigger than actual possible number of seeds. Are you sure you are only checking the valid ones?
There is a 4 byte checksum in them and although the collision chance of 4 byte out of SHA256 hash is higher but I don't think it is high enough to produce that many variations. (I'll try to test it in the afternoon when I get back home).

Edit: I ended up testing it anyways. With 12 words it seems that about 5% of the combinations are correct. The rest should be rejected. So with your words there should only be around 40 million seeds to check not that huge number you posted.
Also:
Quote
I get a speed of around 4kP/s,
Two questions, is it the number of seeds you check per second or is it number of keys that you derive from those seeds per second? If it is the first one then it is very slow, I am getting 16k/s with my c# managed code using only 1 CPU core (corei3)! You should be able to get around 100k at least if you run it on parallel and with a stronger CPU.

I am sorry, I said it was 12 words for simplification. I actually have 14 words (not sure which 2 does not belong there), that's why the amount of possible seeds.
With only 12 words it would not take long at all. As it is a 4 byte checksum every 1/16 word should fit, so it is always 6.25% chance from my understanding. I've already sorted them out prehand.

I am running 24 cores (3x i7) for 4kP/s, but I am checking only valid seeds in the program, checking random seeds give me speeds of up to 100kP/s yes! (Checking valid seeds take about 15x more time)

The amount of possible seeds to check should always be (n!/(n-r)!)*0.0625 where n is the amount of words choosing from and r is the seed-word-length

legendary
Activity: 1039
Merit: 2783
Bitcoin and C♯ Enthusiast
Quote
with 14*195000000 possible seeds

This number still seems to be way bigger than actual possible number of seeds. Are you sure you are only checking the valid ones?
There is a 4 byte checksum in them and although the collision chance of 4 byte out of SHA256 hash is higher but I don't think it is high enough to produce that many variations. (I'll try to test it in the afternoon when I get back home).

Edit: I ended up testing it anyways. With 12 words it seems that about 5% of the combinations are correct. The rest should be rejected. So with your words there should only be around 40 million seeds to check not that huge number you posted.
Also:
Quote
I get a speed of around 4kP/s,
Two questions, is it the number of seeds you check per second or is it number of keys that you derive from those seeds per second? If it is the first one then it is very slow, I am getting 16k/s with my c# managed code using only 1 CPU core (corei3)! You should be able to get around 100k at least if you run it on parallel and with a stronger CPU.
legendary
Activity: 3234
Merit: 2943
Block halving is coming.
Just to make sure, I cannot possibly have created a segwit wallet by may 2018 in Mycelium??

No, there is no segwit address yet on last May 2018, I heard that they add segwit last Oct. 2018.

I don't see any other way's to recover it but to wait for seedrecovery.py result(addresses.db).

Since your problem is the order of your 12-word phrase can you try to use some shuffle tool or randomizer where you can randomize the order of your words then test them one by one to recover it in your mycelium wallet? And maybe you might be lucky to get the bitcoin back.
newbie
Activity: 22
Merit: 7
Are you trying recoverying the seed through this method Seedrecover Quick Start Guide

If you don't have one of the these below.

  • or Electrum (1.x or 2.x), a copy of your wallet file (a wallet file using Electrum 2.8's new full-file encryption won't work here), or
  • your master public key (sometimes called an xpub), or
  • a receiving address that was generated by your wallet from your seed, along with a good estimate of how many addresses you created before the receiving address you'd like to use, or

It's a time consuming to guess your right addresses if you don't have the above you must follow the Recovery with an Address Database

Because without them it's impossible to recover the right seed.

Do you have any record of a transaction? Or maybe you have an old transaction in your mobile browser history?
Just check the possible place where you use your addresses like sending bitcoin to a friend or use your address from gambling casino?

I am checking against the address database, yes. I have checked every exchange, every screenshot and every document. I can't find any signs of what address I used. Also, in case of this address was deep into the account, I recon it would be better to search through all of them.
I get a speed of around 4kP/s, with 14*195000000 possible seeds. It is time consuming, but given the amount of BTC on the address, its no biggy.

Just to make sure, I cannot possibly have created a segwit wallet by may 2018 in Mycelium??
newbie
Activity: 22
Merit: 7
If i remember correctly... you also said you had 14 words to choose from (as opposed to just the normal 12)...

Given that you're unsure of the actual words used in your seed menmonic and their order, is it also possible that you had a seed mnemonic where a word was used twice? I've seen seed mnemonics like this before... in fact, I helped a guy recover his seed mnemonic where he only had 23 words out of 24... turns out he failed to notice a duplicate word when he was writing them down!

What process were you using to store/record your mnemonic that resulted in confusion of words and order? Huh


One other thing to consider... the possibility that you used a passphrase? I know that Mycelium doesn't allow for passphrase functionality as standard... but I believe it is possible to "restore" an HD account using a passphrase with Mycelium

There was no duplicate words, no. I took the 12 words I was most sure about using, and added two which I was 50/50 if I had used. I have now run through 95% of the possible seeds with no success.

I took the seed, mixed the index of them with a 12 digit number I hold close to my heart, and then wrote a small text about it. In that way it could be hidden in plain sight.
Problem is I now, one year later, realize that it was pretty easy to just make up a story and accidentally throw in a couple of words that happened to be on the bip39 wordlist....

Passphrase was something that struck my mind. However I am sure I didn't do any complicated or different steps in the app other than create backup and write down the words, I see that possibility as none.
legendary
Activity: 3234
Merit: 2943
Block halving is coming.
Are you trying recoverying the seed through this method Seedrecover Quick Start Guide

If you don't have one of the these below.

  • For Electrum (1.x or 2.x), a copy of your wallet file (a wallet file using Electrum 2.8's new full-file encryption won't work here), or
  • Your master public key (sometimes called an xpub), or
  • a receiving address that was generated by your wallet from your seed, along with a good estimate of how many addresses you created before the receiving address you'd like to use, or

It's a time consuming to guess your right addresses if you don't have the above you must follow the Recovery with an Address Database

Because without them it's impossible to recover the right seed.

Do you have any record of a transaction? Or maybe you have an old transaction in your mobile browser history?
Just check the possible place where you use your addresses like sending bitcoin to a friend then ask him to send your old transaction or maybe you have a history in some bitcoin gambling where you sent bitcoin from one of your address?
HCP
legendary
Activity: 2086
Merit: 4314
If i remember correctly... you also said you had 14 words to choose from (as opposed to just the normal 12)...

Given that you're unsure of the actual words used in your seed menmonic and their order, is it also possible that you had a seed mnemonic where a word was used twice? I've seen seed mnemonics like this before... in fact, I helped a guy recover his seed mnemonic where he only had 23 words out of 24... turns out he failed to notice a duplicate word when he was writing them down!

What process were you using to store/record your mnemonic that resulted in confusion of words and order? Huh


One other thing to consider... the possibility that you used a passphrase? I know that Mycelium doesn't allow for passphrase functionality as standard... but I believe it is possible to "restore" an HD account using a passphrase with Mycelium
newbie
Activity: 22
Merit: 7
Hi, this will probably be the last topic I create for this problem.

I am bruteforcing my way through my seed words as I have forgotten the order of them. However it seem like the search is no good.

I am searching through all addresses on the blockchain as I am not sure about the address. Now I need your help to brainstorm what parameters I could have gotten wrong.

I created the wallet during fall 2017, so I recon it must be an address starting with a 1, I have also concidered that I have created additional HD wallets.
However from my understanding, I can't create a new address before using the previous one in Mycelium. If that's the case, my bruteforce should give me the result no matter how many addresses were used on the account?

Any other takers on why I am not able to find my seed?
Jump to: