-
-
Notifications
You must be signed in to change notification settings - Fork 882
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decentralized / multi instance accounts #3110
Comments
FEP-2100 has a proposal along these lines. Apparently it is implemented in a GNU social plugin (the link is not working for me). However it would take a lot of work to make this production ready for Lemmy. |
Duplicate of #3100 |
@Nutomic I think what OP described here is closer to the idea of identity proofs: https://codeberg.org/silverpill/feps/src/branch/main/c390/fep-c390.md A user can link their pubkey identity to an actor, and when two actors are linked to the same identity, servers can treat these actors as different representations of the same account. I'm using this as a basis for account migration mechanism in my microblogging application, and although it is not finished yet and there are several UX issues, this approach actually works and provides a solution to unexpected server shutdowns. My software is written in Rust, so some code can be re-used in Lemmy (I'm thinking about releasing a crate containing necessary cryptographic primitives). |
I think this should be reopened because it has different scope(account as opposed to community) |
If someone wants to work on it, we'll re-open and assign it to them. |
Describe the feature request below
What
When first joining Lemmy some might find it difficult to decide what instance to join so I think it would a good idea if there was an option for decentralized accounts. The main goal would be to protect your account/identity from getting lost if for example the instance goes down.
How
One possibility for solving this without resorting to some kind of central authority could be to add the option to sign your account with public-key cryptography. Then if you create an account on a different server you could prove that they have the same identity by signing that one as well.
So you would need two new entries in your profile for your public key and a signature for the account to prove it's authenticity. It would also be nice if there was an easy way to export account data to keep saved with your private key but that's something that could be added later.
Additional benefits
Adding a public key also has the obvious benefit of allowing e2e encryption for private messages. This would also help with choosing an instance since you don't need as much trust of the owner.
You could also use your key to sign posts and comments to verify that they were written by you and not someone who stole your account.
Your private key could also be used to recover your password instead of using email. This might be preferable to some as your account could be more anonymous.
You could allow someone with a public key to log into any instance without having to create a new account. Then if the original instance comes back and starts federating any posts/comments made on different servers could be verified (if signed) and added to the account on the original server as well. This might also be useful for sharing some of the workload across instances if one of them is under heavy load, then you could use a different one until it recovers.
This could make it easier for someone to follow/block/ban the user across multiple instances.
Further reading
(Mastadon) Adding GPG for verified toots
(Matrix) Decentralised user accounts
The text was updated successfully, but these errors were encountered: