Pages:
Author

Topic: [overview] Recover Bitcoin from any old storage format - page 3. (Read 8626 times)

legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
I'm not sure if I need to sync the whole lot as these would have been mined very early on.
Just syncing up to 2010 is enough to see all changes made before that year. If funds show up, you can check the address on Blockchair.com or using a list of all funded Bitcoin addresses to get the current value.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
I'm happy I have taken the correct precautions but was trying to avoid a full Bitcoin Core download and sync as I don't have enough room on my laptop to sync the blockchain.  I'm not sure if I need to sync the whole lot as these would have been mined very early on.  I'm also having trouble installing Bitcoin Core on my laptop for some reason?
Yes, but you can prune it to save the storage space, though you'll still take some time to synchronize. If you are absolutely sure you don't have any transactions after a certain timeframe, you can wait until Bitcoin Core synchronizes until that period of time and determine which addresses have Bitcoins. You can dumpwallet and import the addresses into a SPV wallet like Electrum.

What errors are you having?
newbie
Activity: 6
Merit: 4
I believe Bitcoin-QT became Bitcoin Core around 5-6 years ago???  I'm happy I have taken the correct precautions but was trying to avoid a full Bitcoin Core download and sync as I don't have enough room on my laptop to sync the blockchain.  I'm not sure if I need to sync the whole lot as these would have been mined very early on.  I'm also having trouble installing Bitcoin Core on my laptop for some reason?
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
I have found the wallet.dat file, used the GitHub Wallet-Key-Tool to extract the Keys and then imported all 101 addresses into a Blockchain wallet with all having a 0 BTC balance.
I don't know that tool, so I can only hope you took precautions (such as running it on an air-gapped offline PC). Why didn't you just install Bitcoin Core after making a few backups of your wallet.dat? Or even better: install Bitcoin Core first, let it sync the first few years (that's fast), then add your old wallet.dat after you take the PC offline to prevent any malware attack.
I also hope you didn't import the private keys but only the addresses into an online wallet. If you mined a block back in the days, each block would make you a millionaire now, so you're risking if you expose private keys to a hot wallet.

Quote
The strange thing is that within the Bitcoin folder, I have Block folders with transaction numbers and full transaction details and some of the addresses still contain mined BTC.  Why do I have these transaction details if it wasn't my computer or wallet that mined?
I wasn't using Bitcoin around that time so I don't know what files Bitcoin-qt used to write. I've never heard of Bitcoin-qt by itself storing keys anywhere else than in wallet.dat.
newbie
Activity: 6
Merit: 4
I'm after some assistance in checking to see if I mined some BTC back in 2009/10.  I had Bitcoin-QT on my PC in with an active wallet so I'm hoping that mining was not optional back then.  I have found the wallet.dat file, used the GitHub Wallet-Key-Tool to extract the Keys and then imported all 101 addresses into a Blockchain wallet with all having a 0 BTC balance.  The strange thing is that within the Bitcoin folder, I have Block folders with transaction numbers and full transaction details and some of the addresses still contain mined BTC.  Why do I have these transaction details if it wasn't my computer or wallet that mined?

Thanks
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
I wouldn't start adding random altcoins, there are way too many of those. But if there's any demand for a certain coin recovery, don't let me stop you Smiley
The biggest challenge is the lack of documentation and I can't go dig around in their code trying to figure things out. Otherwise I've written my code in a very scalable way that adding an altcoin in most cases is trivial.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
I have not yet decided whether I should start adding altcoins to FinderOuter ~
What do you think, is there any demand for it?
I wouldn't start adding random altcoins, there are way too many of those. But if there's any demand for a certain coin recovery, don't let me stop you Smiley
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
By request I've created a new branch in FinderOuter that could be used to recover Tron private keys. They are in hexadecimal and use SHA3 to hash the public key.
https://github.com/Coding-Enthusiast/FinderOuter/tree/Tron

I have not yet decided whether I should start adding altcoins to FinderOuter which is why this won't be among FinderOuter's regular options and the branch has to be built by cloning the repository.
What do you think, is there any demand for it?
legendary
Activity: 3472
Merit: 10611
What if I store my privkeys and all these wallets over CLOUD services?

cloud services can never be an option and here is the problem, when you store your private keys on a cloud server you need to encrypt it first. and we are talking about a strong encryption which means you now have to create a backup of that strong (long and random with symbols,...) password so we are back at square one of you looking for a way to store something!

Late response... not that I'm endorsing the idea of uploading client-side encrypted files to cloud services (as it's still risking centralized server usage), but regarding the long password to remember. Personally I find a 20+ character (mixed letters, numbers, symbols, caps) password more than sufficient, which takes usually a month to type-train to gain muscle memory, and can then otherwise be used as a shard stored (or re-sharded) elsewhere to store as a backup. Dividing a password into three/four parts, stored with different people in different countries, is a pretty reliable mechanism to rely on given memory loss or otherwise. Just make sure the different people don't know each other is a good start  Wink Or alternatively don't provide them access to a backup file, so a password combined together wouldn't amount to anything on it's own. Hence sharding.

