这篇文章深入探讨了区块链中的对等网络连接(peering)在以太坊中的重要性,并提出了选择优秀节点连接的理由。文章详细介绍了以太坊节点如何通过Kademlia协议进行对等发现,并阐述了bloXroute的区块链分发网络如何提高数据传播速度,增强区块链性能。整体结构清晰,逻辑严谨,包含了图示和代码块,适合有一定技术背景的读者。
在这篇博客中,我们探讨区块链系统中的对等连接,重点关注以太坊。我们解释了为什么连接到一些优秀的节点很重要,以及为什么 bloXroute 是可以找到的最佳对等节点。
区块链是分布式系统,由数以万计的节点分布在全球各地。为了使节点有效地连接并相互传播数据,它们创建了一个去中心化的对等网络 (p2p)。因此,“对等连接”一词的意思是连接到网络中的另一个对等节点。
以太坊的 p2p 通信网络依赖于基于 Kademlia 的节点(对等节点)发现协议,Kademlia 是构建高效 p2p 网络的广泛使用且经过“实战检验”的协议。为了使以太坊节点找到对等节点,它首先将一组硬编码的引导节点 ID 添加到其路由表中。然后,通过利用这些节点,它获取有关引导节点的对等节点的信息、其对等节点的对等节点等,并有机会尝试连接这些节点。
每个节点通常限制与 25 到 50 个节点进行对等连接,具体取决于节点运行的客户端类型。因此,一旦节点达到限制,它将不再接受新的连接请求。如果某些连接较弱或中断,节点将与此类节点断开连接,并连接到新节点或接受其他节点的连接。这创建了一个随机且连接良好的网络。除了默认的连接能力外,节点还可以通过将其添加到“信任的对等列表”来连接任意一个(愿意连接的)节点。
P2P 网络可视化
为什么拥有一些“优秀”的对等节点很重要?
无论哪个节点生成交易或挖掘区块,都需要将这些数据发送到网络的其余部分。在 p2p 网络中,数据以“周期”的形式传播。在第一个周期中,源节点将数据发送给它的直接对等节点(在以太坊的情况下是 25 到 50 个)。然后,这些直接对等节点在第二个周期将相同的数据发送给他们自己的对等节点,以此类推。因此,直接连接到源节点带来了快速获取区块和交易信息的显著优势。同样,连接到高效低延迟节点的源节点能够更快地将数据发送到网络的其他部分。
需要记住的是,选择几个优秀的对等节点并不损害去中心化或替代 p2p 网络。实际上,一个非常优秀的对等节点就足够实现理想的性能提升。节点应该连接到优秀的对等节点以获得更好的性能,并同时连接到其他 49 个节点以维持去中心化、安全性和冗余性。
例如,如果一个节点直接连接到(即,与之对等连接)一个大型挖矿池的节点,则该池挖掘的所有区块将在 p2p 区块传播的第一个“周期”内发送给对等节点。同样,如果一个节点与一个发送大量交易的大型交易所直接对等连接,则所有这些交易将在第一个周期内发送给对等节点。
bloXroute 部署了一个 区块链分发网络 (BDN),即一个加速区块链系统中数据传播的全球网络。它通过在全球范围内部署高效能服务器、动态高效地互联这些服务器,以及在其基础设施中缓存数据来完成此项工作。虽然在以太坊生态系统中显著提高了连接性,bloXroute 与现有的 p2p 网络完全兼容,并且不会改变这些协议的使用方式。在 p2p 网络中的其他节点看来,bloXroute 节点看起来就是另外一个对等节点。
bloXroute 直接与挖矿池和交易生成者进行对等连接,从而使它们能够更快地发送数据,同时使所有连接到 bloXroute 的人能够更快地接收这些数据。换句话说,按照上述 p2p 术语,任何连接到 bloXroute 的人都会在与 bloXroute 相关的任何其他对等节点的“第一个周期”内获取数据。
有几种方法。
通过 网关:这是一款开源软件,节点可以直接在运行其以太坊节点的同一台机器上安装,只需将该节点添加到信任的对等节点列表中。网关一方面与以太坊节点“对话”以太坊的 p2p “语言”。另一方面,它连接到 bloXroute 的网络,因此使用与以太坊不同的“bloXroute”语言。然而,通过连接到 bloXroute,用户间接地与所有其他与 bloXroute 网络对等连接的 p2p 节点相连。
通过远程网关。连接到 bloXroute 的另一种方法是通过远程网关,即将远程网关添加到节点的信任的对等节点列表中。远程网关是一种“位于”云中的网关,通常在靠近 bloXroute 高性能节点的位置,由 bloXroute 操作。这种设置的好处是客户端不必在本地安装网关。尽管该设置使得 bloXroute 与节点的距离比使用网关时稍远,但远程网关通常与最终用户相当接近,因为它们所在的云接近最终用户。
最后,即使不与其对等连接,也有方法可以使用 bloXroute。尤其是,未运行完整节点的用户,但仍需要与以太坊网络通信,可以通过使用我们的云 API 向 bloXroute 发送交易,或使用我们的交易流接收交易。
遇到问题?请给我们的团队发送电子邮件至 support@bloxroute.com 或在我们的 Discord 技术支持频道中发布你的问题。
- 原文链接: medium.com/bloxroute/on-...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!