Skip to content

Commit 18580e7

Browse files
committed
Handling IANNOUNCE only for trustworthy peers
1 parent 0f18010 commit 18580e7

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

pubsub/gossipsub/gossipsub-v2.0.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,13 @@ After processing the message payload, the router will process the new control me
128128

129129
In gossipsub v2.1, we plan to penalize peers that don't send the message in time.
130130

131+
Since handling `IANNOUNCE` can delay receiving messages, the router must handle only `IANNOUNCE` sent from trustworthy peers, i.e. mesh peers and [explicit peers][explicit-peering].
132+
131133
- Upon receiving `INEED` after sending `IANNOUNCE`, the router must send the full content back without an option to decline. Otherwise it will be deemed misbehaving.
132134

133135
Apart from forwarding received messages, the router can of course publish messages on its own behalf. This is very similar to forwarding received messages. It also has to toss a coin to decide whether to send the message eagerly or lazily.
134136

137+
[explicit-peering]: ../gossipsub/gossipsub-v1.1.md#explicit-peering-agreements
135138
[seen-cache]: ../gossipsub/gossipsub-v1.0.md#message-cache
136139

137140
### Message Publishing
@@ -140,6 +143,8 @@ For message publishing, as long as `D_announce` is less than `D`, full messages
140143
propagation as none of the peers have seen the message before. In the event `D_announce` is equivalent to `D` we disable publishing the full message as
141144
the message originator is trivially identifiable if message propagation is completely announcement based.
142145

146+
In case of flood publishing, it's possible that the publisher is gonna send the message to peers other than mesh peers and [explicit peers][explicit-peering]. In which case, the publisher must send the message eagerly without tossing a coin.
147+
143148
### Protobuf
144149

145150
The protobuf messages are identical to those specified in the [gossipsub v1.2.0 specification](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.2.md) with the following control message modifications:

0 commit comments

Comments
 (0)