-
Notifications
You must be signed in to change notification settings - Fork 54
Closed
Description
With the new spec of the gossipsub protocol already finished and implemented in go-libp2p, other implementations are starting to update to v1.1
While it is backwards compatible with v1.0, there are important updates regarding security, as well as bootstrapping that makes it important to update sooner rather than later.
@wemeetagain what are your expectations for this update?
Gossipsub v1.1 checklist
- explicit peer agreements - gs1.1 direct connect #99
- peer exchange (PX) on prune - gs1.1 peer exchange #100
- graft/prune backoff gs1.1 pruning backoff #95
- flood publishing - gs1.1 flood publishing #89
- adaptive gossip dissemination - gs1.1 adaptive gossip #94
- outbound mesh quotas - gs1.1 outbound mesh quota #91
- peer scoring - gs1.1 peer score #83 gs1.1 Integrate peer score #87
- score thresholds - gs1.1 peer score #83
- heartbeat maintenance gs1.1 outbound mesh quota #91
- opportunistic grafting - gs1.1 opportunistic grafting #96
- score function - gs1.1 peer score #83
- topic parameter calculation and decay - gs1.1 peer score #83
- extended validators - gs1.1 extended validators #93
- spam protection measures
- GRAFT messages for unknown topics are ignored - gs1.1 outbound mesh quota #91
- IWANT message responses are limited in the number of retransmissions to a certain peer - gs1.1: feat: track ihave/iwant counts #104
- IHAVE messages are capped to a certain number of IHAVE messages and aggregate number of message IDs advertised per heartbeat - gs1.1: feat: track ihave/iwant counts #104
- In flight IWANT requests, sent as a response to an IHAVE advertisement, are probabilistically tracked. feat: add iwant request tracking #107
- Invalid message spam, either directly transmitted or as a response to an IHAVE message is penalized by the score function gs1.1: feat: add invalid message spam protection #113
Polishing
- refactor libp2p-pubsub feat: refactor validate libp2p/js-libp2p-pubsub#61 feat: update publish function signature libp2p/js-libp2p-pubsub#62 feat: refactor peer class libp2p/js-libp2p-pubsub#63 chore: refactor topics map libp2p/js-libp2p-pubsub#64 chore: refactor messagePublicKey libp2p/js-libp2p-pubsub#65 chore: fix verifySignature libp2p/js-libp2p-pubsub#66
- refactor gossipsub to use libp2p-pubsub v0.6.x chore: update libp2p-pubsub #110
- refactor internal maps to use string peer ids where appropriate gs1.1: use string peer id consistently #111
- allow node configurability of constants gs1.1: configurable overlay params #112
- copy go-libp2p-pubsub gossipsub tests
- final close reading of go-libp2p-pubsub, ensure nothing was missed gs1.1: use publishThreshold for floodsub fallback peers #102 chore: update gossipsub multicodec #108
- migrate ts/pubsub.js to libp2p-pubsub repo
Metadata
Metadata
Assignees
Labels
No labels