Skip to content

Commit

Permalink
Feat terms alpha (#80)
Browse files Browse the repository at this point in the history
* updates gitignore

Signed-off-by: Kevin Griffin <griffin.kev@gmail.com>

* orders terms

Signed-off-by: Kevin Griffin <griffin.kev@gmail.com>

---------

Signed-off-by: Kevin Griffin <griffin.kev@gmail.com>
  • Loading branch information
m00sey committed Feb 22, 2024
1 parent 4c60c9c commit 3770a3b
Show file tree
Hide file tree
Showing 2 changed files with 79 additions and 77 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@ report.xml
/.vscode/
!requirements.txt
.DS_Store
.idea
venv
154 changes: 77 additions & 77 deletions spec/spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,157 +128,157 @@ ISO and IEC maintain terminological databases for use in standardization at the
- ISO Online browsing platform: available at <https://www.iso.org/obp>
- IEC Electropedia: available at <http://www.electropedia.org/>

[[def: Information theoretic security, ITPS]]
[[def: Attribute]]

~ the highest level of cryptographic security with respect to a cryptographic secret (seed, salt, or private key).
~ a top-level field map within an ACDC that provides a property of an entity that is inherent or assigned to the entity.

[[def: Perfect security]]
[[def: Autonomic Identifier, AID]]

~ a special case of Information theoretic security [[ref: ITPS]]
~ a self-managing cryptonymous identifier that must be self-certifying (self-authenticating) and must be encoded in CESR as a qualified Cryptographic Primitive.

[[def: Self-Addressing Identifier]]
[[def: Chain-link Confidential Disclosure]]

~ any identifier which is deterministically generated out of the content, digest of the content
~ contractual restrictions and liability imposed on a recipient of a disclosed ACDC that contractually link the obligations to protect the disclosure of the information contained within the ACDC to all subsequent recipients as the information moves downstream. The Chain-link Confidential Disclosure provides a mechanism for protecting against unpermissioned exploitation of the data disclosed via an ACDC.

[[def: Compact Disclosure]]

~ a disclosure of an ACDC that discloses only the SAID(s) of some or all of its field maps. Both Partial and Selective Disclosure rely on Compact Disclosure.

[[def: Partial Disclosure]]
[[def: Contractually Protected Disclosure]]

~ a disclosure of an ACDC that partially discloses its field maps using Compact Disclosure. The Compact Disclosure provides a cryptographically equivalent commitment to the yet-to-be-disclosed content, and later exchange of the uncompacted content is verifiable to an earlier Partial Disclosure. Unlike Selective dDsclosure, a partially disclosable field becomes correlatable to its encompassing block after its Full Disclosure.
~ a discloser of an ACDC that leverages a Graduated Disclosure so that contractual protections can be put into place to minimize the leakage of information that can be correlated. A Contractually Protected Disclosure partially or selectively reveals the information contained within the ACDC in the initial interaction with the recipient and disclose further information only after the recipient agrees to the terms established by the discloser. More information may be progressively revealed as the recipient agrees to additional terms.

[[def: Selective Disclosure]]
[[def: Controller]]

~ a disclosure of an ACDC that selectively discloses its attributes using Compact Disclosure. The set of selectively disclosable attributes is provided as an array of blinded blocks where each attribute in the set has its own dedicated blinded block. Unlike Partial Disclosure, the selectively disclosed fields are not correlatable to the so far undisclosed but selectively disclosable fields in the same encompassing block.
~ an entity that can cryptographically prove the control authority over an AID and make changes on the associated KEL. A controller of a multi-sig AID may consist of multiple controlling entities. See [controller](https://trustoverip.github.io/tswg-keri-specification/#term:controller).

[[def: Full Disclosure]]
[[def: Disclosee]]

~ a disclosure of an ACDC that discloses the full details of some or all of its field maps. In the context of Selective Disclosure, Full Disclosure means detailed disclosure of the selectively disclosed attributes, not the detailed disclosure of all selectively disclosable attributes. In the context of Partial Disclosure, Full Disclosure means detailed disclosure of the field map that was so far only partially disclosed.
~ a role of an entity that is a recipient to which an ACDC is disclosed. A Disclosee may or may not be the Issuee of the disclosed ACDC.

[[def: Graduated Disclosure]]
[[def: Discloser]]

~ a disclosure of an ACDC that does not to reveal its entire content in the initial interaction with the recipient and, instead, partially or selectively reveal only the information contained within the ACDC that is necessary to further a transaction with the recipient. A Graduated disclosure may invole multiple steps where more information is prgressively revealed as the recipient satisfy the conditions set by the discloser. Compact disclosure, Partial disclosure, Selective disclosure and Full disclosure are all Graduated disclosure mechanisms.
~ a role of an entity that discloses an ACDC. A Discloser may or may not be the Issuer of the disclosed ACDC.

[[def: Contractually Protected Disclosure]]
[[def: Duplicity]]

~ a discloser of an ACDC that leverages a Graduated Disclosure so that contractual protections can be put into place to minimize the leakage of information that can be correlated. A Contractually Protected Disclosure partially or selectively reveals the information contained within the ACDC in the initial interaction with the recipient and disclose further information only after the recipient agrees to the terms established by the discloser. More information may be progressively revealed as the recipient agrees to additional terms.
~ the existence of more than one Version of a Verifiable KEL for a given AID. See [duplicity](https://trustoverip.github.io/tswg-keri-specification/#term:duplicity).

[[def: Chain-link Confidential Disclosure]]
[[def: Edge]]

~ contractual restrictions and liability imposed on a recipient of a disclosed ACDC that contractually link the obligations to protect the disclosure of the information contained within the ACDC to all subsequent recipients as the information moves downstream. The Chain-link Confidential Disclosure provides a mechanism for protecting against unpermissioned exploitation of the data disclosed via an ACDC.
~ a top-level field map within an ACDC that provides edges that connect to other ACDCs, forming a labeled property graph (LPG).

[[def: Discloser]]
[[def: Framing Code]]

~ a role of an entity that discloses an ACDC. A Discloser may or may not be the Issuer of the disclosed ACDC.
~ a code that delineate a number of characters or bytes, as appropriate, that can be extracted atomically from a [[ref: Stream]].

[[def: Disclosee]]
[[def: Full Disclosure]]

~ a role of an entity that is a recipient to which an ACDC is disclosed. A Disclosee may or may not be the Issuee of the disclosed ACDC.
~ a disclosure of an ACDC that discloses the full details of some or all of its field maps. In the context of Selective Disclosure, Full Disclosure means detailed disclosure of the selectively disclosed attributes, not the detailed disclosure of all selectively disclosable attributes. In the context of Partial Disclosure, Full Disclosure means detailed disclosure of the field map that was so far only partially disclosed.

[[def: Issuer]]
[[def: Graduated Disclosure]]

~ a role of an entity that asserts claims and creates an ACDC from these claims.
~ a disclosure of an ACDC that does not to reveal its entire content in the initial interaction with the recipient and, instead, partially or selectively reveal only the information contained within the ACDC that is necessary to further a transaction with the recipient. A Graduated disclosure may invole multiple steps where more information is prgressively revealed as the recipient satisfy the conditions set by the discloser. Compact disclosure, Partial disclosure, Selective disclosure and Full disclosure are all Graduated disclosure mechanisms.

[[def: Issuee]]
[[def: Inception event]]

~ a role of an entity to which the claims of an ACDC are asserted.
~ an Establishment event that provides the incepting information needed to derive an AID and establish its initial Key state. See [inception event](https://trustoverip.github.io/tswg-keri-specification/#term:inception-event).

[[def: Controller]]
[[def: Information theoretic security, ITPS]]

~ an entity that can cryptographically prove the control authority over an AID and make changes on the associated KEL. A controller of a multi-sig AID may consist of multiple controlling entities. See [controller](https://trustoverip.github.io/tswg-keri-specification/#term:controller).
~ the highest level of cryptographic security with respect to a cryptographic secret (seed, salt, or private key).

[[def: Verifier]]
[[def: Interaction event]]

~ any entity or agent that cryptographically verifies the signature(s) and/or digests on an event Message. See [verifier](https://trustoverip.github.io/tswg-keri-specification/#term:verifier).
~ a Non-establishment event that anchors external data to the Key state as established by the most recent prior Establishment event. See [interaction event](https://trustoverip.github.io/tswg-keri-specification/#term:interaction-event).

[[def: Validator]]
[[def: Issuee]]

~ any entity or agent that evaluates whether or not a given signed statement as attributed to an identifier is valid at the time of its issuance. See [validator](https://trustoverip.github.io/tswg-keri-specification/#term:validator).
~ a role of an entity to which the claims of an ACDC are asserted.

[[def: Issuer]]

~ a role of an entity that asserts claims and creates an ACDC from these claims.

[[def: Key-state]]

~ a set of currently authoritative keypairs for an AID and any other information necessary to secure or establish control authority over an AID. This includes current keys, prior next key digests, current thresholds, prior next thresholds, witnesses, witness thresholds, and configurations. A key-state of an AID is first established through an inception event and may be altered by subsequent rotation events. See [validator](https://trustoverip.github.io/tswg-keri-specification/#term:key-state).

[[def: Rotation event]]

~ an Establishment Event that provides the information needed to change the Key state which includes a change to the set of authoritative keypairs for an AID. See [rotation event](https://trustoverip.github.io/tswg-keri-specification/#term:rotation-event).
[[def: Operator]]

[[def: Interaction event]]
~ an optional field map in the Edge section that enables expression of the edge logic on edge subgraph as either a unary operator on the edge itself or an m-ary operator on the edge-group.

~ a Non-establishment event that anchors external data to the Key state as established by the most recent prior Establishment event. See [interaction event](https://trustoverip.github.io/tswg-keri-specification/#term:interaction-event).
[[def: Partial Disclosure]]

[[def: Inception event]]
~ a disclosure of an ACDC that partially discloses its field maps using Compact Disclosure. The Compact Disclosure provides a cryptographically equivalent commitment to the yet-to-be-disclosed content, and later exchange of the uncompacted content is verifiable to an earlier Partial Disclosure. Unlike Selective dDsclosure, a partially disclosable field becomes correlatable to its encompassing block after its Full Disclosure.

~ an Establishment event that provides the incepting information needed to derive an AID and establish its initial Key state. See [inception event](https://trustoverip.github.io/tswg-keri-specification/#term:inception-event).
[[def: Percolated discovery]]

[[def: Verifiable data registry]]
~ a discovery mechanism for information associated with an AID or a SAID, which is based on Invasion Percolation Theory. Once an entity has discovered such information, it may in turn share what it discovers with other entities. Since the information so discovered is end-verifiable, the percolation mechanism and percolating intermediaries do not need to be trusted.

~ A role a system might perform by mediating issuance and verification of ACDCs. See [verifiable data registry](https://www.w3.org/TR/vc-data-model-2.0/#dfn-verifiable-data-registries).
[[def: Perfect security]]

[[def: Duplicity]]
~ a special case of Information theoretic security [[ref: ITPS]]

~ the existence of more than one Version of a Verifiable KEL for a given AID. See [duplicity](https://trustoverip.github.io/tswg-keri-specification/#term:duplicity).
[[def: Primitive, Primitives]]

[[def: Attribute]]
~ a serialization of a unitary value. All Primitives in KERI must be expressed in CESR.

~ a top-level field map within an ACDC that provides a property of an entity that is inherent or assigned to the entity.

[[def: Targeted ACDC]]
[[def: Rotation event]]

~ an ACDC with the presence of the Issuee field in the attribute or attribute aggregate sections.
~ an Establishment Event that provides the information needed to change the Key state which includes a change to the set of authoritative keypairs for an AID. See [rotation event](https://trustoverip.github.io/tswg-keri-specification/#term:rotation-event).

[[def: Untargeted ACDC]]
[[def: Rules]]

~ an ACDC without the presence of the Issuee field in the attribute or attribute aggregate sections.
~ a top-level field map within an ACDC that provides a legal language as a Ricardian Contract [[ref: RC]], which is both human and machine-readable and referenceable by a cryptographic digest.

[[def: Operator]]
[[def: SEMVER]]

~ an optional field map in the Edge section that enables expression of the edge logic on edge subgraph as either a unary operator on the edge itself or an m-ary operator on the edge-group.
~ Semantic Versioning Specification 2.0. See also (https://semver.org)[https://semver.org]

[[def: Weight]]
[[def: Schema]]

~ an optional field map in the Edge section that provides edge weight property that enables directed weighted edges and operators that use weights.
~ the SAID of a JSON schema that is used to issue and verify an ACDC.

[[def: Unpermissioned correlation]]
[[def: Selective Disclosure]]

~ a correlation established between two or more disclosed ACDCs whereby the discloser of the ACDCs does not permit the disclosee to establish such a correlation.
~ a disclosure of an ACDC that selectively discloses its attributes using Compact Disclosure. The set of selectively disclosable attributes is provided as an array of blinded blocks where each attribute in the set has its own dedicated blinded block. Unlike Partial Disclosure, the selectively disclosed fields are not correlatable to the so far undisclosed but selectively disclosable fields in the same encompassing block.

[[def: Percolated discovery]]
[[def: Self-Addressing Identifier]]

~ a discovery mechanism for information associated with an AID or a SAID, which is based on Invasion Percolation Theory. Once an entity has discovered such information, it may in turn share what it discovers with other entities. Since the information so discovered is end-verifiable, the percolation mechanism and percolating intermediaries do not need to be trusted.
~ any identifier which is deterministically generated out of the content, digest of the content

[[def: Rules]]
[[def: Stream]]

~ a top-level field map within an ACDC that provides a legal language as a Ricardian Contract [[ref: RC]], which is both human and machine-readable and referenceable by a cryptographic digest.
~ a CESR Stream is any set of concatenated Primitives, concatenated groups of Primitives or hierarchically composed groups of [[ref: Primitives]].

[[def: Edge]]
[[def: Targeted ACDC]]

~ a top-level field map within an ACDC that provides edges that connect to other ACDCs, forming a labeled property graph (LPG).
~ an ACDC with the presence of the Issuee field in the attribute or attribute aggregate sections.

[[def: Schema]]
[[def: Unpermissioned correlation]]

~ the SAID of a JSON schema that is used to issue and verify an ACDC.
~ a correlation established between two or more disclosed ACDCs whereby the discloser of the ACDCs does not permit the disclosee to establish such a correlation.

[[def: Framing Code]]
[[def: Untargeted ACDC]]

~ a code that delineate a number of characters or bytes, as appropriate, that can be extracted atomically from a [[ref: Stream]].
~ an ACDC without the presence of the Issuee field in the attribute or attribute aggregate sections.

[[def: Stream]]
[[def: Validator]]

~ a CESR Stream is any set of concatenated Primitives, concatenated groups of Primitives or hierarchically composed groups of [[ref: Primitives]].
~ any entity or agent that evaluates whether or not a given signed statement as attributed to an identifier is valid at the time of its issuance. See [validator](https://trustoverip.github.io/tswg-keri-specification/#term:validator).

[[def: Primitive, Primitives]]
[[def: Verifiable data registry]]

~ a serialization of a unitary value. All Primitives in KERI must be expressed in CESR.
~ A role a system might perform by mediating issuance and verification of ACDCs. See [verifiable data registry](https://www.w3.org/TR/vc-data-model-2.0/#dfn-verifiable-data-registries).

[[def: Autonomic Identifier, AID]]
[[def: Verifier]]

~ a self-managing cryptonymous identifier that must be self-certifying (self-authenticating) and must be encoded in CESR as a qualified Cryptographic Primitive.
~ any entity or agent that cryptographically verifies the signature(s) and/or digests on an event Message. See [verifier](https://trustoverip.github.io/tswg-keri-specification/#term:verifier).

[[def: SEMVER]]
[[def: Weight]]

~ Semantic Versioning Specification 2.0. See also (https://semver.org)[https://semver.org]
~ an optional field map in the Edge section that provides edge weight property that enables directed weighted edges and operators that use weights.

[//]: # (ACDC fields {#sec:content})

Expand Down Expand Up @@ -794,6 +794,9 @@ Likewise, the presence of an Issuee, `i`, field enables the Issuer to use the AC

Contractual issuance and presentation exchanges are described in detail later in the IPEX protocol section {{reference to IPEX section}}.

:::issue
:::

##### Untargeted Attribute section

Consider the case where the Issuee, `i`, field is absent at the top level of the Attribute section, as shown below:
Expand Down Expand Up @@ -3708,9 +3711,6 @@ For clarity the first column provides the equivalent label value for the other s
| `e` | `0J_e` |`EFXBxkiojgBabiu_JCkE0GC4NQq-hiGgbiglDXNB5xhH` | SAID of schema of edge section of ACDC packet |
| `r` | `0J_r` |`EMiGgbiglDXNB5xhHFXBxkiojgBabiu_JCkE0GC4NQq-` | SAID of schema of rule section ACDC packet |




#### Section Message fields

| Label | Title | Description |
Expand Down

0 comments on commit 3770a3b

Please sign in to comment.