From 6253436010edd3f76e286a3eb0a9681911ce0a6c Mon Sep 17 00:00:00 2001 From: Charles Lanahan Date: Mon, 24 Jun 2024 09:46:03 -0400 Subject: [PATCH 1/7] Forward exists so removed link to the closed github issue. Forward exists so removed link to the closed github issue in text. --- spec/spec.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/spec/spec.md b/spec/spec.md index a660617..e2d5708 100644 --- a/spec/spec.md +++ b/spec/spec.md @@ -49,11 +49,6 @@ Any feedback or questions on this document should be directed to https://github. THESE MATERIALS ARE PROVIDED “AS IS.” The Trust Over IP Foundation, established as the Joint Development Foundation Projects, LLC, Trust Over IP Foundation Series ("ToIP"), and its members and contributors (each of ToIP, its members and contributors, a "ToIP Party") expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the materials. The entire risk as to implementing or otherwise using the materials is assumed by the implementer and user. IN NO EVENT WILL ANY ToIP PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THESE MATERIALS, ANY DELIVERABLE OR THE ToIP GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -::: issue -https://github.com/trustoverip/tswg-keri-specification/issues/47 -::: - [//]: # (:::) [//]: # (\newpage) From db12d51fef37980f1ae86c6d6f0e209d4ab968cb Mon Sep 17 00:00:00 2001 From: Fintan Halpenny Date: Fri, 5 Jul 2024 14:21:33 +0100 Subject: [PATCH 2/7] Fix typo in Merkle Tree root digest seal The text stated: ``` The value of this seal's `d` field ... ``` however, the `json` example had the field key `rd`. I believe the above was a typo, and this changes fixes that. --- spec/spec.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/spec.md b/spec/spec.md index a660617..179e94a 100644 --- a/spec/spec.md +++ b/spec/spec.md @@ -704,7 +704,7 @@ The value of this seal's `d` field is an undifferentiated digest of some externa #### Merkle Tree root digest seal -The value of this seal's `d` field is root of a Merkle tree of digests of external data. This enables a compact commitment to a large number of data items. A Merkle tree is constructed so that an inclusion proof of a given digest in the tree does not require disclosure of the whole tree. The JSON version is shown. There is also a native CESR version of the seal. +The value of this seal's `rd` field is root of a Merkle tree of digests of external data. This enables a compact commitment to a large number of data items. A Merkle tree is constructed so that an inclusion proof of a given digest in the tree does not require disclosure of the whole tree. The JSON version is shown. There is also a native CESR version of the seal. ```json { From b70fdf443b7589e3cec4f0cf41fc84ccfed8041f Mon Sep 17 00:00:00 2001 From: Samuel M Smith Date: Mon, 15 Jul 2024 11:18:29 -0600 Subject: [PATCH 3/7] fixed typo in Controller AID field description in Routed messages field section. Typo was Receiver AID when should be Controller AID. --- spec/spec.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/spec.md b/spec/spec.md index a660617..347c5e9 100644 --- a/spec/spec.md +++ b/spec/spec.md @@ -1080,7 +1080,7 @@ Unless otherwise clarified below, the definitions of the `[v, t, d, i]' field va ##### Controller AID field -The Controller AID, `i` field value is an AID that controls its associated KEL. When the Controller Identifier AID, `i` field appears at the top-level of a Routed Message, it refers to the Controller AID of the sender of that message. A Receiver AID, `i` field MAY appear in other places in messages. In those cases, its meaning SHOULD be determined by the context of its appearance. +The Controller AID, `i` field value is an AID that controls its associated KEL. When the Controller Identifier AID, `i` field appears at the top-level of a Routed Message, it refers to the Controller AID of the sender of that message. A Controller AID, `i` field MAY appear in other places in messages (not at the top level). In those cases, its meaning SHOULD be determined by the context of its appearance. ##### Receiver AID field From 6125bb5340f8f6ecd69c09e02486a7e78bdf81e1 Mon Sep 17 00:00:00 2001 From: Samuel M Smith Date: Tue, 16 Jul 2024 08:07:01 -0600 Subject: [PATCH 4/7] fixed cesr native exchange message examples to include `ri` field --- spec/spec.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/spec.md b/spec/spec.md index 347c5e9..c48e0c0 100644 --- a/spec/spec.md +++ b/spec/spec.md @@ -2314,6 +2314,7 @@ Field order by label: `v`, `t`, `d`, `i`, `dt`, `r`, `q`, `a`. | `t` | `xip` | Packet Type | | `d` | `EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G` | SAID of message, transaction identifier SAID | | `i` | `EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg` | Sender AID | +| `ri` | `ECRXq_bMF3Dd96ATbbMIZgUBBwuFAWx3_8s5XSt_0jey` | Receiver AID | | `dt` | `1AAG2020-08-22T17c50c09d988921p00c00` | Base64 custom encoded 32 char ISO-8601 DateTime | | `r` | `4AAC-A-1-B-3` | Base64 variable length CESR SAD Path string | | `q` | `-H##` or `-H#####` | Count code for Query field map | @@ -2336,6 +2337,7 @@ Field order by label: `v`, `t`, `d`, `i`, `x`, `p`, `dt`, `r`, `q`, `a`. | `t` | `exn` | Packet Type | | `d` | `EBxkiojgBabiu_JCkE0GC4NQq-hiGgbiglDXNB5xhHKX` | SAID of message | | `i` | `EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg` | Sender AID | +| `ri` | `ECRXq_bMF3Dd96ATbbMIZgUBBwuFAWx3_8s5XSt_0jey` | Receiver AID | | `x` | `EC4NQq-hiGgbiglDXNB5xhHKXBxkiojgBabiu_JCkE0G` | Transaction Identifier SAID | | `p` | `EGbiglDXNB5C4NQq-hiGgxhHKXBxkiojgBabiu_JCkE0` | Prior message SAID | | `dt` | `1AAG2020-08-22T17c50c09d988921p00c00` | Base64 custom encoded 32 char ISO-8601 DateTime | From 1a55c02b6b5d33e89a6efa6b2135a2bf12d4c7aa Mon Sep 17 00:00:00 2001 From: Samuel M Smith Date: Tue, 16 Jul 2024 08:33:24 -0600 Subject: [PATCH 5/7] fixed missing `ri` field from field order lists for exchange messages --- spec/spec.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spec/spec.md b/spec/spec.md index c48e0c0..ebc522d 100644 --- a/spec/spec.md +++ b/spec/spec.md @@ -1240,7 +1240,7 @@ Bare message example: #### Exchange Transaction Inception Message Body -The top-level fields of an Exchange Transaction Inceipt, `xip` message body MUST appear in the following order: `[ v, t, d, i, dt, r, q, a]`. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and Seals MUST be attached to the Message body using CESR attachment codes. +The top-level fields of an Exchange Transaction Inceipt, `xip` message body MUST appear in the following order: `[ v, t, d, i, ri, dt, r, q, a]`. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and Seals MUST be attached to the Message body using CESR attachment codes. ::: note Examples in this section are not cryptographically verifiable @@ -1268,7 +1268,7 @@ Exchange transaction inception message example: #### Exchange Message Body -The top-level fields of an Exchange, `exn` message body MUST appear in the following order: `[ v, t, d, i, x, p, dt, r, q, a]`. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and Seals MUST be attached to the Message body using CESR attachment codes. +The top-level fields of an Exchange, `exn` message body MUST appear in the following order: `[ v, t, d, i, ri, x, p, dt, r, q, a]`. All are REQUIRED. No other top-level fields are allowed (MUST NOT appear). Signatures and Seals MUST be attached to the Message body using CESR attachment codes. ::: note Examples in this section are not cryptographically verifiable @@ -2305,7 +2305,7 @@ Field order by label: `v`, `t`, `d`, `dt`, `r`, `a`. #### Exchange Transaction Inception Message -Field order by label: `v`, `t`, `d`, `i`, `dt`, `r`, `q`, `a`. +Field order by label: `v`, `t`, `d`, `i`, `ri`, `dt`, `r`, `q`, `a`. | Field Label | Value | Description | |:--------:|:-------|:------| @@ -2328,7 +2328,7 @@ Field order by label: `v`, `t`, `d`, `i`, `dt`, `r`, `q`, `a`. #### Exchange Message -Field order by label: `v`, `t`, `d`, `i`, `x`, `p`, `dt`, `r`, `q`, `a`. +Field order by label: `v`, `t`, `d`, `i`, `ri`, `x`, `p`, `dt`, `r`, `q`, `a`. | Field Label | Value | Description | |:--------:|:-------|:------| From d45fa80c423cf090d8085935c8a499be9b59024e Mon Sep 17 00:00:00 2001 From: Vasily Suvorov Date: Fri, 9 Aug 2024 21:03:59 +0200 Subject: [PATCH 6/7] fixes typo in Backer Add List description fixing this typo: "...until all AIDs in the Backer Add, ba list have been removed." --- spec/spec.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/spec.md b/spec/spec.md index ebc522d..0f063da 100644 --- a/spec/spec.md +++ b/spec/spec.md @@ -658,7 +658,7 @@ The Backer Remove, `br` field value is a list of strings that each is the fully ##### Backer add list -The Backer Add, `ba` field value is a list of strings that each is the fully qualified AID of a Backer to be appended to the current Backer list. This allows Backer lists to be changed in an incremental fashion. A given AID MUST NOT appear more than once in any Backer Add list. The Backer Add, `ba` list appears in Rotation and Delegated Rotation events. Given such an event, the current backer list is updated by appending in order the AIDs from the Backer Add, `ba` list except for any AIDs that already appear in the current Backer list. The AIDs in the Backer Add, `ba` list MUST NOT be appended until all AIDs in the Backer Add, `ba` list have been removed. +The Backer Add, `ba` field value is a list of strings that each is the fully qualified AID of a Backer to be appended to the current Backer list. This allows Backer lists to be changed in an incremental fashion. A given AID MUST NOT appear more than once in any Backer Add list. The Backer Add, `ba` list appears in Rotation and Delegated Rotation events. Given such an event, the current backer list is updated by appending in order the AIDs from the Backer Add, `ba` list except for any AIDs that already appear in the current Backer list. The AIDs in the Backer Add, `ba` list MUST NOT be appended until all AIDs in the Backer Remove, `br` list have been removed. ##### Configuration traits field From 540d0f85e05325070d131a8d901568ac3124a2d2 Mon Sep 17 00:00:00 2001 From: Vasily Suvorov Date: Sat, 10 Aug 2024 09:13:22 +0200 Subject: [PATCH 7/7] fixed message type typo for dip example --- spec/spec.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/spec.md b/spec/spec.md index 0f063da..3cea42c 100644 --- a/spec/spec.md +++ b/spec/spec.md @@ -321,7 +321,7 @@ Key event validation includes everything needed to validate events, including st ![Controller Application with Agent](https://raw.githubusercontent.com/trustoverip/tswg-keri-specification/revised-format/images/ControllerAppAgentSplitFunctions.png) **Figure:** *Controller Application with Agent* - + #### Direct exchange The simplest mode of operation is that a pair of controllers, each with their own AID, use their respective applications (including agents when applicable) to directly exchange key event messages that verifiably establish the current key state of their own AID with the other controller. For each exchange of key events, the destination controller acts as a validator of events received from the source controller. Therefore, given any key event, a given entity is either the event's controller or a validator of some other controller's event. @@ -927,7 +927,7 @@ The top-level fields of a Delegated Inception, `dip` event message body MUST app ```json { "v": "KERI10JSON0001ac_", - "t": "icp", + "t": "dip", "d": "EL1L56LyoKrIofnn0oPChS4EyzMHEEk75INJohDS_Bug", "i": "EL1L56LyoKrIofnn0oPChS4EyzMHEEk75INJohDS_Bug", "s": "0",