风险提示:理性看待区块链,提高风险意识!
以太坊节点同步变慢的主要原因是什么?
首页 > 币界资讯 > 区块链知识 2019-03-30 09:57:06

以太坊网络的运转过程中,同步以太坊节点,可以说是十分复杂,而我们又不得不去接触的一个方面,这个过程会让很多人感到痛苦,也让更多以太坊死忠为之诟病,可是,又有什么办法呢?今天,就跟您一起分析一下以太坊节点同步越来越慢的原因,希望对大家有所帮助。

目前以太坊钱包默认的同步模式,叫做快速同步。和从创世区块开始,重新处理所有的转账不同(这会需要好几个星期),快速同步下载区块,然后只是验证和工作量证明相关的数据。下载所有区块是直截了当的,但是快速过程会相对快速地重新组成整个区块链。很多人错误地认为,因为他们有区块,所以在同步。

不幸地是,这不是问题的关键,因为没有任何转账被执行了(也就是说,为了验证区块链的有效性,没有转账进行),所以我们没有任何账户的状态(也就是,余额,记录,智能合约代码以及数据)。这些需求被分开下载,而且会和最新的区块交叉检测。这个部分叫做状态前缀树的下载,而且它实际上和区块下载同时运行;同时它比下载区块要花费更长的时间。

所以,什么是状态前缀树?在以太坊主网中,有无数的账户,这些会追踪每个用户的余额,数据等等,这些账户本身是不足够去运行节点,他们需要和每个区块进行加密连接,从而节点能够验证账户没有被欺诈。这个加密连接是通过在账户上创建树状的数据结构来完成的,每个层级都和下面的层级连接,然后和更小的层级连接,直到你达到单个根数据。这种庞大的数据结构包含了所有账户和中间的加密证明,被称为状态前缀树。

那么为什么要提出这个问题?这种树状的数据结构是几百万个很小的加密证明相连接的、为了获得同步节点,你需要下载所有账户的数据,同时这些加密证明也会验证网络中没有任何东西尝试去欺骗你。这本身已经是非常夸张的数据了。它变得更加混乱的部分是这个数据不断地变化:每个区块(15秒),大约有1000个节点会从树状结构中删除,然后大约有2000个新节点会添加。这意味着需要同步数据库的节点正在以每秒200次的速度改变。最差的部分是让你在同步的时候,网络还在往前推进,并且你开始下载的状态也许会在你下载的时候小时,所以你的节点需要一直跟着网络进行,同时还需要获得所有最近的数据。但是当你实际上获得所有数据的时候,你的本地节点不能使用,因为它不能加密证明任何账户的任何信息。

如果你看到主网后面有64个区块,你还没有完全同步,甚至还差的很远。你只是完成了区块下载的部分,仍然在进行状态的下载。你可以通过无穷无尽的Imported state entries [...] ,来看到你自己的状态。当你的节点在线之前,你也需要等到它们出来。

Q:节点只是取决于输入的状态?

A: 节点不会暂停,它只是不会提前知道整个状态前缀树有多大,所以它会一直进行直到发现和下载了整个数据。

原因是以太坊区块中只有状态根部,根节点的单个哈希。当节点开始同步,它会完全直到1个节点,并且尝试下载。那个节点,可以对标高达16个新节点,并且尝试下载那些。随着我们继续进行下载,大多数的节点会和新的节点对标,而且我们那时候还不知道它们。这就是为什么你需要想想,为什么它会卡在同样的数字。随着时间,节点是在发现和下载树状数据。

Q: 我卡在了主网后的64个区块?

A: 就像上面解释的,你不是卡主了,是刚刚完成了区块下载阶段,正在等待状态下载完成。这部分花费的时间,比下载区块要长很多。

Q:为什么下载状态需要花费这么长时间,我有很高的带宽?

A: 状态同步是受制于磁盘输入输出,而不是带宽。

以太坊的状态前缀树包含了几百万个节点,大多数会是按照单个哈希对应至多16个其他哈希。在磁盘上,这是很恐怖的存储方式,因为其中几乎没有结构,只是随机的数字来反应甚至更多的随机数字。这会让底层数据库变得混乱,因为它不能优化存储以及使用任何有意义的方式来寻找数据。

不仅存储数据是非常不理想的,而且由于每秒200次的改变以及对过去数据的修改,我们甚至不能下载,这是一个正确的预处理方法,使它更快地导入,而底层数据库不太多。最终的结果甚至是快速的更新导致很高的磁盘输入输出费用,这对于机械硬盘来说,是非常大的挑战。

Q:这么说,我不能用硬盘驱动器来运行全节点?

A: 很不幸地是,确实不可以。在硬盘驱动器上进行快速同步,比起你等待目前的数据,会花费更多时间。尽管你确实等待了,硬盘驱动器也不能跟上主网转账处理的读写需求。

但是,你应该能够使用硬盘驱动器在轻客户端使用,因为会最小化对系统资源的影响。如果你想要运行全节点,那么固态硬盘就是唯一的选择。

上一篇: 脑洞:探索开放式金融世界的「可寻性」
下一篇: 比特币作为一种新型的社会经济制度,它存在致命性 Bug 吗?
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥264,810.46
37,103.37 USDT
+0.1%
ETH以太坊
¥14,413.37
2,019.50 USDT
0%
USDT泰达币
¥7.20
1.01 USDT
0%
BNB币安币
¥1,629.54
228.32 USDT
+0.63%
XRP瑞波币
¥4.32
0.60480 USDT
+0.45%
USDC
¥7.14
1.00 USDT
+0.04%
SOLSolana
¥400.45
56.11 USDT
+1.59%
OKBOK币
¥399.37
55.96 USDT
-1.23%
ADA艾达币
¥2.67
0.37480 USDT
-1.32%
DOGE狗狗币
¥0.55330
0.07753 USDT
-1.01%
热搜币种
更多
币种
价格
24H涨跌幅
Terra Classic
¥0.00
9.481E-5 USDT
-18.15%
Gala
¥0.18
0.025383 USDT
-4.86%
dYdX
¥22.63
3.1984 USDT
-0.73%
比特股
¥0.05
0.006569 USDT
-1.93%
PancakeSwap
¥15.60
2.2054 USDT
-2.16%
Conflux
¥1.08
0.1531 USDT
-2.36%
Filecoin
¥31.55
4.4597 USDT
-0.5%
FTX Token
¥29.65
4.1911 USDT
+15.24%
Yield Guild Games
¥2.56
0.3615 USDT
-0.55%
Shiba Inu
¥0.00
8.15E-6 USDT
-2.16%
比特币
¥262,467.38
37103.37 USDT
+0.1%
比原链
¥0.07
0.010022 USDT
-4.68%
最新快讯
更多
汇款公司Kalyssi旗下钱包已集成AlchemyPay法币出入金解决方案
2023-11-28 19:26:47
汇丰、恒生、渣打、富邦华一四家外资银行入围首批“数字人民币”业务试点名单
2023-11-28 19:06:57
摩根大通和Apollo计划建立代币化“企业主网”
2023-11-28 19:03:57
Nansen2公测版本上线,新增链上数据异动、智能搜索等功能
2023-11-28 18:59:52
西班牙公民需在明年3月底前申报其海外平台上加密货币持仓
2023-11-28 18:53:43
Nansen2已公开测试
2023-11-28 18:53:38
dYdX基金会:主网启动以来超过1645万DYDX被质押
2023-11-28 18:52:07
下载币界网APP