Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Glossary Terms #117

Merged
merged 9 commits into from
Jan 12, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

48 changes: 47 additions & 1 deletion spec/appendix.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,58 @@
## Appendix

### Trust Over IP Glossary - Controlled Terms

NOTE:
* The following set of identifiers are from the current [ToIP Glossary](https://docs.google.com/document/d/1fZByfuSOwszDRkE7ARQLeElSYmVznoOyJK4sxRvJpyM/edit?usp=sharing) (Google Doc). These definitions need to be moved over to the (under development) ToIP Terms tool (aka TEv2).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It’s not clear what definitions “need to be moved” — the ones in this spec or the ones in the ToIP Glossary. I think you mean that the “ToIP Glossary definitions are being moved to the (under development) ToIP Terms tool (aka TEv2).

Suggest you clarify.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's going to be an ongoing effort as we edit this (and other specs).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

relates to this Issue: #116

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@darrellodonnell I believe this should be moved out into a separate issue and PR (its basically a TODO)

* TODO: not all ToIP definitions are fully linked here. This whole section is more of an exemplar as of the time of writing.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Presumably you mean “not all the relevant ToIP definitions…”. Presumably, the ToIP Glossary is much bigger than this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correct

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@darrellodonnell I believe this TODO line should be removed. The addition of any other terms can be included in a future PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

noted - I have made edits to remove the NOTE as well as removed a few definitions that go too far (i.e. really belong in an external glossary). Added issue to GH as well: #121

update coming shortly


[[def: autonomous identifier]]
~ Another term for [[ref: self-certifying identifier (SCID)]].

[[def: cryptographic keys]]
~ TODO: Replace with ToIP Glossary link

[[def: cryptographically verifiable]]
~ A property of a data structure that has been digitally signed using a private key such that the digital signature can be verified using the public key. Verifiable data, verifiable messages, verifiable credentials, and verifiable data registries are all cryptographically verifiable. Cryptographic verifiability is a primary goal of the ToIP Technology Stack.

[[def: identifier]]
~ A single attribute—typically a character string—that uniquely identifies an entity within a specific context (which may be a global context). Examples include the name of a party, the URL of an organization, or a serial number for a man-made thing. Supporting definitions: eSSIF-Lab: a character string that is being used for the identification of some entity (yet may refer to 0, 1, or more entities, depending on the context within which it is being used).

[[def: self-certifying identifier (SCID), SCID, SCIDs]]
~ A subclass of verifiable identifier ([[ref: VID]]) that is [[def: cryptographically verifiable]] without the need to rely on any [[ref: third party]] for [[ref: verification]] because the [[ref: identifier]] is cryptographically bound to the [[ref: cryptographic keys]] from which it was generated. Also known as: [[ref: autonomous identifier]].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the [[def: crypto…] should be a a [[ref: …], correct?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch. Caused me to remove a few of the refs that I had removed defs for (e.g. third party, verification). change committed.


[[def: third party]]
~ A party that is not directly involved in the trust relationship between a first party and a second party, but provides supporting services to either or both of them.

[[def: verifiable identifier (VID), VID, VIDs]]
~ An identifier over which the controller can provide cryptographic proof of control.
See also: decentralized identifier, [ref: self-certifying identifier (SCID)].

[[def: verification]]
~ An action an agent (of a principal) performs to determine the authenticity of a claim or other digital object using a cryptographic key.

#### Glossary WORK TO BE DONE
darrellodonnell marked this conversation as resolved.
Show resolved Hide resolved

TODO:

* DECISION to duplicate ToIP Glossary terms here (for completeness of this spec) or include them only by reference.
* Replace terms with ToIP Glossary Terms where applicable
* Ensure that AID (in particulary) ends up with a NORMATIVE definition. Currently it says "as defined by the draft KERI specification." (in reference to KEL). This needs to be normalized.
* Link to current ToIP glossary for these and other terms. Need to ensure that the definitions don't break this (did:webs) spec.
* the work above in the ToIP Controlled Terms needs to be completed. Many terms in the definitions need links. See the Glossary document (linked above) for the underlying detail.
* DISCUSS: Is "key event log" sufficiently normative to be tied to an AID/SCID as opposed to KAID?
* MOVE some terms to ToIP Glossary
* REMOVE terms that are not used in this spec
* See about decomposing pointers to various external docs if they aren't normative.


### Terminology

[[def: authentic chained data container (ACDC), ACDC, ACDCs]]
~ a variant of [the Verifiable Credential (VC) specification](https://www.w3.org/TR/vc-data-model/) that inherits the security model derived from [[ref: KERI]], as defined by the [draft ACDC specification](https://trustoverip.github.io/tswg-acdc-specification/draft-ssmith-acdc.html). See [WebOfTrust glossary](https://weboftrust.github.io/WOT-terms/docs/glossary/authentic-chained-data-container) for more detail.

[[def: autonomic identifier (AID), AID, AIDs]]
~ A [[ref: DID]] that is self-certifying and cryptographically bound to a [[ref: key event log]] ([[ref: KEL]]), as defined by the [draft KERI specification](https://trustoverip.github.io/tswg-keri-specification/draft-ssmith-keri.html#name-autonomic-identifier-aid). An AID is either non-transferable or transferable. A non-transferable AID does not support key rotation while a transferable AID supports key rotation using a key [[ref: pre-rotation]] mechanism that enables the AID to persist in spite of the evolution of its key state. See [WebOfTrust glossary](https://weboftrust.github.io/WOT-terms/docs/glossary/autonomic-identifier) for more detail.
~ A [[ref: self-certifying identifier (SCID)]] that is cryptographically bound cryptographically bound to a [[ref: key event log]] ([[ref: KEL]]), as defined by the [draft KERI specification](https://trustoverip.github.io/tswg-keri-specification/draft-ssmith-keri.html#name-autonomic-identifier-aid). An AID is either non-transferable or transferable. A non-transferable AID does not support key rotation while a transferable AID supports key rotation using a key [[ref: pre-rotation]] mechanism that enables the AID to persist in spite of the evolution of its key state. See [WebOfTrust glossary](https://weboftrust.github.io/WOT-terms/docs/glossary/autonomic-identifier) for more detail.

[[def: compact event streaming representation (CESR), CESR]]
~ An encoding format that enables round-trip text-binary conversion of concatenated cryptographic primitives and general data types, as defined by the [draft CESR specification](https://trustoverip.github.io/tswg-cesr-specification/draft-ssmith-cesr.html) and [draft CESR Proof Signature specification](https://trustoverip.github.io/tswg-cesr-proof-specification/draft-pfeairheller-cesr-proof.html). See [WebOfTrust glossary](https://weboftrust.github.io/WOT-terms/docs/glossary/composable-event-streaming-representation) for more detail.
Expand Down
1 change: 1 addition & 0 deletions spec/header.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ ToIP `did:webs` Method Specification V1.0
- [Kevin Griffin](https://github.com/m00sey), [GLEIF](https://gleif.org)
- [Lance Byrd](https://github.com/2byrds), [GLEIF](https://gleif.org) and [RootsID](https://rootsid.com/)
- [Nuttawut Kongsuwan](https://github.com/nkongsuwan), [Finema](https://finema.co/)
- [Darrell O'Donnell](https://github.com/darrellodonnell), [Continuum Loop Inc.](https://www.continuumloop.com)

<!-- -->

Expand Down