Re: Ideas about DID explanation

On Sat, Dec 8, 2018 at 10:14 AM Kim Hamilton Duffy <kim@learningmachine.com>
wrote:

> For BTCR v0.1, we're requiring an on-chain transaction for updates to the
> key material, resulting in a new DID
>

To be precise, the value in a BTCR DID name (such
as did:btcr:xyv2-xzyq-qqm5-tyke)  translates to a pointer to specific BTC
transaction output. To rotate the keys requires a new transaction output. A
BTCR resolver follow all transaction outputs to the most recent spent
transaction which has no output, which has the current keys. We call this
the "tip". The address (an unspent transaction output) of the tip is the
hash of a public key, which is used as the revoke and rotate key, but since
the transaction doesn't exist, we don't know what that public key is so it
can't be used for signing.

Theoretically you can tail-truncate a BTCR DID at any point to subsequent
transaction and use a new DID value that ignores all prior transactions and
keys. Thus every rotation could be considered a new DID, however, in
practice, we only refer to the first one and follow all the subsequent
transactions to the tip.

Also note, we can can construct a very simple DID Document from BTC
blockchain data alone, with no external sources of data. This does not have
to be signed as it can be considered to be "signed" by the satoshi
blockchain. However, if you wish to wish to have anything beyond a simple
DID document, it has to refer to an external document source, either signed
by the tip key, or a hash signed into the blockchain transaction itself.
This is merged with the simple DID Document to form a complete DID Document.

-- Christopher Allen

Received on Saturday, 8 December 2018 19:43:31 UTC