测量以太坊节点-Coinmonks

伊戈尔·阿尔塔莫诺夫(Igor Artamonov)

最近有一篇文章比较了以太坊和比特币的在线节点,我在评论中提到与以太坊相关的数字不够代表。

我已经跟踪在线以太坊节点已有一段时间了,因此我将所有这些数据用于进一步分析。我在Gastracker页面上发布了一些以太坊经典网络的结果,尽管我有更详细的数据,并对所有基于以太坊的网络有更深入的了解。

那么爬行以太坊网络有什么问题呢?首先也是最明显的障碍是以太坊和经典的以太坊的存在,因为它们共享相同的协议,相同的标识符和相同的初始历史(包括创世块)。来自两个网络的节点零星地相互连接,交易所共享历史记录中的新事务和数据。通过连接到ETH节点,您无法确定其所有对等节点也是ETH节点。初始握手没有提供足够的信息,因此一个节点即使与来自另一个网络的对等节点也保持连接,并向其他ETH节点告知该节点,依此类推。

网络ID 1不是以太坊

这就是Ethernode等服务提供的数据的主要问题。它仅显示所有节点,与实际链无关。实际上,它在任何地方都没有说“ ETH节点”,而是说“网络ID为1的节点”,它由几个不同的区块链共享,不仅是ETH和ETC。

区分它们的唯一方法是连接到它们并下载部分区块链历史记录,因为它具有不同的分叉块。根据我的经验,不到约70%的此类节点是实际的以太坊节点。

这是网络ID = 1的每条链上节点的分布,即所有节点都位于Ethernodes页面上的同一存储桶中。

过去7天的唯一节点;未知-此处的节点是响应network_id 1的节点,但其起源块与任何知名的区块链都不匹配; eth_or_etc —只是共享ETC和ETH的公共历史记录的节点;通常,这些节点只是在进行初始同步

总共约有10,000个节点,只有约6000个ETH节点,1000个ETC节点,以及2000多个其他网络。

与所有基于以太坊的网络的分布进行比较(即不仅network_id = 1):

过去7天的唯一节点

这里可能引起误解的一件事是,并非所有此类节点都始终可用6000。上面的数据基于过去7天,其中包括至少出现一次的所有节点。尽管在通常的一天中,只有不到一半的人在线:

每天唯一的ETH节点

另一件事是Geth和Parity行为之间的区别。这两个是领先的节点实现,它们共享大部分市场。但是,很难衡量其股份的确切数量,并且漫游器逻辑中的任何错误都会导致所得数字的失真。

这是为什么?Parity和Geth似乎有不同的使用场景;首先是在服务器上占主导地位,其次在台式机上更为普遍。以太坊官方钱包Mist随同盖斯(Geth)一同发售,经典盖斯(Classic Geth)也是如此,这是Emerald钱包在ETC上用于桌面的。

环境(台式机与服务器)之间的这种差异导致出现Geth难以捉摸的情况。一个问题是,盖斯的在线时间很短。另一个可能会产生重大影响的问题是,家庭Internet通常针对端口转发和防火墙配置错误,并且不如数据中心中的Internet稳定。因此,您无法连接到此类Geth实例,但应期望从该实例进行传入连接。对于这种情况,该机器人需要确保所有可能的Geth实例都以某种方式了解该机器人并连接到它以进行自我介绍。

为了说明这一点,请看一下允许不同软件进行传入连接的节点分布。

以我的经验,大约70%的Geth节点不允许传入连接,而Parity则为52%。另一方面,Parity节点在发现其他节点时不太活跃,这可以解释为此类节点正在服务器上运行,并且仅在启动后的前几分钟主动发现对等节点。

国别

一个国家的分布也可能很有趣:

请注意中国的电话号码。我敢肯定,中国的实际节点数至少要大两倍,但是由于防火墙的限制,该漫游器无法连接到它们。正确衡量所有事情的唯一方法是在中国大陆运行一个bot实例,尽管我不确定如何做,但是我当然希望将来能做到。

看分叉

我创建刮板机器人的主要原因之一是观察硬分叉,跟踪网络升级的进度,即哪些软件版本在线。有时它会显示出令人着迷的文物,例如我在君士坦丁堡升级之前发布的文物:

请注意,兼容的Parity节点的份额如何随着时间而自然增长,但是Geth在一天之内实现了巨大的增长。这可能意味着有一种方法可以控制大多数Geth节点的分布,从而控制网络本身。

另一个例子是最近的ETC升级,即使没有大多数节点共识也进行了升级。有风险,但幸运的是,它并未损坏网络。分叉后大约一个星期才达到50%的节点升级,尽管升级尚未完成,但节点仍在升级过程中。更糟糕的是,一些旧节点仍在积极挖矿旧的未分叉链。

ETC Atlantis升级进度;垂直线是货叉的日期,水平线是50%(前叉可接受)和80%(后叉可接受);请注意,9月29日的Geth节点数量大幅上涨,其中大多数只是在亚洲不同地区发射的新节点,大多数都在几天内被击落

尽管无疑有很多有趣的数据和见解,但很难衡量以太坊网络。我仍在努力改进机器人,试图以更高的精度收集更多细节,并希望也爬网其他区块链。

如果您使用文章中的数据,请在该页面上添加一个链接。谢谢。如有其他问题,您可以通过igor@artamonov.ru与我联系。

你可能还喜欢