以太坊挖矿的原理究竟是什么?
2024-08-20 01:22 loading...
以太坊的共识机制是 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 来监听同步状态并更新挖矿状态 **/ func New(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)) go miner.update() return miner } |
在update方法里有一个需要注意:
1 |
声明:文章不代表币圈网观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!转载请注明出处!侵权必究!
相关阅读
-
比特币大崩盘!马斯克一句话引发数字货币暴跌!以太坊却一枝独秀WEB3.0 2025-06-02 12:01
-
Ripple获迪拜DFSA监管批准、开拓中东市场!成当地首家获批的区块链支付商竞争币资讯 2025-03-13 21:39
-
投资币安20亿美元的MGX是什么来头?雄厚背景惹人注目名家专栏 2025-03-13 18:49
-
以太坊24小时收入跌出前20!分析师:ETH正重新定价为gas费代币竞争币资讯 2025-03-13 18:40
-
3Jane Protocol通过基于信用的借贷机制!提供即时的USDC信用额度竞争币资讯 2025-03-12 18:40
-
Bitwise推出比特币概念ETF!追踪持有1000枚及以上BTC的上市公司比特币资讯 2025-03-12 12:36
-
英国表态不跟进美国的比特币战略储备!英国持有逾6万枚BTC比特币资讯 2025-03-11 16:36
-
泰国批准稳定币USDT交易 成为境内被认可的加密货法规 2025-03-11 14:44
-
传川普拟签署行政命令:终结拜登的加密货币去银行化行动法规 2025-03-11 14:43
-
马斯克旗下AI产品Grok参与DebtReliefBot发币!Meme币DRB价格一度飙涨965%竞争币资讯 2025-03-10 18:40