在探讨加密货币的技术细节时,一个常见的问题是:“运行以太坊算法需要多大的内存(通常我们所说的‘G’,即GB)?” 这个问题的答案并非一个简单的数字,因为它深刻地揭示了以太坊发展史上最重要的两次变革:从“工作量证明”(Proof of Work, PoW)时代到“权益证明”(Proof of Stake, PoS)时代的彻底转型。

答案是:

  • 在过去的PoW时代: 运行以太坊“挖矿”算法(Ethash)对内存的要求极高,且不断增长,这是其设计的核心目的之一。
  • 在现在的PoS时代: 运行以太坊“验证”算法对内存的要求极低,几乎可以忽略不计。

下面,我们将深入探讨这两个时代的内存需求差异及其背后的原因。

回顾PoW时代:内存硬化的“军备竞赛”

在2022年9月“合并”(The Merge)事件之前,以太坊采用的是工作量证明共识机制,在这个体系中,矿工们通过解决复杂的数学难题来竞争记账权,这个过程被称为“挖矿”,而他们所使用的算法,就是Ethash

Ethash算法的核心设计理念是“内存硬化”(Memory Hardness)。

什么是内存硬化? 内存硬化是一种旨在将挖矿的计算能力与内存容量和带宽紧密绑定的技术,其目标是让那些拥有大量、高速内存的专业设备(如GPU显卡)在挖矿中占据优势,而那些拥有强大计算能力但内存有限的设备(如传统CPU或ASIC矿机)则难以匹敌。

为什么需要内存硬化? 这主要是为了抵抗ASIC(专用集成电路)矿机的入侵,在比特币等早期加密货币中,矿工们开始使用专门为挖矿而设计的ASIC芯片,这些芯片的算力远超普通电脑,导致普通用户用个人电脑挖矿变得毫无利润可言,网络中心化风险加剧,以太坊的创始人Vitalik Buterin等人希望通过内存硬化,将挖矿的主场拉回到通用硬件(如GPU)上,保持网络的去中心化特性。

Ethash对内存的具体要求:动态增长的DAG Ethash算法的核心是一个巨大的、被称为“DAG”(有向无环图,Directed Acyclic Graph)的数据集,这个DAG不是固定不变的,而是与每个以太坊区块号相关联,并随着时间推移而增长。

  • DAG的大小增长规律: DAG的大小大约每30万个区块(约12-15个月)增加一次,每次增长,其大小会增加约几GB。
  • 初始大小与当前大小:
    • 在以太坊创世时(2015年),DAG的大小约为几GB。
    • 到合并发生时(2022年9月),DAG的大小已经增长到了约5 GB

这意味着,在PoW末期,想要成为一个有效的以太坊矿工,你的显卡必须至少配备74GB的显存(VRAM)来装载这个庞大的DAG文件。 这也是为什么后期高端的NVIDIA RTX 3090/4090(拥有24GB/24GB显存)和AMD的某些专业卡(拥有48GB/64GB/128GB显存)成为主流矿机的原因,内存容量直接决定了你是否能参与挖矿,这完美实现了“内存硬化”的设计初衷。

迺入PoS时代:轻量级的验证者

2022年9月15日,以太坊完成了从PoW到PoS的历史性转型,在这个新的共识机制下,不再有“矿工”和“挖矿”的概念,取而代之的是验证者(Validator)

验证者的工作是什么? 验证者的职责不是通过暴力计算来争夺记账权,而是通过质押至少32个ETH,来对网络中的交易和区块进行验证,并维护链的安全,作为回报,他们可以获得新发行的ETH作为奖励。

PoS算法对内存的需求:几乎为零 与PoW时代需要处理庞大的DAG文件不同,PoS的验证过程对硬件的要求要低得多,验证者需要:

  1. 质押32个ETH: 这是参与的基本门槛。
  2. 运行客户端软件: 如Prysm, Lodestar, Lodestar等。
  3. 保持网络连接: 需要一个稳定、在线的节点。

内存消耗方面: 一个典型的以太坊验证者节点,其内存消耗通常在4GB到8GB随机配图