Then get creative and engrave the sharded password in three trees of different forests, bury some backups in different locations, just cos you can  Tongue

you go through all that trouble and in a couple of years go through all that trouble again to recover the password just to realize that your cloud account is not longer accessible whether because the account was disabled or hacked or just simply wiped because the service provider decided to do so.
now you have a password but nothing to decrypt Wink
legendary
Activity: 1722
Merit: 2213
What if I store my privkeys and all these wallets over CLOUD services?

cloud services can never be an option and here is the problem, when you store your private keys on a cloud server you need to encrypt it first. and we are talking about a strong encryption which means you now have to create a backup of that strong (long and random with symbols,...) password so we are back at square one of you looking for a way to store something!

Late response... not that I'm endorsing the idea of uploading client-side encrypted files to cloud services (as it's still risking centralized server usage), but regarding the long password to remember. Personally I find a 20+ character (mixed letters, numbers, symbols, caps) password more than sufficient, which takes usually a month to type-train to gain muscle memory, and can then otherwise be used as a shard stored (or re-sharded) elsewhere to store as a backup. Dividing a password into three/four parts, stored with different people in different countries, is a pretty reliable mechanism to rely on given memory loss or otherwise. Just make sure the different people don't know each other is a good start  Wink Or alternatively don't provide them access to a backup file, so a password combined together wouldn't amount to anything on it's own. Hence sharding.

Then get creative and engrave the sharded password in three trees of different forests, bury some backups in different locations, just cos you can  Tongue
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Since I just added this "optimization" to FinderOuter I though I should give an update on this post regarding the 7 characters and the checksum (I can't believe it's been 2 years!).

The key posted in OP (5KMWmYkn5YWkJnUDG4utD9L1HXQv3DBseqqCGsQXmthcEerbA7k) is missing more than just its checksum. In fact there are 515 valid WIFs with the same starting 44 characters. I did a little modification to the code and printed all of them. Interestingly enough the valid key is found on line 122.
https://gist.github.com/Coding-Enthusiast/8339f64c736053107f0d918675c186e0

I ran a lot of tests with different keys before releasing this code and I came up with these numbers representing the number of possible valid keys with the same initial characters in case the missing ones are from the end. In case of compressed keys checksum could be up to 6 chars and only 5 for uncompressed ones.
Code:
        Uncompressed ;     Compressed
