W3C home > Mailing lists > Public > public-credentials@w3.org > December 2018

Re: Ideas about DID explanation

From: Christopher Allen <ChristopherA@lifewithalacrity.com>
Date: Sat, 8 Dec 2018 11:53:14 -0800
Message-ID: <CACrqygA67hPX2JfLBRd8DZYFSHZupViD3qJP5g6wbzk1wnoACg@mail.gmail.com>
To: Andrew Hughes <andrewhughes3000@gmail.com>
Cc: Kim Hamilton Duffy <kim@learningmachine.com>, Credentials Community Group <public-credentials@w3.org>, Daniel Hardman <daniel.hardman@evernym.com>
On Sat, Dec 8, 2018 at 10:21 AM Andrew Hughes <andrewhughes3000@gmail.com>

> Interesting. Does the DID method specify how to trace the history of the
> DID forward as it changes (not just in the BTCR method)?

I would presume that forward is always possible even on other blockchains,
but backwards may not always be possible. In the BTCR case, multiple
earlier inputs can be sent to a single transaction, only one of which must
be an earlier DID transaction. There is no definitive way to know which
input might have have been used as a DID (though in many cases it might be
obvious), but you can always trace forward. BTW, this does bring up a brand
new question to me of what happens if two BTCR method DIDs are "merged"
into a single DID. Nothing currently prohibits this.

Say I interact with an EntityA in Year 0 and they register the DID I'm
> using at that time. If in Year 2 I rotate the key material, thus resulting
> in a new DID.

In BTCR, though there is a new DID name possible, you typically only refer
to the root transaction 0 DID name, but use the keys in latest transaction
X of the chain. However, you could in NEW transactions not refer to the
transaction 0 name, but instead use the transaction X name. But in that
case you know nothing about the older DID. As that DID value can't even
exist until it is registered, that is ok.

> If I return to EntityA in Year 3, which DID do I use to authenticate
> myself? Do I keep the list of all my EntityA interactions so that I can
> present the DID they should know me by (even though that DID had its keys
> changed)? Or do I present the current instantiation of the DID that they
> used to know me by, notifying them to remember to trace it back through
> time? And then they can trace back through the on-chain transactions to
> demonstrate that the new DID I present is in fact the current version of
> the original DID they used to know me by?

Your choice. If you wish to establish that your DID has a long history,
offer the oldest DID value applicable. If you want a new relationship,
create a brand new DID. If you want a new relationship, but want to later
be able to prove the connection to old DID, use a tail-truncated DID in the
middle of the queue.

-- Christopher Allen
Received on Saturday, 8 December 2018 19:54:13 UTC

This archive was generated by hypermail 2.3.1 : Saturday, 8 December 2018 19:54:14 UTC