GossipSub is a new peer-to-peer communication protocol designed to counter attacks from misbehaving peers by carefully controlling what information is disseminated and to whom, via a score function computed by each peer that captures positive and negative behaviors of its neighbors. The score function depends on several parameters (weights, caps, thresholds, etc.) that can be configured by applications using GossipSub. The specification for GossipSub is written in English and its resilience to attacks from misbehaving peers is supported empirically by emulation testing using an implementation in Golang. In this work we take a foundational approach to understanding the resilience of GossipSub to attacks from misbehaving peers. We build the first formal model of GossipSub, using the ACL2s theorem prover. Our model is officially endorsed by GossipSub developers. It can simulate GossipSub networks of arbitrary size and topology, with arbitrarily configured peers, and can be used to prove and disprove theorems about the protocol. We formalize fundamental security properties stating that the score function is fair, penalizes bad behavior and rewards good behavior. We prove that the score function is always fair, but can be configured in ways that either penalize good behavior or ignore bad behavior. Using our model, we run GossipSub with the specific configurations for two popular real-world applications: the FileCoin and Eth2.0 blockchains. We show that all properties hold for FileCoin. However, given any Eth2.0 network (of any topology and size) with any number of potentially misbehaving peers, we can synthesize attacks where these peers are able to continuously misbehave by never forwarding topic messages, while maintaining positive scores so that they are never pruned from the network by GossipSub.
翻译:GossipSub 是一个新的同行对同行的通信协议,旨在通过仔细控制信息传播方式和谁通过每个同行计算得分的分数函数,捕捉邻居的积极和消极行为。评分函数取决于几个参数(重量、上限、阈值等),可以通过使用 GossipSub 的应用来配置。 GossipSub 的规格用英语写成,其抵御同行袭击的复原力通过在 Goloneg 执行的模范测试获得经验支持。在这项工作中,我们采取了一种基本方法,了解 GossipSub 的复原力,了解邻居的反面行为。我们用 ACL2 标本来构建第一个正式的参数(重量、上限、阈值等) 。 GossipSubip 的规格可以通过任意配置同侪来模拟GossipSub网络的任意大小和地形网络网络,并且可以用来对协议进行模拟和分解。在两个协议上,我们从不折不折不折不折不扣的应用程序,我们用基本的安全属性来验证和行为,我们总是以公平的方式进行评分解。