Hippocrat is a self-sovereign data protocol using bitcoin and peer-to-peer technology.
HPO DID Method Specific Identifier format is following below:
hpo-did = "did:hpo:" + hpo-did-specific-idstring
hpo-did-specific-idstring = the first public key hex of HPO DID, same format as bitcoin public key
HPO DID Example:
did:hpo:030807a2c73c62760df3431f7cdeecf0fe898a7da61a7c598c17e372f93cb402e6
HPO DID Document Example:
{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:hpo:030807a2c73c62760df3431f7cdeecf0fe898a7da61a7c598c17e372f93cb402e6",
"verificationMethod": [
{
"id": "did:hpo:030807a2c73c62760df3431f7cdeecf0fe898a7da61a7c598c17e372f93cb402e6",
"type": "EcdsaSecp256k1VerificationKey2019",
"controller": "did:hpo:030807a2c73c62760df3431f7cdeecf0fe898a7da61a7c598c17e372f93cb402e6",
"publicKeyHex": "030807a2c73c62760df3431f7cdeecf0fe898a7da61a7c598c17e372f93cb402e6"
}
]
}
- Creation of HPO DID document is supported in hippocrat-wallet-sdk.
- HPO DID(or the data that can derive HPO DID) should be stored in user local storage.
- User will fully owns DID in his or her own storage to achieve self-sovereignty.
- Basically, HPO DID is readable only when user allows on a client side.
- Additionally, the issuer can use peer-to-peer storage to provide the status of HPO DID.
- Update is not supported for HPO DID document.
- Revoke by self can be simply done if user deletes in local.
- If the issuer stores the status of user's DID in public space(e.g. peer-to-peer storage), user can request to delete from that space.
- Resolver will use either user's local storage or peer-to-peer storage to search.
- DID Document and Identifier are created following bitcoin spec(bip32, bip44 and so on) using hippocrat-wallet-sdk.
- Security level is same with bitcoin.
- Privacy data can be stored in peer-to-peer storage and must be encrypted by user's public key using hippocrat-wallet-sdk.
- DID document itself does not include any privacy information.