Skip to content

Commit

Permalink
cleanup endpoint section and some todos (#142)
Browse files Browse the repository at this point in the history
* cleanup endpoint section and some todos

Signed-off-by: 2byrds <2byrds@gmail.com>

* fixed bullet point formatting

Signed-off-by: 2byrds <2byrds@gmail.com>

* more in meeting edits for service endpoints, etc.

Signed-off-by: 2byrds <2byrds@gmail.com>

---------

Signed-off-by: 2byrds <2byrds@gmail.com>
  • Loading branch information
2byrds authored Apr 12, 2024
1 parent 7e3affb commit e4755a9
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 40 deletions.
2 changes: 1 addition & 1 deletion spec/appendix.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ See also: decentralized identifier, [[ref: self-certifying identifier (SCID)]].
### Terminology

[[def: AID controlled identifiers, AID controlled identifier]]
~ Any identifier, including `did:webs` DIDs, that have the same AID are by definition referencing the same identity. As defined by [KERI]() TODO: Add link to KERI documentation here.
~ Any identifier, including `did:webs` DIDs, that have the same AID are by definition referencing the same identity. As defined in the [KERI specification](https://trustoverip.github.io/tswg-keri-specification/#controller-application)

[[def: authentic chained data container (ACDC), ACDC, ACDCs]]
~ a variant of [[ref: the Verifiable Credential (VC) specification]] that inherits the security model derived from [[ref: KERI]], as defined by the [[ref: ACDC specification]]. See [WebOfTrust glossary](https://weboftrust.github.io/WOT-terms/docs/glossary/authentic-chained-data-container) for more detail.
Expand Down
37 changes: 1 addition & 36 deletions spec/diddocuments.md
Original file line number Diff line number Diff line change
Expand Up @@ -417,42 +417,7 @@ For more information, see the [[ref: key agreement]] and [[ref: other key commit
}
```

1. KERI service endpoints roles beyond `witness` SHOULD be defined using Location Scheme and Endpoint Authorization records in KERI.

The following table contains the current set of endpoint roles in KERI and maps the current roles in KERI to service `type` values in the resulting DID documentsis:
| Role | Description |
|:-----|:------------|
|`controller` | The association of the key controller of an AID. These are always self-referential. |
|`witness` | A witness for an AID. This role is already cryptographically committed to the KEL of the source AID and thus does not require and explicit `rpy` authroization event.|
|`registrar` | Currently unused.|
| `watcher` | A componenet serving as a Watcher as defined by the KERI protocol (beyond the scope of this document).|
|`judge` | Currently unused. |
|`juror` | Currently unused. |
|`peer` | Currently unused. |
|`mailbox` | A component authorized to serve as a store and forward mailbox for the source identifier. This component usually provides a persistent internet connection for AID controllers that are usually off line.|
|`agent` | A component authorized to serve as an agent running with persistent internet connection. Provides more funcitonality than a `mailbox`|

TODO: Detail the transformation with an example, for example:
```json
{
"service": [
{
"id":"#Bgoq68HCmYNUDgOz4Skvlu306o_NY-NrYuKAVhk3Zh9c",
"type": "DIDCommMessaging",
"serviceEndpoint": "https://bar.example.com"
}
{
"id":"#BuyRFMideczFZoapylLIyCjSdhtqVb31wZkRKvPfNqkw",
"type": "KERIAgent",
"serviceEndpoint": {
"tcp": "tcp://bar.example.com:5542",
"https": "https://bar.example.com"
}
}
]
}
```
TODO: Propose a new role in KERI to map to the existing [DIDCommMessaging](https://www.w3.org/TR/did-spec-registries/#didcommmessaging) service type declared in DID Specification Registries.
1. KERI service endpoints roles beyond `witness` SHOULD be defined using Location Scheme and Endpoint Authorization records in KERI. See the [KERI specification](https://trustoverip.github.io/tswg-keri-specification/#oobi-url-iurl) For more information about KERI roles.

> In KERI, service endpoints are defined by 2 sets of signed data using Best Available Data - Read, Update, Nullify ([[ref: BADA-RUN]]) rules for data processing. The protocol ensures that all data is signed in transport and at rest and versioned to ensure only the latest signed data is available.

Expand Down
22 changes: 22 additions & 0 deletions spec/impl_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -275,3 +275,25 @@ This snippet demonstrates how these events occur in the full keri.cesr file. Not
}-VA0-FABENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe0AAAAAAAAAAAAAAAAAAAAAAAENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe-AABAADQOX208DAmZEPb2v0XXF0N6WgxOdOxB3AsCBJds_vbAr7v1PQBA4MWNsXc8unk5UykbB8j538XGkzLtujekvIP
```

### Adding service endpoint roles in KERI

* A hypothetical new role that could be submitted to KERI, would be the DIDCommMessaging role. It could be specified
```json
{
"service": [
{
"id":"#Bgoq68HCmYNUDgOz4Skvlu306o_NY-NrYuKAVhk3Zh9c",
"type": "DIDCommMessaging",
"serviceEndpoint": "https://bar.example.com"
}
{
"id":"#BuyRFMideczFZoapylLIyCjSdhtqVb31wZkRKvPfNqkw",
"type": "KERIAgent",
"serviceEndpoint": {
"tcp": "tcp://bar.example.com:5542",
"https": "https://bar.example.com"
}
}
]
}
```
4 changes: 2 additions & 2 deletions spec/privacy_considerations.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ The root of trust for KERI identifiers is entropy and therefore offers no direct
two modes of communication, direct mode and indirect mode. Direct mode allows for pairwise (n-wise as well) relationships that
can be used to establish private relationships.

TODO: link to KERI docs for additional information about direct and indirect modes.
See the KERI specification for [more information about direct and indirect modes](https://trustoverip.github.io/tswg-keri-specification/#introduction).

### Identification

The root of trust for KERI identifiers is entropy and therefore offers no direct means of identification. In addition, KERI provides
two modes of communication, direct mode and indirect mode. Direct mode allows for pairwise (n-wise as well) relationships that
can be used to establish private relationships.

TODO: link to KERI docs for additional information regarding prefix generation and for a comparison between Direct and Indirect modes.
See the KERI specification for [more information about secure bindings and prefix derivation](https://trustoverip.github.io/tswg-keri-specification/#keris-secure-bindings)

### Secondary Use

Expand Down
1 change: 0 additions & 1 deletion specs.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
"interop_profiles.md",
"normative_references.md",
"informative_references.md",
"acknowledgements_authors.md",
"appendix.md",
"impl_guide.md"
],
Expand Down

0 comments on commit e4755a9

Please sign in to comment.