alan-turing-institute / trustchain

Trustworthy decentralised PKI
https://alan-turing-institute.github.io/trustchain/
Apache License 2.0
9 stars 4 forks source link

Consider whether VerifiableTimestamp and TimestampCommitment are both needed #102

Closed sgreenbury closed 1 year ago

sgreenbury commented 1 year ago

Qs:

First step will be to draw a diagram of the commitments & related traits.

thobson88 commented 1 year ago

UML diagram

Traits in green. Structs in orange.

DID-Verification drawio (2)

thobson88 commented 1 year ago

Done in PR #105.

VerifiableTimestamp has been turned into a trait, which is a wrapper for a pair of independent commitments, one committing to DID document content and the other to a timestamp.

The verify method in VerifiableTimestamp has a default implementation which verifies each of the two commitments against the same target hash, thereby confirming that the timestamp is immutably associated with the DID document content.

thobson88 commented 1 year ago

Updated UML diagram (after refactoring)

refactored-DID-Verification drawio

sgreenbury commented 1 year ago

Closed with #108