TL;DR
A while ago, I sent some Bitcoin to an address without any physical backup to see if I could retrieve it years later. Now, I'm struggling to find it again. Lol.
Long version
I mixed a brainwallet with BIP38 encryption to make it really tough to crack. Kinda like that proposal, but with my own twist. I took some notes about my process:
I can't recall the address.
I remember the amounts on 2 addresses that funded it.
I don’t remember the transaction fee.
I can't recall the year I did this, but I think it was between 2017 and 2020.
I'm pretty sure all the addresses involved were legacy.
Blockchair's transaction search shows a ton of potential transactions. I can reduce it to under a thousand based on some assumptions, but I can’t filter it down to a lower number without some options I need.
I do remember the passphrases I used. I’m not claiming 100% certainty, so let's say I'm 99% confident about them. That makes me think there’s something in my method I can’t replicate.
I’m completely sure nobody brute-forced my private key. The passphrase was way too long for heavyweight BIP38 encryption, and my setup was complex (so the usual automated search methods for attacking typical brainwallets wouldn’t work here).
Questions
Why did I break step 1 and 2 into two parts? I could've done that in one go, unless I'm overlooking something.
Does BIP38 encryption generate the same encrypted key every time, or could the same privkey and passphrase give different encrypted results if different software is used? I likely used bitaddress.org or that other paper wallet that’s now a scam.
I'm guessing the most plausible things you can remember here would be the amount and a more accurate time of transaction, this ca narrow down the search a lot further. You can try linking the action to at other event you did before or after at the time, so for example if you were taking an exam when you did this or attended a wedding. With the address you can use any available tool that works now to check that with the passphrase to know if it's valid.
If you do get the amount and it's less insignificant, it will make the 'I told you sos' more fun'.
Also do you think at that time you would have left some clues for you now to find it?
Can you work it another way? Did you send them from a wallet you control? If so can you narrow down the info from there?
And
If it's an amount you don't mind loosing then stop worrying about using an air gapped system that is taking you more time and effort. You are more likely to make a mistake and miss the fact they yes you did find the addresses & keys.
Other then to see if you could was there another reason for this? Perhaps something else that may help you remember.
i.e. I was annoyed at DaveF when I did this so I vanitygenned 1FuckDave as one of the addresses?
-Dave
I have been trying the second website which is now a scam website. I tried it just to know how the encryption is but if you try anything with passphrase on the site, it will keep on loading and not give you any result. I just want to test it, not use it.
If it is on bitaddress, it will always give you the same encryption if you use the same passphrase to encrypt the private key.
I think BIP38 is a standardized encryption and it supposed to be the same result irrespective of the website used, but some wallets paper wallet generator can go another way.
I think it must have been 2018, but I could be off. I can't narrow it down more accurately. I know the input amounts, the sum of that minus the transaction fee is on the address I'm looking for. Unless it was dusted later, in that case the balance can be a bit higher.
Over time, when the value increases, it's going to be more fun
Nope.
I'm considering writing a script to search all block data, to narrow it down. That's going to be a lot of work though, and even if I know the exact address, that doesn't solve my problem. But it would make it easier to know when I have the correct key.
I would trust my normal computer with this amount, but since I'm using a browser to do the encryption, I don't want it to have internet access. And I would prefer to keep the passphrases secure for future use: I can only remember a few long passphrases with a high degree of certainty for a very long time. If I have to come up with a new one, chances are I'll forget it at some point.
Lol. Nope, the address came from a BIP38 brainwallet as described.
I have an old version, from before the site got sold. You may still be able to find it on Github.
I'll do some more testing with this.
Yes. Actually, all I get is empty wallets.
I should have just posted a BIP38 encrypted key on Bitcointalk as a backup
I like "treasure hunts". I like Bitcoin puzzles. I even like Fork recoveries. It always feels like a challenge to find money. I like it. But puzzles that I can't solve are frustrating, until someone else solves them. In this case, that won't happen, which is why this will be "tormenting" me forever until I find it
Certainly you could do it in one single step. Probably you didn't notice BIP-38 encryption option at first, thus , applied it afterwards
Yes, providing it is properly coded.
Yes, providing the different software is intentionally designed to produce a different encrypted string (the aim being to steal your fund) , known to person, who is behind this software,
Yes, it is quite common. Having at least a single physical backup is very important. If someone want to dig into the chain, then I have a similar puzzle, good luck finding it:
1. The amount was exactly 10k satoshis.
2. It was sent from this site as a giveaway, for writing an email: https://web.archive.org/web/20150106042627/http://99bitcoins.com:80/get-your-first-bitcoin/
3. I put that into this scammy wallet, probably in 2015: https://bitcointalk.org/index.php?topic=943146.0
I guess this was the first time, when I saw some on-chain transaction, filled with the data I wanted to use. Of course, those coins are now gone, and that website is no longer reachable (also because Tor moved into new address types). Probably those coins were moved long time ago, but no matter how hard I tried, it is impossible for me, to find them. Also, the mailbox, which I used, was removed in 2016, so it is long gone.
I don't think so. If I am wrong, then tell me: which address I put in my email then, in 2015, when I received my 10k sats?
There are many unsolved puzzles, related to brainwallets, for example bc1qt2mdkehmphggajer3ur3g8l754scj4fdrmw3rn now contains 0.01 BTC. I guess it is related into writing "pi" value somehow, but the most obvious things, like writing "3.14" in ECDSA, does not lead to the right key (and addresses like 17mKugcBDEJbu391Fq41AdwLeGHwJLPRDf were cleared long time ago).
Guess what: I figured it out! It turns out my mind had added a character to my passphrase, that shouldn't be there. Without it, I can recover the address.
To me, this proves (and/or confirms) 2 things:
1. My "it's all in my head" storage system works.
2. My "it's all in my head" storage system is far too risky.
The funny part is: I took notes of the method I used, because I wasn't sure I'd remember all the details (even though, as a relative Bitcoin Newbie back then, I didn't realize the first 2 steps could have been done in one step). What surprised me, is that I doubted the method I wrote down, and not the passphrase I memorized:
It was the other way around. It's funny how my mind tricks me into trusting .... my mind
Lessons learned
Don't do brainwallets Even though I'll keep this one for now, it's still not recommended. And if you do insist (which you should only do if you know for sure it's difficult enough to withstand brute-force attacks): keep a backup. Or just don't do it. But if you do, and if you can't restore it in the future: please open a topic about it
That's not much to go on. It gives 71,371 possible transactions.
I don't get this part:
If you didn't initially know the address then when you use the private key to generate its base58 address, you could've checked it for a balance on a block explorer, without the other steps.
This is a better description:
I didn't know the address nor privkey. Now I know both again.
As an example (I did this online because it's only for testing):
Go to bitaddress.orgClick Wallet DetailsIn privkey field, enter "longpassphrasetoremember"Tick "BIP38 Encrypt"Enter "extrapassphrase" and click Encrypt BIP38Click OK to use it as brainwalletThe resulting encrypted privkey is 6PRKrgToVFyMzHL3qYa9Pq7e1ZugAiaYGYUxK2ccVaUoSeK9PYnqFti5BrNow create a new brainwallet out of "6PRKrgToVFyMzHL3qYa9Pq7e1ZugAiaYGYUxK2ccVaUoSeK9PYnqFti5Br-1", and use compressed addy 14ut6qNTdRaexXRtMjYQc7bkStr2FLNfhk 1BsQ1rYAi2nNpnqpCLyQS4fkV4dEf3jegB to store funds (don't use this one, obviously)Before funding anything, see if you can reproduce your address from scratchThis is what I did. By now, a Segwit version would be better.
BIP38 with segwit addresses would be non-standard, because it only mentions encoding the address into compressed or uncompressed base58.
I don't think anyone actually uses BIP38 anymore outside the collectibles community. There are better ways to encrypt large amounts of private keys especially the ones that are derived from HD keys.
PS: Your algorithm for deriving a brainwallet is quite hard to remember
I could create a Segwit address from the resulting private key.
I think you're wrong, but can't prove it
Do tell: how? What standard encryption is heavy enough to keep $1000 secure for 2 years with password zLwMiR, even after giving hints? I'd like to use something better, but I haven't seen anything that follows a standard.
For the record: this exercise wasn't only about encryption, it was about remembering everything from scratch.
That's why I wrote it down
Out of curiosity: the subtraction of 1 from the intermediate 6P private key (I assume after conversion from WIF to hex format, otherwise the WIF's checksum would break) is an intentional obfuscation step?
Your recipe is already a bit complex. But why this subtraction step? Didn't you trust your initial passphrase1 and encryption passphrase2 enough?
Simple brainwallets (by human standards) are in many cases fundamentally flawed which has been proven. You simply can't use anything that's online available as source for a simple brainwallet (simple in terms of taking only the SHA-256 of the source phrase as private key).
I'm not subtracting "-1", I'm adding it (see this example) as a nonce. I could use "-2" to get the next address. In a way, they're like hardened private keys: if one leaks, it's not possible to find the next one.
Have a look at WarpWallet.
I was throwing away some old empty seeds I had written down and saw the 12 words from my first hardware wallet. I had memorized these before, but I switched devices ~5 years ago. Out of those 12 words I memorized, I only remembered 1 now.
Strength of passwords and number of unique passwords seems like a bottleneck that humans are running into. Machines are becoming more powerful at guessing passwords, so humans are required to remember longer and more complex phrases. To access my Bitcoin wallet on my node running on my laptop, I'm burdened with 4 layers of passwords - disk decryption, user login, node login, wallet login.
I could help proving this statement
Now, seriously, were you doing an experiment (for fun) ?
Personally, if I used something like that, I would definitely keep the phrases in paper backups, without ever mentioning or stating they had anything to do with Bitcoin.
Or use my tool https://bitcointalk.org/index.php?topic=5488789 (Only kidding of course!)
While I like your Bash script, I don't think I will ever use brainwallet addresses. I'm quite well aware of the unreliability of my own memory, unless I train and use memorized details on a regular basis, emphasis on regular. I'm simply too old to keep stuff solely in my head. For me this would be a sure recipe for desaster, especially when I don't have to use it frequently.
If I were tempted to use brainwallet addresses, I'd use also additional protection with BIP38 encryption, but I'd keep'n'hide a written backup for sure, which kind of defeats the purpose of a true brainwallet. I shall not be tempted...
Another flaw in this whole thing is "inventing your own method". It is never a good idea specially when it comes to cryptography related stuff. There are a lot of things that could go wrong, from small bugs that could not be reproduced when trying to recover to serious bugs that could be categorized as security flaw.
but in his case it's not because it is cryptographically weak. its because after a few years, you won't remember what the steps you did are. unless you wrote them down. which you're not supposed to do with a "brainwallet"...
you could have just eliminated the bip38 part since the final step was just hashing some string to get the private key. anyone else finds any other string with the same hash they don't need to reproduce your bip38 step at all but i think your premise is you think your string is the only one that anyone could ever use to get that hash. it's an assumption.
and of course you kept notes of what you did because if you wouldn't have you probably would have forgotten those 3 simple steps. and they were very simple. and yet, we all find even simple steps hard to recall after YEARS.
to get even more security why not iterate this entire procedure 10 times? taking the output of step 3 as the input to step 1. surely that would be even MORE secure because what adversary would go through all of that?