Multibit-Legacy / multibit

Deprecated Bitcoin Wallet
https://multibit.org
MIT License
460 stars 393 forks source link

Sending BTC from Multibit , all sends never seen by peers #524

Closed helpplease23 closed 10 years ago

helpplease23 commented 10 years ago

Everytime I try to send, my sent btc is not seen by any peers. Then I have to refresh the blockchain to even see my balance in btc. I tried to export my private keys to blockchain, but blockchain says that there is an error decrypting, and the password is incorrect.....there IS NO password on the exported file.....

jim618 commented 10 years ago

Have a look at the private key export file and compare it to the format in : https://multibit.org/en/help/v0.5/help_exportingPrivateKeys.html

If you can see the private keys you can import them one by one into blockchain.info (or any other wallet) rather than doing them all at once.

helpplease23 commented 10 years ago

I did that....and it didnt work. My wallet has almost 600 addresses in it. The address that has my btc in it is: 1AdHAc4kYrMzwijP75b4qp4xqP3ZRuFqL1, which is in my receiving addresses on multibit. Howvere, when I went through that whole list one by one, its as if that private key was not there. I even checked random priv keys when sweeping them into blockchain, to make sure that the addresses that I was importing were in my rec list, and they were.

I also just exported the priv keys, and imported them into the android app, and still not found.

1AdHAc4kYrMzwijP75b4qp4xqP3ZRuFqL1 may be a change address that multibit generated, but its as if they never associated the private key to me for some reason. Or maybe I just dont understand.

helpplease23 commented 10 years ago

Here is my last good transaction: https://blockchain.info/tx/a26245890834c2d628dfb7555b9ce8019d2b008e0a1fd616fc411ba9b58adb91

I sent .024 to the 1NXs address. It looks like multibit sent my full balance and then sent the rest back to me as change. I see the 1Ad address in my receiving addresses on multibit.

helpplease23 commented 10 years ago

More info....tried to send balance again, and yet again it stuck on seen by 0 peers. I am synched and connected to 7 peers, looking at the bottom left of multibit. Ideas?

JonnyPower commented 10 years ago

Also discussed here on reddit

helpplease23 commented 10 years ago

I am the OP on that reddit post

gary-rowe commented 10 years ago

MultiBit goes to great lengths to ensure that all private keys are correctly persisted and it is extremely rare that a private key does not get persisted in any of the backups. There are many possible ways that it can occur: faulty hardware; misrepresentation of data integrity from an I/O cache; low battery on a laptop and so on.

The correct solution to this bug is hierarchical deterministic wallets. This is one of the reasons that MultiBit HD has been our top priority for the last 6 months or so. Having random private keys exposes users to the risk that they could be lost. With HD this risk is reduced to the loss of the seed phrase which can be easily protected against by keeping multiple safe copies.

However knowing that replacement software contains the correct solution does not address the immediate problem of how to get the lost private key back.

@helpplease23 It appears that you have already done everything available to you to recover your bitcoins. There is only one option left: get a trusted developer to closely examine the wallet file using key recovery tools from the Bitcoinj library. Before doing anything make sure you have securely backed up all your wallets to a separate drive. Also ensure that you send the wallets encrypted with GPG. Unfortunately both Jim and I are not able to devote time to this right now as MultiBit HD has to remain our top priority.

helpplease23 commented 10 years ago

SO I am screwed out of everything I had.

Great.

helpplease23 commented 10 years ago

And according to Jim, he doesnt even have electricity at night except for one lightbulb.

Make a product, and refuse to stand behind it. Must be in America?

gary-rowe commented 10 years ago

If you make backups of your wallets as they stand right now then your bitcoins aren't going to go anywhere. Later, when you can find a trusted developer to perform the operations I described earlier then there is the outside chance that your private key could be uncovered. You can do these operations yourself if you have experience with Java, or know someone who does.

GeorgeMcMullen commented 10 years ago

I'm not sure if this is related, but I recently thought I had a similar issue, which made it seem like I lost coins when I actually didn't. What I found was that when sending a BTC from MultiBit where the input balance came from multiple addresses, the change went to a 3rd, different (but already existing) address in my wallet.

This created confusion for me because I was expecting a deposit into that 3rd address around the same time (which actually has yet to occur). When I looked at BlockChain I saw a transaction to the 3rd address and that made it seem that the transaction that I expected (which never occurred) was not recognized by MultiBit. I thought the Balances were off, when they really weren't. In reality those transactions I saw in BlockChain were change from my original send transaction.

This was probably compounded by the fact that MultiBit does not show change transactions explicitly, because they are just part of the original send transaction. Even transaction details isn't too helpful here.

It is my belief that if you see an address listed in MultiBit, the private key is in there somewhere and you should be able to import it into its own wallet if you'd like to see the transactions to it separately.

But here are some things I did to try to troubleshoot. Maybe they will help.

1) I exported the wallet private keys and re-imported them into a NEW wallet. All the wallets in question are not encrypted. I did the export both encrypted and unencrypted. The import was successful and the address in question showed up, the balances still never showed up. But this does CONFIRM that the private key is IN the export AND the address is THE SAME. That is good news.

A note about exporting. I think that for your case, exporting non-encrypted is a safer bet because BlockChain could have a problem decrypting you file. Also, BlockChain notes that at least their Android app does not support the compressed keys that MultiBit sends out, so that will not help you.

2) I did not have over 500 addresses, and I knew the general time that the address was created, so I was able to find the private key of the address in question without too much hassle. I did this by importing the addresses into BlockChain ONE-BY-ONE. Yes, ONE AT A TIME. It only took a few tries for me until BlockChain showed me the address in question, and saw the balance. That is also good news because it confirms that there was nothing wrong with the private key from a standards perspective and that I could access the money.

I know that doing an import ONE-BY-ONE may be a hassle, so you may want to check out the MultiBit auditor on an UNENCRYPTED export of the private keys and see if the address shows up. It is mentioned in the Reddit thread: https://github.com/DavidEGrayson/multibit-auditor

If you find the key for the address, you could create a new MultiBit wallet and import that single key into it. Then you will see the transactions for the address and have access to send the BTC.

3) Once I had the BTC in BlockChain, I decided to send it back to myself with a new MultiBit created address in a new wallet. This was risky, but I was pretty confident that the addresses created by MultiBit had fidelity. This transaction was a SUCCESS.

A possibly easier solution is to just create a new wallet with a single address in MultiBit (or elsewhere if you are so inclined) and just send all your BTC to that single address. Then looking at the block explorers, see if there was any transaction from your address in question (1AdHAc4kYrMzwijP75b4qp4xqP3ZRuFqL1).

I hope that helps.

gary-rowe commented 10 years ago

The outcome of this issue is covered in this blog article. Closing.

RaghavSood commented 2 months ago

For posterity, the blog post linked above is still available on archive.org: https://web.archive.org/web/20140704184820/https://multibit.org/blog/2014/04/28/private-key-safety-improvements.html

The multibit site now redirects to the GitHub repo.