Bitcoin is key based. Although it is possible to convert a password into a key, publishing the public key makes it vulnerable to brute force. Currently, passwords are used with Bitcoin, but only to protect keys (if the key is lost, your money is lost. Publishing the key in a public place is bad idea because brute force.) Is there a way to you can use passwords, but make checking the password require mining a block?
In particular, is there a way to make it so that it is impossible to know if a transaction signed with a password is correct unless its part of a mined block? This way, even if your password only requires 1,000,000 tries to crack, the attacker needs to mine 1,000,000 blocks to bruteforce the password?
- In particular, once they have mined a block, if you change the password, the proof of work becomes invalid, and you need to generate a new one before you can check the new password.
- Although it is tempting to say that blocks with invalid passwords are invalid (so our malicious miner doesn't even get to keep what he mined), this would put honest miners at risk of receiving invalid transactions and losing their mined coins. Therefore, invalid transactions would just have to be ignored.
- Users could change their password by simply creating a new account and transferring their funds to that.
Is this possible? Does any cryptocurrency currently do this?