block-core / ariton

https://ariton.app
MIT License
3 stars 6 forks source link

Account management #13

Open sondreb opened 3 months ago

sondreb commented 3 months ago

We need a full implementation of account management where users can control all of their accounts (identities). Signup on Ariton should simply be opening the app and we auto-create accounts for users.

We should create accounts using HdIdentityVault which allows us to choose options such as key derivation work (should be 250_000), and the vaults can be locked and unlocked using passwords (encrypts the private key).

User should be allowed to save a backup of their accounts and we should integrate with third party services for storing encrypted backups of accounts, such as the built-in browser data-sync (hosted by Google (Chrome), Microsoft (Edge), FireFox). These are obviously not that secure, but we want to make it up to users to decide. Obviously also possible to save backup as a file on local machine.

We should also look into Shamir's secret sharing (SSS) and social recovery. As users on Ariton relies on DIDs and DWNs, it will be super-simple to store the shards in the DWNs of friends.

Ariton can allow user to pick friends, perhaps even have multiple groups (two different social networks to potentially restore), Ariton will deliver an message in the inbox of each user where they can accept or reject the storage. If accepted, data publish will happen automatic behind the scene.