  Permissionless blockchain environments necessitate the use of a fast and
attack-resilient message propagation protocol for Block and Transaction
messages to keep nodes synchronised and avoid forks. We present GossipSub, a
gossip-based pubsub protocol, which, in contrast to past pubsub protocols,
incorporates resilience against a wide spectrum of attacks.
  Firstly, GossipSub's mesh construction implements an eager push model keeps
the fan-out of the pubsub delivery low and balances excessive bandwidth
consumption and fast message propagation throughout the mesh. Secondly, through
gossip dissemination, GossipSub realises a lazy-pull model to reach nodes
far-away or outside the mesh. Thirdly, through constant observation, nodes
maintain a score profile for the peers they are connected to, allowing them to
choose the most well-behaved nodes to include in the mesh. Finally, and most
importantly, a number of tailor-made mitigation strategies designed
specifically for these three components make GossipSub resilient against the
most challenging Sybil-based attacks. We test GossipSub in a testbed
environment involving more than 5000 VM nodes deployed on AWS and show that it
stays immune to all considered attacks. GossipSub is currently being integrated
as the main messaging layer protocol in the Filecoin and the Ethereum 2.0
(ETH2.0) blockchains.
