Real BTCR DID Document

Here is an example of the simplest BTCR DID Document using the latest
Blockchain Commons iOS tool, with a real Bitcoin testnet establishing
transaction.

This DID document has no external service (meaning no external URL or
content hash in the op_return to extend the DID with additional keys), and
so the only key list is the single one in the transaction itself, which is
used for authentication and assertion.

As all of the data is on the BTC testnet blockchain, there is no "proof"
block as all the data can be confirmed in the block by the DID Resolver and
thus no signature is required.

The DID can be revoked (or rotated) by spending the tip, but the DID
Resolver is the only one that needs to know that, so no information about
that is enclosed. (Note that the list this one key twice as when we rotate
the DID the the new transaction key will be #satoshi and #vckey-1 but we
may still allow #vckey-0 to be valid for VCs.)

I'm seeking advice, given the discussion on DID Documents in the last few
months, on what we need to change to conform to the latest thoughts. In
particular, the @context is questionable.

```
{
"@context": "https://w3id.org/did/v0.11",
"id": "did:btcr:xul5-9rzp-q3xh-z4l",
"publicKey": [{
"id": "did:btcr:xul5-9rzp-q3xh-z4l#satoshi",
"controller": "did:btcr:xul5-9rzp-q3xh-z4l",
"type": "EcdsaSecp256k1VerificationKey2019",
"publicKeyBase58": "dfbXB9ZCgDYGTviaKxY4B5FDV52RKx6MZCYb2QPHVfHG"
}, {
"id": "did:btcr:xul5-9rzp-q3xh-z4l#vckey-0",
"controller": "did:btcr:xul5-9rzp-q3xh-z4l",
"type": "EcdsaSecp256k1VerificationKey2019",
"publicKeyBase58": "dfbXB9ZCgDYGTviaKxY4B5FDV52RKx6MZCYb2QPHVfHG"
}],
"authentication": ["#satoshi"],
"assertionMethod": ["#vckey-0"]
}
```

— Christopher Allen

Received on Tuesday, 11 February 2020 01:18:16 UTC