Gossipsub v1.1,它包含了几个安全性增强扩展,以及新的测试、文档和更新的规范。 Gossipsub 工作队一直在努力探索和分析公共和无许可消息网络上的各种攻击载体。有了这些知识,我们就制定并迭代了缓解策略,以使我们心爱的 libp2p PubSub Router 在对抗性环境中工作。 如果您是 libp2p PubSub 的新用户,尤其是 Gossipsub,我们建议您在 Matrix Virtual Meetup 上查看 Gossipsub v1.1 演讲。它将为您介绍 libp2p PubSub 的完整动机和背景,并向您介绍 Gossipsub v1.1。 1 什么是 Gossipsub v1.1? Gossipsub v1.1 的主要重点是安全性。此外,除了 v1.0 的快速消息传播保证外,此新版本还具有一些强化扩展功能,这些扩展功能使 Gossipsub 对各种攻击更具弹性。一些重点包括: 1)对等点计分:对等点现在使用反映对等点有用性的计分功能来监视其直接联系的邻居。行为良好的对等方将保留在网格中,而行为不良的对等方将被丢弃,以保护网络免受恶意行为者的侵害。 2)自适应信息传播:在此新版本中,您可以调整 gossip factor 来控制您的节点信息与之对等的数量。这使您可以增加/减少信息的数量,同时保持基线。 3)机会嫁接:一种新的机制,用于挑选表现良好的对等节点,这些对等节点当前不属于节点网格。然后将那些表现良好的同伴机会性地插入到网格中,以提高参与同伴的中位数。 4)Prune Peer eXchange:Prune Peer 交换为节点提供了一组推荐的对等节点,当该节点从另一个对等节点的网格中掉落时,可以进行连接,从而有助于减少对环境对等节点发现机制的依赖。 5)扩展消息验证器:现在,您可以添加自定义消息验证器,以便对 Gossipsub 进行检测,以识别(接受/拒绝)在应用程序上下文中哪些消息有效/无效。 6)出站网格配额:在 v1.0 中,网格对等体是随机选择的,没有对连接方向给予任何权重。相反,v1.1 实现了出站连接配额,因此对等方尝试始终在网格中维护许多出站连接。 这些安全措施的结合,以及“游说网格”的属性,在无许可的网络中选中了消息传播协议的两个最重要的框,即:i)快速消息传播;ii)防止试图降低质量的攻击的安全性网络提供的服务。 所有这些升级都可以在Gossipsub v1.1规范中进行咨询,如果您要求我们阅读,那是一种阅读的乐趣! 此外,在新版本中,Gossipsub的参考实现获得了更多文档和测试范围。 2 我们为您准备了一个全新的示例,供您尝试最新的Gossipsub。在此示例中,您将尝试使用由libp2p驱动的聊天应用程序。通过订阅PubSub主题,您可以加入不同的频道,并在其他订阅者订阅主题时看到他们加入会议室。 您可以在 https://github.com/libp2p/go-libp2p-examples/tree/master/pubsub/chat中找到此示例的代码 3 我们还将发布一个全新的libp2p测试计划,该计划使用Testground对Gossipsub v1.1进行基准测试。 通过此测试计划,您可以运行 Gossipsub 网络的仿真(是的,它将运行真实的 Gossipsub 节点!),您可以在其中进行以下调整: 节点数 每个链路的延迟和抖动百分比 运行时间 每个链接可用的带宽 要使用此测试计划,请查看 https://github.com/libp2p/testplans/tree/master/pubsub上的说明。 4 种一棵树最好的时间是在十年前,其次就是现在,让我们一起期待下一个未来!聊天应用示例
使用 Testground 测试 Gossipsub 的性能
我们正在为您准备更多东西
我们已经与网络,P2P 和安全研究人员合作创建了 Gossipsub v1.1 的此迭代,并且我们一直在编写一份综合分析报告,与您分享我们的方法以及我们如何评估缓解策略。我们正准备在 6 月分享这份报告,敬请期待!