Bitcoin wallet recovery through ID verification while preserving full anonimity. Is it possible?
I don´t have the background and I am not smart enough to come to a solution for this, but anyways I am throwing out this idea so maybe someone can develop a solution based on something similar to this:
- There is a public repository of public keys from private identity validators
- User chooses id. validators when setting up the wallet (N of M). An emergency private key would be encrypted N times with each validator’s public key. The encrypted result would have to be somehow publicly attached to the wallet address, so it is availabe in order to be decrypted. Only validators in a specific order would be able to retrieve that private key. The user would have to remember which validators did he choose when setting up the wallet.
- Funds can be accesed with your Private Key or with a recovery process having N of M signing (they would only sign if you validate your identity with them).
- Identity is never revealed to anyone if you never make use of the emergency recovery of N of M
- id validators could collude to steal your funds if they find their public keys associated with your address, but they would never know your identity.
- When N of M emergency is used, funds will be withheld for X hours/ days and the withdrawal could be canceled / overriden using the Private Key.
- The wallet would query (using TOR) every day and warn the user if it detects that an unathorized emergency transaction has been triggered.
Setting up the wallet should be very easy for the user. Recovery should be a rather burdensome process.
Problems of this solution: You have to give up your identity to N private validators in case of emergency (although they are private and you could choose to not recover the funds and not giving up your identity). Once started the recovery process, the last ID validator to decrypt the emergency key could steal your funds. Id validators could collude. Id validators are honeypots of private keys that might grant access to many addresses if combined with private keys from other validators. Validators could dissapear or lose their private keys. Validators could refuse to sign. Validators could try to charge abusive fees taking advantage of your emergency situation. Validators could decide to expose their private keys to harm the network.
However, regarding the risk of validators colluding or validator´s private keys being compromised or exposed, as long as the associated validators are fully obfuscated, and the number of possible validators is high, then the difficulty (N^M) of breaking the emergency process could be enough to be really hard even if an attacker has all the private keys from all validators, or if validators try to collude to break-in.
EDIT: Variations of this scheme could be the following:
- The standard private key could only retrieve X% from the balance per day, and the emergency N of M would only allow to withdraw full balance together with the standard private key if an id verification has occured within the last X hours. This wouldn´t protect you from losing the standard key, but would protect you from physical coertion.
Bitcoin donations are welcome: