From 9cbc7c37f4631629719c3e82cf8b76544fb2156b Mon Sep 17 00:00:00 2001 From: blacktemplar Date: Wed, 9 Sep 2020 15:02:47 +0200 Subject: [PATCH 1/5] use raw SHA256 as message-id --- specs/phase0/p2p-interface.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index 5f591708e..be2d40ca3 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -246,9 +246,8 @@ Likewise, clients MUST NOT emit or propagate messages larger than this limit. The `message-id` of a gossipsub message MUST be: ```python - message-id: base64(SHA256(message.data)) + message-id: SHA256(message.data). ``` -where `base64` is the [URL-safe base64 alphabet](https://tools.ietf.org/html/rfc4648#section-3.2) with padding characters omitted. The payload is carried in the `data` field of a gossipsub message, and varies depending on the topic: From 8f0b15f9f7ee74d085ac0dbca878b5c14aa35e13 Mon Sep 17 00:00:00 2001 From: blacktemplar Date: Fri, 11 Sep 2020 06:44:36 +0200 Subject: [PATCH 2/5] remove dot --- specs/phase0/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index be2d40ca3..c28deb2ee 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -246,7 +246,7 @@ Likewise, clients MUST NOT emit or propagate messages larger than this limit. The `message-id` of a gossipsub message MUST be: ```python - message-id: SHA256(message.data). + message-id: SHA256(message.data) ``` The payload is carried in the `data` field of a gossipsub message, and varies depending on the topic: From deb58fd21e1177549a4fc772a807ca18d0834d3a Mon Sep 17 00:00:00 2001 From: blacktemplar Date: Mon, 14 Sep 2020 10:09:48 +0200 Subject: [PATCH 3/5] only use first 8 bytes of hash as message id --- specs/phase0/p2p-interface.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index c28deb2ee..2ad95f54b 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -243,10 +243,10 @@ Each gossipsub [message](https://github.com/libp2p/go-libp2p-pubsub/blob/master/ Clients MUST reject (fail validation) messages that are over this size limit. Likewise, clients MUST NOT emit or propagate messages larger than this limit. -The `message-id` of a gossipsub message MUST be: +The `message-id` of a gossipsub message MUST be the first 8 bytes of the SHA-256 hash of the message data, i.e.: ```python - message-id: SHA256(message.data) + message-id: (SHA256(message.data))[0..8] ``` The payload is carried in the `data` field of a gossipsub message, and varies depending on the topic: From 89be1f5bc8e8667ffa58cc03f28e120401d48c52 Mon Sep 17 00:00:00 2001 From: Danny Ryan Date: Mon, 14 Sep 2020 10:57:35 -0600 Subject: [PATCH 4/5] favor pythonic notation for array slices --- specs/phase0/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index 2ad95f54b..daa4e40ff 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -246,7 +246,7 @@ Likewise, clients MUST NOT emit or propagate messages larger than this limit. The `message-id` of a gossipsub message MUST be the first 8 bytes of the SHA-256 hash of the message data, i.e.: ```python - message-id: (SHA256(message.data))[0..8] + message-id: (SHA256(message.data))[0:8] ``` The payload is carried in the `data` field of a gossipsub message, and varies depending on the topic: From 5a9fe89089c020bf5d041b53c697da97f71485a0 Mon Sep 17 00:00:00 2001 From: Danny Ryan Date: Mon, 14 Sep 2020 10:58:48 -0600 Subject: [PATCH 5/5] remove extraneous parens --- specs/phase0/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index daa4e40ff..c7c083dcc 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -246,7 +246,7 @@ Likewise, clients MUST NOT emit or propagate messages larger than this limit. The `message-id` of a gossipsub message MUST be the first 8 bytes of the SHA-256 hash of the message data, i.e.: ```python - message-id: (SHA256(message.data))[0:8] + message-id: SHA256(message.data)[0:8] ``` The payload is carried in the `data` field of a gossipsub message, and varies depending on the topic: