So I have been thinking about ways in which account recovery could be done in a way that is decentralised. Now, just a disclaimer, while I am a software developer I am by no means an expert on cryptography so this may not even be feasible.
The idea is that you use a smart contract that has a recoverKey function. This will be time delayed. In the contract itself you can specify one or more recovery contracts. These contracts could be that of people you personally trust or even your own wallets (assuming you have both a hot and cold wallet). You could possibly even include email addresses assuming the network could be built in such a way to have email capability.
Now, let us assume that you lost your private key. You can then initiate recovery using your public key (if you forgot that too, all of the recovery contracts will have access to the public key at all times) Now let us also assume that the recovery period is say 21 days. Seems a reasonable number to me. All actors will be notified that a recovery is in progress and any one of them could cancel recovery. That would be a reasonable form of security. At the end of the period, your private key detail will then be sent to your trusted parties in a secure fashion such that only they can view it. Yes I know I am omitting how the cryptography will be handled, I am hoping someone who has a strong grasp on cryptography reads this and figures that part out.
What do you think of the idea?