Skip to content

Commit

Permalink
Merge pull request #108 from swcurran/array2object
Browse files Browse the repository at this point in the history
Update ver. 0.4 to the specification
  • Loading branch information
swcurran authored Oct 2, 2024
2 parents 5409d1e + 47da1dc commit 2f7e6a2
Show file tree
Hide file tree
Showing 8 changed files with 402 additions and 463 deletions.
2 changes: 1 addition & 1 deletion spec/abstract.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Abstract

Trust DID Web (`did:tdw`) is an enhancement to the `did:web` DID method,
providing complementary web-based features that address `did:web`'s
providing complementary features that address `did:web`'s
limitations. `did:tdw` features include:

- Ongoing publishing of all DID Document ([[ref: DIDDoc]]) versions for a DID instead of,
Expand Down
32 changes: 14 additions & 18 deletions spec/definitions.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ by the controller of the DID.

[[def: DID Log, DID Logs]]

~ A DID Log is a list of [[ref: Entries]] one being added for each update of an entry item,
~ A DID Log is a list of [[ref: Entries]], with an entry added for each update of the DID,
including new versions of the [[ref: DIDDoc]] or changed information necessary to generate or validate the DID.

[[def: DID Log Entry, DID Log Entries, Entries, Log Entries]]

~ A DID Log Entry is a JSON array of five items which define the authorized
~ A DID Log Entry is a JSON object that defines the authorized
transformation of a [[ref: DIDDoc]] from one version to the next. The initial entry
establishes the DID and version 1 of the [[ref: DIDDoc]]. All entries are stored
in the [[ref: DID Log]].
Expand All @@ -49,7 +49,7 @@ the DID Method Specification for `DID:tdw`.

[[def: DID Portability, DID:tdw portability, `DID:tdw` portability]]

~ `did:tdw` [[ref: portability]] encompasses the ability to change the DID string for the
~ `did:tdw` portability is the capability to change the DID string for the
DID while retaining the [[ref: SCID]] and the history of the DID. This is useful
when forced to change (such as when an organization is acquired by another,
resulting in a change of domain names) and when changing DID hosting service
Expand All @@ -76,11 +76,12 @@ the cryptosuite can be found in the specification, here:
[[def: Entry Hash, entryHash]]

~ A `DID:tdw` entry hash is a hash generated using a formally defined process
over the input data to a [[ref: log entry]], excluding the [[ref: Data Integrity]] proof
item. The input data includes content from the predecessor to the version of the
DID, ensuring that all the versions are "chained" together in a microledger. The
generated [[ref: entry hash]] is subsequently included in the `versionId` element of the [[ref: log entry]] and **MUST** be
verified by a resolver.
over the input data to a [[ref: log entry]], excluding the [[ref: Data Integrity]]
proof. The input data includes content from the predecessor to the
version of the DID, ensuring that all the versions are "chained" together in a
sort of microledger. The generated [[ref: entry hash]] is subsequently included in the
`versionId` of the [[ref: log entry]] and **MUST** be verified by a
resolver.

[[def: ISO8601, ISO8601 String]]

Expand All @@ -99,12 +100,6 @@ structure such that is suitable for verifiable hashing or signing.
whitespace removed and separated by a newline that is convenient for handling
streaming JSON data or log files.

[[def: JSON Patch]]

~ [[spec:rfc6902]] is a web standard format for describing how to change a JSON
document from one state to another. A [[ref: DID Controller]] **MAY** use it in `DID:tdw`
to define how a [[ref: DIDDoc]] is changed from one version to the next.

[[def: Pre-Rotation]]

~ A technique for a controller of a cryptographic key to commit to the public
Expand Down Expand Up @@ -139,10 +134,11 @@ multi-signature is considered valid.

[[def: parameters]]

~ `DID:tdw` [[ref: parameters]] are a defined set of configurations that control how the
issuer has generated the DID, and how the resolver should process the DID [[ref: Log
entries]]. The use of [[ref: parameters]] allows for the controlled evolution of `DID:tdw`
log handling, such as evolving the permitted hash algorithms.
~ `did:tdw` parameters are a defined set of configurations that control how the
issuer has generated the DID, and how the resolver must process the DID [[ref:
Log entries]]. The use of parameters allows for the controlled evolution of
`did:tdw` log handling, such as evolving the set of permitted hash algorithms or
cryptosuites. This enables support for very long lasting identifiers -- decades.

[[def: self-certifying identifier, SCID, SCIDs]]

Expand Down
Loading

0 comments on commit 2f7e6a2

Please sign in to comment.