Skip to content
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

Use-case for generating DIDs for one-to-one relationships #726

Closed
DurandA opened this issue Apr 27, 2021 · 5 comments
Closed

Use-case for generating DIDs for one-to-one relationships #726

DurandA opened this issue Apr 27, 2021 · 5 comments

Comments

@DurandA
Copy link

DurandA commented Apr 27, 2021

I fail to understand the use case for one DID per service/usage (e.g. pseudonymous DIDs or online shopper with direct relationship between customer and seller). This looks like an example of direct trust where there is no need for a consistent global storage like a blockchain as the identity is only shared with one other party. To my understanding, the whole point of having DIDs is to have identities that are shared with multiple other entities.

For one-to-one relationships between a user and a service, won't a simple proof-of-possession token (or sending the JSON DID document directly) provide the same security guarantees at a fraction of the cost? What are the advantages of using unique DIDs for direct relationships versus storing public keys/identities on both ends?

I asked the question on Stack Exchange but it didn't grab much interest.

@TallTed
Copy link
Member

TallTed commented Apr 27, 2021

One answer: There is always some correlation risk when an individual entity uses the same identifier for themselves, for interactions with multiple other entities, or even for multiple interactions with one other entity. Multiple strategies are used to minimize that risk in the universe of DIDs, but it still exists. It increases when some of the other entities merge, as in the business world, or when a governmental entity takes and combines the records of the other entities, as in some repressive regimes.

If the individual entity mints a new DID, for each interaction with an external entity, or for each external entity they interact with, potentially using multiple DID schemes along the way, that individual is adding another layer (or more) to the correlation mitigation strategies.

It is desirable for everything to be visible, in the universes of some entities. It is desirable for less, down to as close to nothing as possible, to be visible, in the universes of other entities. We cannot make the determination of what is best for all entities, but we can offer a range of options such that each entity can, with some effort, make their own determination -- which may change, as time goes on.

Perhaps that helps?

@DurandA
Copy link
Author

DurandA commented Apr 27, 2021

Thanks @TallTed for your answer. I do understand the benefits of minting new DIDs for privacy. However I still fail to understand why (D)IDs needs to be decentralized/stored on a blockchain for one-to-one relationships.

@dlongley
Copy link
Contributor

@DurandA,

I do understand the benefits of minting new DIDs for privacy. However I still fail to understand why (D)IDs needs to be decentralized/stored on a blockchain for one-to-one relationships.

DIDs needn't necessarily have a backing verifiable data registry (e.g., blockchain, decentralized ledger). So that isn't a requirement -- and the use case you highlight may be a good case where one is not necessary. However, also consider that even in one-to-one relationships, the relying/verifying party may trust a verifiable data registry's view of changes to the DID Document more than whatever an individual may announce. There are a class of attacks where the DID controller could misrepresent changes to their DID Document that may be important to the relying party to mitigate via a trusted registry or set of witnesses (that is/are not under the sole control of the DID controller).

@DurandA
Copy link
Author

DurandA commented Apr 27, 2021

@dlongley Thanks, that was the answer I was looking for.

I will close the issue as it is more of a discussion than an issue with the specs. Feel free to post your answer on Stack Exchange if you want to grab the bounty.

@DurandA DurandA closed this as completed Apr 27, 2021
@agropper
Copy link
Contributor

agropper commented Apr 27, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants