I was thinking a lot about the decentralized web and reading about projects like solid, fission, and radicle etc.
I was wondering if there is an implementation of a decentralized password recovery mechanism of some kind? Or maybe more generally a private key recovery mechanism?
We read a lot about people forgetting or losing their private wallet keys for bitcoin and we know commonly people forget their passwords. If the vision of the decentralized web is for users to own their own data surely we will need some implementation of something like this.
If you can accept the keys being accessible to your bank, then just print them out and put a copy in your safe deposit box, or maybe more than one box for decentralization. You do have to label it "this is my bitcoin wallet key" that your heirs can figure out what it is in the event something happens to you, but that means the bank can get to it too. My bank broke open my safe deposit box due to idiocy on their part. I didn't have anything super secret in it and I didn't notice anything missing after the break-in, but who knows whether they copied my backups and whatnot.
If it has to be accessible only to you, then 1) the location(s) are now a secret you have to remember, just like a password; 2) if something happens to you, the wallet key is now gone forever, which might not be ideal if the amount was substantial and you had someone to leave it to.
If you have a family lawyer then maybe you can give him or her a sealed envelope with the secrets in it. You'd direct them to keep the envelope in a safe place until you ask for it back, or (if you die first), to open it and follow the instructions inside at the reading of your will.
Basically you are looking for a techno solution to a human problem. The data involved is a few hundred bytes at most. It technologically suffices to print out some hex numbers (maybe with an error correction code or even as a QR code) and arrange to store the paper safely. Secret sharing across a few different pieces might or might not be worthwhile. You probably don't use secret sharing for your bank account credentials, so maybe you don't need it for your bitcoin wallet either, depending on what you are trying to protect against.
Of course there are intermediate solutions involving private conversations with your family during your lifetime, whose details you can work out for yourself.
https://themerkle.com/loopring-price-up-26-after-vitaliks-bl...
You can use SSS to break your key up if you’re worried about leaks or malicious hosts so that it requires n compromised services to recover your key at the cost of having to do n separate recoveries for each recovery.
Distributed is the harder game since you don’t get to have trusted parties in the usual sense.
0. User provides a password.
1. The system stretches this password.
2. A private key is derived from the stretched password.
3. A public key is derived from the private key.
Is this possible?
ghayes also referred to this.