以太坊,作为全球第二大加密货币平台,其背后的挖矿机制曾是支撑其网络运行和产生新代币的核心动力,尽管以太坊已通过“合并”(The Merge)从工作量证明(PoW)转向权益证明(PoS),但理解其原有的挖矿架构对于掌握区块链技术的发展脉络、历史遗留问题以及许多仍在运行的PoW链(如以太坊经典ETC)仍然具有重要意义,本文将以图文并茂的方式,为您详细解析以太坊挖矿的完整架构。
在深入架构之前,我们先简要回顾以太坊PoW挖矿的核心原理:

以太坊挖矿架构并非单一程序,而是一个由多个组件协同工作的复杂系统,我们可以将其分解为以下几个核心部分:
矿工节点是矿工参与挖矿的基础设施,它运行以太坊客户端软件(如Geth、OpenEthereum等),并负责以下功能:
图解示意:

---------------------
| 以太坊网络 |
| (Transactions) |
--------- ----------
|
v
--------- ----------
| 矿工节点 |
| (Geth/OpenEthereum)|
| - 同步区块链 |
| - 维护交易池 |
| - 构建候选区块头 |
--------- ----------
|
v
--------- ----------
| 挖矿程序接口 |
| (Mining Engine) |
-------------------
挖矿引擎是挖矿的核心“计算器”,它接收来自矿工节点的候选区块头数据,然后执行以下操作:
图解示意:
---------------------
| 挖矿引擎 |
| (如Ethminer, CGMiner)|
| |
| ----------------- |
| | 区块头数据 ||
| ----------------- |
| | |
| v |
| ----------------- |
| | 尝试Nonce (n) ||
| ----------------- |
| | |
| v |
| ----------------- |
| | Keccak-256哈希 ||
| ----------------- |
| | |
| v |
| ----------------- |
| | 比较目标难度 ||
| | < ? ||
| ----------------- |
| | |
| 是 / \ 否 |
| v v |
| ----------------- |
| | 返回有效Nonce ||<---
| ----------------- | |
| | |
--------------------- |
|
--------------------- |
| 矿工节点 | |
| (组装完整区块) | |
--------------------- |
|
--------------------- |
| 以太坊网络 | |
| (广播新区块) |----
---------------------
由于单个矿工独立挖矿的难度极高,出块概率极低,矿池应运而生,矿池是许多矿工联合起来共同挖矿的组织。

图解示意:
--------------------- --------------------- ---------------------
| 矿工A | | 矿池服务器 | | 矿工B |
| (本地挖矿) | | (Stratum Server) | | (本地挖矿) |
| - 接收份额任务 |<--->| - 分配份额任务 |<--->| - 接收份额任务 |
| - 计算并提交份额 | | - 接收矿工份额 | | - 计算并提交份额 |
| - 获得份额奖励 | | - 验证份额 | | - 获得份额奖励 |
--------------------- | - 统计贡献度 | ---------------------
| - 发现区块后分配奖励 |
---------------------
|
v
---------------------
| 以太坊网络 |
| (矿池广播区块) |
---------------------
高效的挖矿需要专门的硬件:
图解示意:
---------------------
| 矿机硬件 |
| |
| ------- ------- |
| | GPU 1 || | GPU 2 || ... (多张显卡并行计算)
| ------- ------- |
| \ / |
| \ / |
| ------- |
| | 内存 | | (加载DAG数据)
| ------- |
| |
| ------- |
| | 电源 | | (提供稳定电力)
| ------- |
---------------------
矿池与矿工之间通过特定的协议进行通信,最常用的是Stratum协议。