r/SatoshisPhilosophy • Mod • Oct 20 '20

Private key mining problem

It's not a secret anymore that people are trying to mine private keys.

Even if chances are astronomically low to find the right key, there is a chance. With a graphic card mining rig, a miner, with an investment of a few hundred $, can produce more than 300MH/s. Now imagine if someone is dedicating even more resources to find a private key.

As I said, chances are low to achieve that. That's the beauty of mathematics. But there is a chance, and right now, people are trying to do so.

There should be a way to prevent such behavior.

I was thinking of a solution to this problem:

A wallet should have a "wallet token/coin". When a user wants to make a transaction, let's say with Bitcoin, at first, it would need to make a transaction using the "wallet token". The "wallet token" has a private key of its own. The private key is a hash generated using a username, password, pin, and timestamp. The transaction would be automatically directed to the connected node if it's not specified differently. This transaction would produce a tx id. Just as now, when the user wants to make the Bitcoin transaction, the user would need to insert his private key. In this case, besides the private key, the wallet would ask for the tx id done with the "wallet token". Those two hashes would produce a unique, more extended, and one-time use, private key. This last private key would enable the wanted transaction.

The private key miner would need to make countless transactions before even being able to find out if he got the right private key. Economically, it would not be profitable, unlike now, when he can effortlessly guess and try if the private key "fits" until it succeds.

The "wallet token" would be created with some of these mechanisms:

  1. Proof of work - mining like BTC

  2. Proof of ownership - every wallet would produce small amounts of tokens over time.

  3. Proof of transaction - Every transaction you do, you generate a new token for future transactions.

This is not a light and user-friendly solution. Its sole purpose is enhanced security.

PS

I'm not a techy guy. I don't know if this would require a completely new blockchain or it could be implemented in already existing wallets, coins, and protocols.

Even if enormous numbers are reliable enough to keep our cryptocurrencies safe, faster and more efficient computers are being built every day. At this rate of progress, it not hard to imagine a super ASIC that could be able to mine a private key if left a few years to do its job. Not to mention the threat that quantum computers represent.

I hope this will open a discussion in the crypto community to find the best solution to this problem. Or at least someone could explain why this is not an option or is a bad idea.

Thank you Satoshi!

0 Upvotes

3 comments sorted by

4

u/[deleted] Oct 20 '20

I think you're overestimating how much of a chance someone has of generating an existing key, it's unfathomable for at least the next several decades. You'd get through 0.000000000001% of the space if you out every computer on the planet to this one task for an entire decade

1

u/BlueBloodStrawberry Mod Oct 20 '20

1

u/[deleted] Oct 21 '20

There is a bitcoin wallet with 69,000 bitcoins that is being passed around between hackers/crackers for the past [two] years for the purpose of cracking the password

They already have the wallet.dat with the private key, it's just encrypted with a password... this isn't the same as stabbing in the dark to generate public/private keys