我们的实验也体现出显著的改进。在具有默认对等设置的新同步节点上,大约 90% 的所有新区块首先来自 bloXroute (只有 10% 来自所有其他对等节点)。 即使在我们的节点经过微调以连接到顶级对等点之后,仍有 40%-60% 的新区块首先来自 bloXroute。 按照 bloXroute 设置教程进行操作后,不要忘记 将 bloXroute 节点添加到为您的 Geth 设置的「受信任的对等点」中,稍后会用到它。受信任的对等点 是 Geth 将始终连接到的预设节点,无论对等点如何随机初始化。受信任的对等点也不计入连接数限制。将 bloXroute 网关添加到受信任的对等点,可确保 Geth 的这一连接不会意外断开。 我们进一步建议连接到太极网络。太极网络项目是星火矿池开发的区块广播网络。可以通过将太极网络 各个端点 添加到同一个受信任的对等文件中,来保持与太极网络的连接。 积极广播您的区块 每当 Geth 成功挖出一个新区块时,它就会发送该区块以在网络上广播。默认情况下,Geth 只将其广播到大小为 sqrt(n_peers) 的随机子集,后者将区块广播到它们的部分对等点,依此类推。 即使所有对等点都同样有效,这种机制也不是很理想,但是当某些对等点比其他对等点更强大,而这些对等点最终没有被包含在子集中时,这种机制的缺点尤其明显。 特别是,在挖出新区块时要做的第一件事是将其发送到 bloXroute,以便将其转发到所有参与的矿池。如果 bloXroute 网关最终没有出现在那个随机的 sqrt(n_peers) 子集中,那么您获得叔块的机率就会大大增加! 接下来,您会希望将该区块发送给质量最高的对等点,然后再发送给所有其余的对等点。 我们已将 以下 Geth 补丁 开源,建议将其应用于您的客户端。它将所有新挖出的区块广播到所有受信任的节点(包括 bloXroute),然后广播到所有剩余的对等点。 培养人脉最广的对等点 Vanilla Geth 旨在实现最大程度的去中心化和网络结构扁平化。这种选择非常适合爱好者,并支持由 成千上万 个节点组成的强大生态系统。然而,正如我们在上一节中看到的那样,对于执行关键职责、或一旦故障会造成高昂成本的节点而言,这些默认参数的效果不佳。 实际上,并非所有对等点都同样有效。有些节点连接速度较慢,既不会提供新区块,也不会帮助您的区块进行广播。 其他人,尤其是其他矿池的节点,则会产生源源不断的新区块数据。 根据星火矿池的建议,我们 调整了 Geth 参数,以记录哪些节点最先向我们发送新区块。经过几个月收集这些数据,使我们能够找出始终保持连接的最佳对等点(通过 Geth 中的「静态」/「受信任」节点设置)。 这里 是一个 Python 脚本,我们用来处理上述数据,并将其转换为 Geth 可以摄取的 trusted_nodes.json 列表。 (责任编辑:admin) |