首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载EVM时的磁盘大小

加载EVM时的磁盘大小
EN

Ethereum用户
提问于 2023-03-08 20:32:17
回答 1查看 38关注 0票数 0

据我所知,依定义,Ethereum的块历史表示状态机的状态。然而,在所有的块中,块存储被创建并随后被销毁。

我假设验证器节点在应用链中定义的所有操作之后,在内存中表示状态机,然后将下一个块应用到(即。每次创建新块时,节点都不会应用链中从成因到当前块的所有操作)。

  1. 这一过程是如何进行的,
  2. 内存中的表示法有多大?(不是分类账大小)。
EN

回答 1

Ethereum用户

回答已采纳

发布于 2023-03-09 03:30:02

这里是钱斯塔克的开发者代言人。

在Ethereum上进行验证需要两个客户端--协商一致客户端和执行客户端--才能协同工作。

简单地说:

  • 执行客户端执行计算量提升--它将所有状态数据保存在Ethereum上,生成/执行新块,验证事务,等等。
  • 协商一致客户端管理验证计划。它监视网络中验证器的数量,并从其他验证器接收新的块。

回答你的第一个问题:>这个过程是如何发生的?

当节点验证协商一致块时,其一致性客户端处理该块并向执行客户端发送执行有效负载,执行客户端:

  1. 在执行层上组装一个块。
  2. 验证预条件。
  3. 执行事务。
  4. 验证后置条件。
  5. 将有效性结果发回协商一致的客户端。
  6. 如果块有效,则执行客户端将其包含在执行链中,并将新状态存储在执行状态存储中。

来源

关于你的第二个问题:内存中的表示有多大?

要运行states节点,您不需要所有的历史状态数据,您只需要当前状态的快照。但即便如此,也需要1TB以上的数据。此数据存储在本地DB中。

盖斯为例,在编写本报告时,要运行完整的Geth节点+协商一致客户端,您需要:

  1. 16 RAM
  2. 2 2TB
  3. 四核(或双核超线程) CPU

来源

这是一个包含最近128个块的完整节点。

还有其他类型的节点具有不同的存储需求。例如,存档节点--一个保存所有历史状态的节点--需要12 TB的磁盘空间。但是,既然您询问的是验证器节点,那么完整的节点就足够了。

如果您有兴趣了解更多,我们有一个技术博客文章EVM节点:深入研究完整节点与存档节点,这可能是有帮助的。

编码愉快。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/147102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档