This is a concern. Is it possible the random wallet generator in hardware wallets were not random and gets hacked? Should we roll some dice and create our own seed words for extra security? https://t.co/hnsmPceyAt
happy to see @BitMEXResearch still posting, and with such a whimsical premise too. I am curious as to how these automated wallet-sweeping bots work. huge DB of addresses constructed from every line of every book in libgen?
sos755Platinum | QC: BTC 493, BCH 185, CC 116 | MiningSu3 months ago
What many people don't realize is that over the last several years, there are people that have been generating billions of private keys from movies, literature, music, and quotations, etc. so that if anyone ever happens to use one of them, these people can immediately take the funds.
This article is really sneaky. It doesn't fully explain what a brain wallet is and so it seems as if they are talking about cracking the 12 or 24 seed words plus your passphrase which you took from your favourite book.
What a great experiment!
Thanks for posting.
It reminds of the guy whos key was posted accidentally in some files, and a tx happened seconds after the upload.
Imo, its evidence of some bad shit on the adoption-horizon. Gonna be a bumpy road with bots this nasty patrolling.
I had a few brainwallets that held ridiculous amounts at today's price level. Nothing was taken. But I also didn't create them using dumb methods. Brainwallets still work fine. Though I wouldn't recommend it for most users.
I created a bunch of brainwallet honeypots for science-fun and most of them are still not taken yet. none of the keys are taken out of books or existing text, but the keys are hidden in plain sight.
one got taken after 3 years - the key was published in plain text as html-title of a webage - an other was plain text in the bitcoin-blockchain. took also 2years to be taken.
Write a script that checks the wallet for funds every second. Sweep keys once amount > 0.
Honestly, could be a pretty low powered device just sitting there trying to check wallet balances over and over again. Could probably run that script on a desktop fr 2010 and just leave it plugged in forever haha.
Brain wallets are well known to be a badg idea for many many many reasons including that it encourages non random pass phrases and human memories suck. Unless you're trying to get passed Kim Jong Un's blood riders, you probably don't need to even consider using a brain wallet. Get a hardware wallet and securely store your backup seed in a safe. More info
Next? Its running..
> Around a year ago, I conducted a similar experiment, where funds were sent to addresses generated by a reasonably obvious pattern deep inside some of the world’s best selling novels. These funds are still sitting in the blockchain today and have not been stolen.
I may be missing something, but it may be possible to pre-generate a list of common phrases and then just monitor the blockchain for their hashes. That's how the 0.67 seconds one probably worked. So not very expensive, just have to run a node and send each address to a script which will check the list.
>That's how the 0.67 seconds one probably worked.
That's how they all worked. It's not like they could look at a Bitcoin address and then try to work backwards from there. It's just that there are many people out there doing this, some move faster than others to sweep the funds, and they all have different prepared lists of public addresses that they have the ability to spend.
Just use normal trusted Bitcoin software to generate (on a offline computer) a 12 word seed. Copy paste some of the addresses to a thumb drive and then memorize the 12 words. (Now wipe the offline PC) Not using enough entropy for a bitcoin privkey (by coming up with something yourself) means the funds will eventually get lost no matter how clever you think you are.
This method is the only safe way of getting a brainwallet.
Better than using "trusted" bitcoin software to generate the seed is to rely solely on general random number generator, you can write your own seed generator on top of general RNG (which everything including https, ssl, ssh depends on) in an hour and don't need to trust some rando software.
That is, using an existing general RNG, but it's better to write the glue code to make a valid seed is yourself - it's less time consuming than auditing existing implementations.
And yeah do all this on an offline computer, you want probably an older one without wife and run linux/*bsd to be safe.
That's not security by obscurity. Hashing a password a lot of times is effectively a Password Based Key Derivation Function (PBKDF) and should be secure if the hash function is secure. Admittedly, a well vetted dedicated PBKDF would be more secure, but that solution should work, too.
> Hashing a password a lot of times is effectively a Password Based Key Derivation Function (PBKDF)
Yes indeed. But a KDF doesn't make a non-random password secure. What is security by obscurity about it is that the KDF would be non-standard. If it is standard, then it can only make a secure password more secure. If the funds were stolen in 0.67 seconds, they might last a few minutes instead.
I agree. It can be useful if you need to access bitcoin after going through draconian searches by authoritarian governments. Trying to keep it in memory for any length of time tho is so risky its probably not worth it for anyone.
Anagram a phrase and swap out letters for numbers or special characters, then reverse it and add capitalization to indicate your favorite prime in binary
but, you know, with more words in the phrase
The thing to remember about these approaches is the method becomes a part of your password. And while using tricks like this may seem clever, they're less secure and more difficult to remember than other methods.
Generally speaking a hardware wallet is going to be the most secure approach. But if you insist on using a brain wallet keep the following in mind:
1. Hashes are your friend and you don't necessarily need to keep the hashing count a secret. With a high enough rehash count you'll slow down attempts to brute force your password.
2. Some aspect of your password should be information you've never shared and not inspired by anything you've seen in the world. It doesn't have to be substantial but you can't ever share this information or enter it into a compromised system.
3. Combined with the concepts above you can add in phrases or information that someone might guess. This information should be substantial but also easy to remember.
Again, using a seed you come up with is generally a bad idea but you're less likely to forget it or get it stolen if you keep the above rules in mind.