我们欢迎任何人进行更彻底的 A/B 测试,并与我们联系,为我们提供更多数据,但在当前阶段,我们只推荐 Geth。 以下是我们使用的命令行: 这里 --cache=21000 表示分配 21GB 用于内存状态存储(这是 Geth 可以处理的峰值),命令行其余部分将在下文予以解释。 更重要的是,我们下文描述的对 Geth 代码的修改可以在 这里 找到,作为可供下载的存储库,或者在 这里,作为要应用的补丁。 将空块产生频率降至最低有两件事会破坏矿工所获取的价值回报:挖出叔块和挖出空块。 这两者几乎同样糟糕:叔块奖励为 1.75 ETH,空块奖励为 2 ETH,两种情况下都没有交易费盈余。相比之下,带有交易费用的完整区块的总奖励通常达到 3-4 ETH,有时甚至更多。 为什么矿池有时会 产生空块,以及如何将其产出频率降至最低? 当另一个矿池挖出一个新区块(比如高度 N)时,高度 N 的任何其他区块都可能成为叔块。 因此每当发现新区块时,Geth 会立即切换矿工的工作,在 N+1 高度挖出一个空区块。这个空块中不包含交易费用,但这还是比挖出注定要成为叔块的区块要好。 随后,Geth 在高度 N+1 处构建了一个「真正的」区块,并再次切换矿工的工作。构建这样一个「真实」的区块需要时间(0.1-0.3 秒),因此需要两步过程。但在这段 0.1 到 0.3 秒的过渡期间,其他矿工们则正在挖一个空块。 收集所有待处理的交易,以实现费用收益最大化,可能很诱人,但像 txpool.globalslots 这样贪婪,会大大增加 Geth 构建「真实」区块所需的处理量(要耗时多达 1 秒或更长时间)。我们的推荐值不大于 1000 或 2000。 要了解这方面的更多详细信息,请查看 https://github.com/ethereum/go-ethereum/issues/21899 将叔块产生频率降至最低解决了空块,我们就可以开始困难的部分了。要尽量降低叔块率,有两件事是关键:
如前所述,实现良好对等网络(p2p)的第一步是在临近其他节点的云服务器上运行您的全节点,并配备良好的带宽。 下面我们将解释一些更细微和强大的技巧,以最大限度地提高区块导入速度和区块广播速度。 使用 bloXroute bloXroute 是一项致力于改善矿工之间连接并降低其叔块率的服务。大多数矿池都连接到 bloXroute,甚至主要的成熟矿池都 报告,使用 bloXroute 会带来显著改进。KeeperDAO 进行的 指标衡量 进一步证实了 bloXroute 相比同类服务具有巨大优势。 (责任编辑:admin) |