Bitcoin Forum
December 13, 2024, 01:41:36 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Lost bitcoins  (Read 809 times)
kblaidd (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 9


View Profile
December 11, 2017, 04:34:56 AM
 #1

Hi all. I downloaded bitcoin 0.3.2 a while ago, and as I only ran it on an anaemic EEPC, I only generated 50 bitcoins. That doesn't mean to say I wouldn't like to get control of them again.

My public address is:

18jRv4R1i1MSXNYfmCL1dYvSaXaZBb7Cb1. The blockchain explorer seems to show that the funds exist i.e. there are 50 bitcoins there + a fraction of a coin I sent on the 'hit it to make it work' principle.

However when I imported my private key to Electrum it initially showed 50 coins present but couldn't make a transaction to sweep the coins to my new wallet and it gave me an error message "16: mandatory-script-verify-flag-failed (Non-canonical DER signature)". Now for some reason Electrum only shows 1 microbitcoin, but blockchain info shows 50.001 bitcoins and so does my wallet with Mycelium. However, when I try to make a payment with Mycelium or sweep the coins to my TREZOR, it shows that I have 0.00 bitcoins.

I just made one test payment from the address (a fraction of a microbitcoin) which seemed to work, but aside from this blockchain.info shows no record of transactions from this address.

Have I had my bitcoins stolen? Were they never there in the first place? Is this just some bug which can be fixed somehow? I'd be glad of any explanations/pointers as to what to do next.
Btcspot
Jr. Member
*
Offline Offline

Activity: 190
Merit: 1


View Profile
December 11, 2017, 05:35:28 AM
 #2

 I sent you a message. Check your mail.
kahc
Member
**
Offline Offline

Activity: 350
Merit: 13


View Profile
December 11, 2017, 05:36:20 AM
 #3

Hi all. I downloaded bitcoin 0.3.2 a while ago, and as I only ran it on an anaemic EEPC, I only generated 50 bitcoins. That doesn't mean to say I wouldn't like to get control of them again.

My public address is:

18jRv4R1i1MSXNYfmCL1dYvSaXaZBb7Cb1. The blockchain explorer seems to show that the funds exist i.e. there are 50 bitcoins there + a fraction of a coin I sent on the 'hit it to make it work' principle.

However when I imported my private key to Electrum it initially showed 50 coins present but couldn't make a transaction to sweep the coins to my new wallet and it gave me an error message "16: mandatory-script-verify-flag-failed (Non-canonical DER signature)". Now for some reason Electrum only shows 1 microbitcoin, but blockchain info shows 50.001 bitcoins and so does my wallet with Mycelium. However, when I try to make a payment with Mycelium or sweep the coins to my TREZOR, it shows that I have 0.00 bitcoins.

I just made one test payment from the address (a fraction of a microbitcoin) which seemed to work, but aside from this blockchain.info shows no record of transactions from this address.

Have I had my bitcoins stolen? Were they never there in the first place? Is this just some bug which can be fixed somehow? I'd be glad of any explanations/pointers as to what to do next.

Someone with the same problem tried the latest Bitcoin Core and worked.
https://bitcointalk.org/index.php?topic=1455675.0 worth a try for that amount.
AlwaysJanuary
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
December 11, 2017, 02:01:45 PM
 #4

Were you able to fix it? Did you try what the poster said above me?
kblaidd (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 9


View Profile
December 12, 2017, 02:48:52 AM
 #5

Thanks for the suggestions. I'm afraid my private key isn't going anywhere near the internet though, btcspot.

I'm going to try the bitcoin-core method - had just hoped there might be something simpler. It's a lot of money to lose if I screw up! I'm also going to need a clean computer. Anything with the key on it isn't going back on the intermet!
AlwaysJanuary
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
December 15, 2017, 09:00:30 AM
 #6

Thanks for the suggestions. I'm afraid my private key isn't going anywhere near the internet though, btcspot.

I'm going to try the bitcoin-core method - had just hoped there might be something simpler. It's a lot of money to lose if I screw up! I'm also going to need a clean computer. Anything with the key on it isn't going back on the intermet!
ok, good luck
kblaidd (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 9


View Profile
February 19, 2018, 01:11:25 AM
 #7

I find this all very stressful. I've now downloaded BitcoinCore and the blockchain, and created a raw transaction that looks something like this:

{
  "txid": "FirstLongNumber",
  "hash": "FirstLongNumberagain",
  "version": 2,
  "size": 158,
  "vsize": 158,
  "locktime": 509839,
  "vin": [
    {
      "txid": "PublicKeyForMyMinedBitcoins",
      "vout": 0,
      "scriptSig": {
        "asm": "SecondLongNumber[ALL]",
        "hex": "ThirdLongNumber"
      },
      "sequence": 4294967294
    }
  ],
  "vout": [
    {
      "value": 49.99943486,
      "n": 0,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 FourthLongNumber OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "FifthLongNumber",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "MyLedgerAddress"
        ]
      }
    }
  ]
}

I've redacted all the long numbers just in case there's anything sensitive there. The big 'gotcha' it seems is that if you're not careful and don't either spend the lot in one transaction or create a second output going back to yourself, then any change will go to the miners. The intuitively sensible thing to do is to send one bitcoin just to test and see whether it works, with the intention of sending the rest later. This would be a very bad idea as you would be donating a mining fee of 49 bitcoins!

So there ends the limits of my understanding of raw transactions. I'd be very grateful if anybody knowledgeable could look over the redacted transaction and tell me whether there's anything else I might have gotten wrong?
bitcoinpeddler
Newbie
*
Offline Offline

Activity: 13
Merit: 5


View Profile
February 19, 2018, 02:10:21 AM
Merited by CoolWave (1)
 #8

this video might help you it explains how to make a raw transaction using btc. But most importantly it shows you how to use a "change" address with your transaction to avoid the super high miner fee.   https://www.youtube.com/watch?v=jWKuqP-zTFk
kblaidd (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 9


View Profile
February 19, 2018, 02:32:25 AM
 #9

Thanks, but it seemed to me that I might as well just send the whole lot at once. If I get the 'change address' wrong, then I lose the bitcoins. If I get this wrong, then I lose the bitcoins. May as well try to send them all at once, at which point they will be safe. And as that is simpler to do, I figure I am less likely to make a mistake this way.

But that is a nice well presented video. Thanks for posting it.
PEG-TOKEN
Copper Member
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1

peg-token.com


View Profile WWW
February 19, 2018, 03:25:06 AM
 #10

Holy shit.. Did you mine a 50BTC block back in 2010 and HODL all this time... Well done for you if you did.. Not many people would announce that in public.


| PEGTOKEN |  - https://peg-token.com - | Digital Asset Creation | BTC | ETH Cross-Chain Tokens
johniadeluca
Member
**
Offline Offline

Activity: 224
Merit: 11


View Profile
February 19, 2018, 03:25:59 AM
 #11

Thanks, but it seemed to me that I might as well just send the whole lot at once. If I get the 'change address' wrong, then I lose the bitcoins. If I get this wrong, then I lose the bitcoins. May as well try to send them all at once, at which point they will be safe. And as that is simpler to do, I figure I am less likely to make a mistake this way.

But that is a nice well presented video. Thanks for posting it.

So you were able to retrieve them?
achow101
Moderator
Legendary
*
Offline Offline

Activity: 3570
Merit: 6927


Just writing some code


View Profile WWW
February 19, 2018, 03:26:20 AM
 #12

I've redacted all the long numbers just in case there's anything sensitive there. The big 'gotcha' it seems is that if you're not careful and don't either spend the lot in one transaction or create a second output going back to yourself, then any change will go to the miners. The intuitively sensible thing to do is to send one bitcoin just to test and see whether it works, with the intention of sending the rest later. This would be a very bad idea as you would be donating a mining fee of 49 bitcoins!

So there ends the limits of my understanding of raw transactions. I'd be very grateful if anybody knowledgeable could look over the redacted transaction and tell me whether there's anything else I might have gotten wrong?
You don't know what you are doing with raw transactions; you should not be attempting to create a raw transaction manually.



The following assumes that you don't want to have your private key exposed to a machine that is on the internet, if it is, let me know and I will give you modified instructions.

On a machine connected to the internet, install Bitcoin Core, start it up and then use the importaddress command to import your address. This will import just the address, not the private key, so your coins are still safe. Do this as soon as possible so that you don't have to wait for it to rescan the blockchain later.

Once the address is imported, let Bitcoin Core sync. If you don't have the disk space for the blockchain (~180 GB), then you can use pruning. There should be an option for pruning in the settings somewhere.

Once Bitcoin Core has synced, make sure that it has the balance that you expect.

Now using createrawtransaction, create a raw transaction with no inputs and the output you want. So your command will look something like this:
Code:
createrawtransaction '[]' '{"<address>":50}'
Note that using the full value of your coins (~50) there is okay, the fee will be handled later. Additionally any change outputs will be handled later.

Take the output of that and pass it into the fundrawtransaction command with the options I will specify in the example:
Code:
fundrawtransaction <hex> '{"includeWatching":"true", "subtractFeeFromOutputs":[0]}'
What this command does it lets Bitcoin Core fill in the inputs and the transaction fee necessary. The includeWatching parameter lets it choose the inputs from your watching-only address and subtractFeeFromOutputs will subtract the fee from your outputs so you can send the maximum amount possible.

Take the result of the above command and pass it into signrawtransaction. Then broadcast that result with sendrawtransaction.

kblaidd (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 9


View Profile
February 19, 2018, 04:47:32 AM
Last edit: February 19, 2018, 05:00:38 AM by kblaidd
 #13

Quote
Holy shit.. Did you mine a 50BTC block back in 2010 and HODL all this time... Well done for you if you did.. Not many people would announce that in public.

Believe me, I'm more paranoid than that fact might imply! If anybody's wondering, there's no point in tracing my address and breaking in and stealing my computers. That side of things is well taken care of. The psychology of how I managed to HODL them that long is interesting and I'm not sure I understand it myself. Sure there was the temptation to buy new toys but I wanted to hold onto them until the sum was meaningful i.e. pay off the mortgage. Does that make me more or less greedy? I don't know.

I had been intending to send a raw transaction, but what I actually did was to download Bitcoin Core and then the blockchain and utterly disable the internet for that computer. I then copied my private key over onto the Bitcoin Core wallet, which is encrypted, then I just sent the 50 bitcoins to an address on my Ledger Nano. Given that the computer was not connected to the internet the transaction was not broadcast, so I get the transaction ID then used getrawtransaction through the console, then decoderawtransaction to try to verify it. I still haven't sent it.

Would it make sense to send the transaction to a testnet? I'm not sure to what extent the testnet mirrors the current blockchain?

I'm posting here for several reasons.The main one is that I don't want to make a silly mistake. The other is that I'm simply curious about what stopped this transaction working previously. There's something odd about those 50 btc. They show up happily on Blockchain but I couldn't recover them with other wallets. When I ran pywallet on the wallet they were in, it showed up the few bitcoins I had from bitcoin faucets but didn't show the 50 I knew were left from bitcoin mining. I could only see them on the bitcoin-qt wallet. I wonder, 90% in jest, whether that's what happened to all the MtGox bitcoins. Is this a well known bug?
PEG-TOKEN
Copper Member
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1

peg-token.com


View Profile WWW
February 19, 2018, 04:56:04 AM
 #14

Quote
Holy shit.. Did you mine a 50BTC block back in 2010 and HODL all this time... Well done for you if you did.. Not many people would announce that in public.

Believe me, I'm more paranoid than that fact might imply! If anybody's wondering, there's no point in tracing my address and breaking in and stealing my computers. That side of things is well taken care of. The psychology of how I managed to HODL them that long is interesting and I'm not sure I understand it myself. Sure there was the temptation to buy new toys but I wanted to hold onto them until the sum was meaningful i.e. pay off the mortgage. Does that make me more or less greedy? I don't know.

I had been intending to send a raw transaction, but what I actually did was to download Bitcoin Core and then the blockchain and utterly disable the internet for that computer. I then copied my private key over onto the Bitcoin Core wallet, which is encrypted, then I just sent the 50 bitcoins to myself. Given that the computer was not connected to the internet the transaction was not broadcast, so I get the transaction ID then used getrawtransaction through the console, then decoderawtransaction, to try to verify it. I still haven't sent it.

Would it make sense to send the transaction to a testnet? I'm not sure to what extent testnet mirrors the current blockchain?

I'm posting here for several reasons.The main one is that I don't want to make a silly mistake. The other is that I'm simply curious about what stopped this transaction working previously. There's something odd about those 50 btc. They show up happily on Blockchain but I couldn't recover them with other wallets. When I ran pywallet on the wallet they were in, it showed up the few bitcoins I had from bitcoin faucets but didn't show the 50 I knew were left from bitcoin mining. I wonder, only half in jest, whether that's what happened to all the MtGox bitcoins. Is this a well known bug?

Well it's a bloody good HODL for sure.   I mined for 2 years solo never hit a block cost me about £3400 in electricity cost!
I think you should stick to advice from people like achow101 he is well known in the community and should be able to advise you on how to proceed.

As for the raw transaction you MUST be so careful doing this.  
I would say get a hardware wallet Trezor / Ledger and get the coins onto that or split them into offline-cold storage paper wallet / hardware wallet / software wallet.

But like you already stated security is priority when dealing with such vast sums of money and coins.

I hope you enjoy your bitcoin fortune Smiley and well done for the super long HODL Smiley

edit :  just a second thought it may be dew to older version of the software but this is just a hunch. your coins should be ok if they show on the blockchain in the correct address

ps.. watch for members like the 2nd comment they WILL try to get you to hook to a link or some "sketchy" site.  Stick to Mods or even core developers for advice on this subject.

| PEGTOKEN |  - https://peg-token.com - | Digital Asset Creation | BTC | ETH Cross-Chain Tokens
kblaidd (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 9


View Profile
February 19, 2018, 05:07:49 AM
 #15

Achow101, thank you for your kind instructions.

Given that I have recovered an unsent raw transaction and posted a redacted version of the output above, is there anything obviously wrong with it? I have verified that the number 'MyLedgerAddress' is the correct public key for my Ledger wallet. I won't hold you responsible if I lose my bitcoins, but would be grateful if you could tell me if there is anything obviously wrong with it or if there is any advantage to trying to make a raw transaction from scratch, in the way that you describe?
achow101
Moderator
Legendary
*
Offline Offline

Activity: 3570
Merit: 6927


Just writing some code


View Profile WWW
February 19, 2018, 05:17:05 AM
 #16

Given that I have recovered an unsent raw transaction and posted a redacted version of the output above, is there anything obviously wrong with it?
I don't see anything obviously wrong with it. There's a transaction fee and, assuming that the input you are spending is actually 50 BTC, there's no need for a change address.

if there is any advantage to trying to make a raw transaction from scratch, in the way that you describe?
The advantage that you are more likely to create the transaction correctly. However yours looks correct, so there shouldn't be any problems.

kblaidd (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 9


View Profile
February 19, 2018, 05:32:29 AM
 #17

It has worked. Thank you for the reassurance.

I remain curious about why the transaction failed using other methods (mycelium, electrum etc...). Anything I could/should do to investigate?
PEG-TOKEN
Copper Member
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1

peg-token.com


View Profile WWW
February 19, 2018, 05:38:39 AM
 #18

Achow101, thank you for your kind instructions.

Given that I have recovered an unsent raw transaction and posted a redacted version of the output above, is there anything obviously wrong with it? I have verified that the number 'MyLedgerAddress' is the correct public key for my Ledger wallet. I won't hold you responsible if I lose my bitcoins, but would be grateful if you could tell me if there is anything obviously wrong with it or if there is any advantage to trying to make a raw transaction from scratch, in the way that you describe?

It could of been issue with the way the keys are imported and exported and with the wallet in question being a much older wallet you are attempting to use now there may be issue from the older version of core to electrum.
You can thank the forks for that one.

also make sure it conforms to BIP62 strict DER encoding was introduced since the early version of core.

https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki


Glad you got your coins moved safe. 

| PEGTOKEN |  - https://peg-token.com - | Digital Asset Creation | BTC | ETH Cross-Chain Tokens
warningsigns
Hero Member
*****
Offline Offline

Activity: 896
Merit: 1082


View Profile
February 19, 2018, 07:54:37 AM
Last edit: February 19, 2018, 08:12:08 AM by warningsigns
 #19

I sent you a message. Check your mail.

Were you hoping he would put the private keys online? Shame it didn't work, hey? Good thing OP wisely worked on the recovery of his coins in a secure way. I was wondering why you pm'd him, instead of advising him publicly.

I already had an inkling after checking a previous post where you were trying to sell a Bittrex account for 2 BTC or $26,000 at that time.


Thanks for the suggestions. I'm afraid my private key isn't going anywhere near the internet though, btcspot.

Well done, OP!

kblaidd (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 9


View Profile
February 19, 2018, 10:59:27 AM
 #20

To be fair, he didn't ask me to give any keys to him. I think more of a chancer than a fraudster but I did find the requests for 3 btc a bit much. At the time that would have been more than my salary for a year!

Achow101, I will send a pourboire when I am back at the computer. I will also be making some donations to charity and some more to pay off my mortgage.

Quote
Hi man
« Sent to: kblaidd on: December 11, 2017, 05:02:40 AM »
Reply with quoteQuote  ReplyReply  Remove this messageDelete  
 Hey try looking at this to get your coins moved  https://bitcointalk.org/index.php?topic=1455675.0
 or you can use google browser
Go to wallet.btc.com, Sign up for account then open wallet dont worry its real safe wallet.
Go to settings then import. You can select two options then paste your private key and move your coins.
I hope one of these help you. If you could tip me reward of .5 btc of your 50 btc  i would be greatful. Really need money right now. Reply if you need help.
Report To Admin
Btcspot
Jr. Member
*
Offline

Activity: 38
Merit: 0



View Profile  Personal Message (Offline)
Trust: 0: -0 / +0
Hi man
« Sent to: kblaidd on: December 11, 2017, 05:27:53 AM »
Reply with quoteQuote  ReplyReply  Remove this messageDelete  
 
 Hi if you get the coins succesfully, id gladly take a higher reward for my help. Take care
 My wallet is 36d7BVzP1nhToP2W3iUMUvL4g5JZrz56KP
Report To Admin
Btcspot
Jr. Member
*
Offline

Activity: 38
Merit: 0



View Profile  Personal Message (Offline)
Trust: 0: -0 / +0
Heyman
« Sent to: kblaidd on: December 12, 2017, 03:09:31 AM »
Reply with quoteQuote  ReplyReply  Remove this messageDelete  
  I hear you. I probably wouldnt put my key in interneteither. Well I hope you get them using bitcoincore and if you do dont forget to send a few coins my way. If you need my bitcoin address again ill send it but I think i already did.
Report To Admin
Btcspot
Jr. Member
*
Offline

Activity: 38
Merit: 0



View Profile  Personal Message (Offline)
Trust: 0: -0 / +0
Hi man
« Sent to: kblaidd on: December 14, 2017, 05:24:46 AM »
Reply with quoteQuote  ReplyReply  Remove this messageDelete  
 Hi man did you download bitcoin core yet? Did it work, glad I could help. If you get them back Please consider helpin me with a 2 or 3 btc donation here  36d7BVzP1nhToP2W3iUMUvL4g5JZrz56KP

I really need it for home repairs,gifts, bills. Glad I could help, keep us posted. if you want to contact me or need help email REDACTED
Pages: [1] 2 »  All
  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!