1-5 ->             1 ;              1
6   ->             9 ;              1
7   ->           514 ;              3
8   ->        29,817 ;            117
9   ->     1,729,387 ;          6,756
10  ->   100,304,420 ;        391,815
11  -> 5,817,656,406 ;     22,725,222
Here is a non-permanent link to the code (https://github.com/Coding-Enthusiast/FinderOuter/blob/master/Src/FinderOuter/Services/Base58Sevice.cs#L130-L139) which may be updated in the future if I find any new information.


While I'm here, is there any wallet or tool (apart from bitaddress.org) that has ever used Base64 encoding for private keys?
Since looking at OP, FinderOuter already has an option to recover everything listed there (Base58 WIFs, Base16, mini keys, BIP38, even addresses and finally mnemonics) but the only things missing right now are Base64, BIP38 password brute force and wallet file recovery which I have plans for implementing the last two after releasing 0.5.0 with all the optimizations but not Base64 and don't know if I should add that to the list or not.


PS. your list is missing Version Extended Wallet Import Formats (WIFs) outlined in BIP-178 and has a briefly used alternative different implementation by Electrum.
It is basically the same looking WIFs that when decoded have used either a suffix or prefix (depending on the implementation) to "extend" the key with extra bits to indicate the corresponding pubkey script type derived from that key. Such keys can't be imported in wallets without converting them first.
I also have an implementation of it in Bitcoin.Net with a bunch of test vectors (first 3 WIFs are BIP-178 and the remaining 5 are Electrum specific) which also supports the Electrum script type format (scripttype:wif).
member
Activity: 180
Merit: 38
QR codes are also a widely used storage format, the well known paper wallets, but it's not in that list.

When you look at the name BITcoin then one would think that you would start with the base2 or raw 0b binary 256 Bit key format, the famous flip of a coin example, because after all that is where it got it's name, and that is what it's all about.
But it's not in there.

The base10 key format is also missing, this is the most widely used system on the planet, this is the storage format most people alive today use.
When you say any storage format it has to include them all.
It might not be a commonly used bitcoin storage format but it is certainly a valid storage format and there are several bitcoin applications that use this format internally.
This one could likely rise to the surface in a considerable amount of time, because it is already used on a global scale and people are familiar with it.
It has the potential to lower or even break the tech barrier.

It seems the format will only make it to the list if it has a known recovery url...  Cry
That's not any/all formats, like in the title, but just the ones you have a recovery url for.
Its a bit incomplete that way.
Besides it's perfectly possible to recover a damaged QR code i just don't have or need a url for that.
jr. member
Activity: 41
Merit: 41
Missing storage format: 32 bytes of raw binary.

Since random data is incompressible, it even remains unchanged if your wallet is in an (unencrypted) zip file.

If your wallet is on an old hard drive or USB stick, back up and scan a raw image of the ENTIRE DRIVE. Even if your wallet is encrypted or damaged, you might just find your private key in a chunk of an invisible cache or page file somewhere else on the disk!

As a last resort, I made a highly optimized tool to exhaustively scan a raw disk image for a binary private key, using a sliding window of 32 bytes. It still took *months* to scan a big hard drive, though.

To be sure, I recommend making a disk image using ddrescue with SystemRescueCd, then make a backup of that image, then scan the image.



Another missing storage format: ASN.1 DER.

Early versions of Bitcoin used OpenSSL and its related overengineered storage standards. It might be binary, as above, with various leading bytes, or it might be a base64 pem file (with newlines in the middle of it).

References:
https://github.com/dsharhon/bitcoinj-minimal/blob/master/core/ECKey.java#L66
https://en.wikipedia.org/wiki/ASN.1#Example_encoded_in_DER
https://www.hanselman.com/blog/DecodingAnSSHKeyFromPEMToBASE64ToHEXToASN1ToPrimeDecimalNumbers.aspx
newbie
Activity: 26
Merit: 3
Hi can tell me how to use the software on a macbook or send me the exact link.

You'll have to compile the code yourself to be able to run it on macOS, my released binaries are only for Linux since I want to encourage users to run it on a live Linux and offline.
The readme file of the project has the required information for building: https://github.com/Coding-Enthusiast/FinderOuter#build-from-source-code
If you have Visual Studio, all you need to do is to open the .sln file and then build.

Please post your additional questions in the project's announcement (https://bitcointalksearch.org/topic/the-finderouter-a-bitcoin-recovery-tool-v0160-2022-09-19-5214021) or open an issue on GitHub. Let's not hijack this topic anymore.

Hi From your previous answer you provided me were do i put in my private key and could kindly write the code for me as i am not a developer 
https://github.com/Coding-Enthusiast/FinderOuter/blob/85d5fdaa8d931bc8709c6e5058704ca0fca94ab4/Src/FinderOuter/Services/Base58Sevice.cs#L338
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Hi can tell me how to use the software on a macbook or send me the exact link.

You'll have to compile the code yourself to be able to run it on macOS, my released binaries are only for Linux since I want to encourage users to run it on a live Linux and offline.
The readme file of the project has the required information for building: https://github.com/Coding-Enthusiast/FinderOuter#build-from-source-code
If you have Visual Studio, all you need to do is to open the .sln file and then build.

Please post your additional questions in the project's announcement (https://bitcointalksearch.org/topic/the-finderouter-a-bitcoin-recovery-tool-v0160-2022-09-19-5214021) or open an issue on GitHub. Let's not hijack this topic anymore.
newbie
Activity: 26
Merit: 3
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Hi Can you tell me exactly where do i input the private key with missing characters?
I haven't tried the software myself, but based on The FinderOuter (initial release 2020-01-01), you can just enter the private key in the GUI:
newbie
Activity: 26
Merit: 3
Hi Can you tell me exactly where do i input the private key with missing characters?

As right now all i am getting a return of "faee560d9"  ( i am only providing part of it this is only the beginning)?  this is after i had some code already written. for base 58 missing characters.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
Pages:
Jump to: