Closed Kailai-Wang closed 1 year ago
Sounds good. The only thing that comes to mind is that there probably should be some logic to help a user automatically select the most relevant 'identity networks' when generating specific VC's.
Sounds good. The only thing that comes to mind is that there probably should be some logic to help a user automatically select the most relevant 'identity networks' when generating specific VC's.
Thanks! Maybe we can warn the user from UI if the current active set is different from the "recommended" network setting of VC - but we should respect the user's choice if they stick to it
It sounds good to me overall.
From a user perspective, it will be the same as it currently is: Adding a new network requires signing a new transaction.
Let's just be aware that this involves new UI and UX scenarios we need to consider, thus, it delays delivery further.
it will be the same as it currently is: Adding a new network requires signing a new transaction
A bit better :) changing network does require a new tx or DI request, but not a second signature (since we don't have to validate it again).
We also hope in most cases people don't have to change it because we'll going to have network filter on VC level, like "the number of governance activities over the following networks: litentry, phala, bifrost"
changing network does require a new tx or DI request, but not a second signature
Awesome! out of curiosity: how do you validate the request comes from the owner of the account?
how do you validate the request comes from the owner of the account?
I don't quite get the question - it's the same way as before.
What I was trying to say is that linking the identity with network information would require an extra signature (for validataion_data
) each time
I've fixed the Before
and After
code example a little, as web2 identities inevitably need the network information :)
Looks good to me, thanks for the proposal, have one question,
In After
data structure, what will change if a user decide to unlink one identity?
Looks good to me, thanks for the proposal, have one question,
In
After
data structure, what will change if a user decide to unlink one identity?
The user won't be able to unlink the identity according to the previous EVM-signin proposal They can:
status
to Deactivated
OK, so the IdentityStatus
record all of the changes
Sorry for the dump. We have taken into consideration few cases and tried to see how it potentially could look like.
As an advocate of UX from a user POV this feature of selecting network should be "advanced" Therefore making it as a default to select main networks and you could "opt out" if you want to.
Also we don't need to support all the variables from a day one. Let's have the ideal user scenario first and then slowly add those extra features.
Context
Many blockchains "share" the same key pair construction mechanism, which means owning one private key would grant you access to the same public key or address on different networks.
Examples:
We had discussions about whether we should treat the same public key on different networks as distinct identities, the decision was yes at that time. Reasons include:
During the implementation of EVM-signin feature, we realised that we might be able to simplify this process - by moving the network type information away from
Identity
itself toIdentityContext
.Before:
After:
Rationale:
Proposal
Meanwhile, we want to maintain flexibility, and the user should still have complete control over things like identities on which network should take part in the assertion building.
While we don't distinguish network types when adding identities to IDGraph, sometime, somewhere, we need to ask the user: for which networks do you want your identities in IDGraph to be used? It can be 3 such moments:
We propose a hybrid solution of 1 and 3.
Example:
set_identity_network
so that user can update the network list at any timekusama
as active network, only activities onkusama
will be considered when the user requests the VC "number of governance activities over all linked substrate identities", no polkadot, no litentry or any other substrate networks.:heavy_check_mark: Please set appropriate labels and assignees if applicable.