w3c / did-resolution

RELEASED DRAFT: Decentralized Identifier Resolution (DID Resolution) 0.2 Specification
https://w3c.github.io/did-resolution/
Other
14 stars 9 forks source link

Handling DID resolution after a fork #43

Open kdenhartog opened 4 years ago

kdenhartog commented 4 years ago

@jandrieu raised an interesting question at RWoT that we want to consider in the resolution specification.

Let's assume this scenario:

Alice has DID:btcr:12345 that exists pre-fork. Later on the network which btcr operates on forks into two separate forks.

How should the resolver dereference the "definitive" DID Document?

Should we take into account a fork matrix parameter or modify the identifier to account for the fork such as did:btcr:12345 -> did:btcr:fork1:12345?

brentzundel commented 4 years ago

My understanding is that the DID method specifies the network to be used for resolution. So if the network forks, it would be up to the DID method to specify which fork holds the "one true DID doc"

On Wed, Sep 4, 2019 at 2:59 AM Kyle Den Hartog notifications@github.com wrote:

@jandrieu https://github.com/jandrieu raised an interesting question at RWoT that we want to consider in the resolution specification.

Let's assume this scenario:

Alice has DID:btcr:12345 that exists pre-fork. Later on the network which btcr operates on forks into two separate forks.

How should the resolver dereference the "definitive" DID Document?

Should we take into account a fork matrix parameter or modify the identifier to account for the fork such as did:btcr:12345 -> did:btcr:fork1:12345?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/w3c-ccg/did-resolution/issues/43?email_source=notifications&email_token=ACPFKP44PHJ4FDH4TGXENQDQH52GFA5CNFSM4ITPHMF2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HJGA2DQ, or mute the thread https://github.com/notifications/unsubscribe-auth/ACPFKP4OVMRUM2ERWHW2TV3QH52GFANCNFSM4ITPHMFQ .

peacekeeper commented 4 years ago

Should we take into account a fork matrix parameter or modify the identifier to account for the fork such as did:btcr:12345 -> did:btcr:fork1:12345?

I think modifying the identifier would most likely be a bad idea. If we use a matrix parameter, then it should probably be method-specific. Its value should somehow indicate which fork to work on, e.g. by providing a block hash that is expected at a certain block height.

Maybe something like did:btcr:xz35-jznz-q6mr-7q6;btcr:block-123456=ae676e00.

Of course if that parameter isn't present, then as @brentzundel says the method would be responsible to somehow figure out what is the "true DID doc".

burnburn commented 4 years ago

Note that at an earlier IIW forking came up as one of many different potential DID infrastructure failures that need to be considered. See https://github.com/windley/IIW_homepage/raw/gh-pages/assets/proceedings/IIWXXVIII_Book_of_Proceedings_2019A.pdf page 89. This list might be a good starting point for such discussions.