以太坊挖矿的原理究竟是什么?

2025-07-29 03:06:07
人气 48

以太坊的共识机制是 PoW(Proof of Work 工作量证明机制),使用的算法是Ethash,这种算法是对 Dagger-Hashimoto算法的改良版本,流程大概如下

以太坊挖矿的原理究竟是什么?

1.对于每一个块,首先计算一个种子(seed),该种子只和当前块的信息有关;然后根据种子生成一个32M的随机数据集(cache)

2. 根据Cache生成一个1GB大小的数据集合DAG(有向非循环图),它是一个完整的搜索空间,挖矿的过程就是从DAG中随机选择元素(类似于比特币挖矿中查找合适Nonce)再进行哈希运算,可以从Cache快速计算DAG指定位置的元素,进而哈希验证

要求对Cache和DAG进行周期性更新,每1000个块更新一次,并且规定DAG的大小随着时间推移线性增长,从1G开始,每年大约增长7G左右。

为了更好的了解这部分。我们可以简单的看下 go-ethereum 的代码

1. 在 miner.go里调用 New方法生成一个矿工。

1234567891011121314151617 /**利用区块链创建时候的一些配置,以及共识引擎consensus.Engine等参数先是生成一个矿工,然后让矿工注册一个cpu运算引擎,同时通过 update 来监听同步状态并更新挖矿状态**/funcNew(eth Backend, config *params.ChainConfig, mux *event.TypeMux, engine consensus.Engine) *Miner {miner := &Miner{eth: eth,mux: mux,engine: engine,worker: newWorker(config, engine, common.Address{}, eth, mux),canStart: 1,}miner.Register(NewCpuAgent(eth.BlockChain(), engine))gominer.update()returnminer}

在update方法里有一个需要注意:

1
声明:文章不代表塔岸网观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!转载请注明出处!侵权必究!
币圈快讯
2025-07-08 10:29:39
上市公司LionGroup宣布其加密货币总持有量已增至700万美元
2025-07-08 10:23:45
Aptos网络RWATVL近30天增长至5.38亿美元,成为第三大RWA网络
2025-07-08 10:14:21
沉睡3年的远古OG地址今日苏醒,从CEX提出610.97枚ETH并转入质押
2025-07-08 10:08:45
贝莱德BUIDL基金深度拆解,如何影响RWA格局
2025-07-08 09:53:30
美国现货比特币ETF昨日净流入2.1629亿美元
2025-07-08 09:47:46
上市公司BioSig与Streamex合并拟融资11亿美元支持RWA代币化,CantorFitzgerald牵头配售代理
查看更多
回顶部