ETH 挖矿算法

  • 时间:
  • 浏览:120
  • 来源:区块链技术网

ETH 挖矿算法

设计目标

中本聪在比特币白皮书中指出区块链的目标是one cpu,one vote, 然而比特币的设计不足导致,简单重复的hash计算挖矿,导致出现了大量的集中矿池采用ASIC矿机,占用了大部分的算力,这与比特币的设计初衷和区块链的去中心化理念背道而驰,因此为了防止出现比特币的ASIC专业矿机,ETH挖矿算法 在设计之初就主要考虑考虑增加内存的需求,而专业矿机在内存上的差距并不大,因此对内存的提升能够有效的避免矿机的出现,于此同时,以太坊也一直考虑采用PoS(proof of stake)权益证明避免算力的集中。

莱特币

早起莱特币也考虑了该问题,莱特币提出的解决方案为memory hard,增加对内存的需求,需要存储一个128K(由于对于轻节点来说不够友好,轻节点挖矿本身就不能够存储过大,因此该内存需求又不能够太大,所以只设计了128K)的随机字段的数组来计算nonce

由于设计问题,内存需求较小,且同时通过time memory trade off 来节省一半的内存),所以并没有解决实际问题,但是他的思想理念和早期的宣传还是带来了很大的影响,使得莱特币至今仍流行,莱特币的出块间隔为2分半。

以太坊解决方案

以太坊的提出的设计算法为ethash,是指通过设置一大一小的数据集,初始时,其中小的为16M的cache用于验证,轻节点只需要保存这个cache即可对区块的合法性进行验证,大的是通过cache计算生成的1G的dataset,该dataset用于计算nonce,也就是挖矿,只有矿工全节点需要保存该节点,同时这两个数据集都会定期增长来增加对内存的需求。下面是挖矿的整个过程

cache: 从Seed 计算出第一个数值,然后依次计算哈希填充第二个数,然后依次填充

dataset:从cache的尾随机数进行生成 lastModify=1656662157)nonce计算:从dataset中读取两个相邻的数,与难度计算得到target范围内的数,下面是挖矿代码

全部代码

同时以太坊也提出了pre-mining 和pre-sale来提前集资为开发工作提供资金

猜你喜欢

欧洲执委会敦促欧盟成员国为停止加密资产挖矿做好准备

欧洲执委会(EuropeanCommission)在周二(18日)发布的「欧盟能源系统数字化行动计划」(Digitalisingtheenergysystem–EUaction

2023-01-25

什么是加密货币挖矿(Crypto Mining)?新手挖矿前需要知道的几件事

在2022年,不可避免地会经常听到关于加密货币的消息。为了帮助你了解加密货币如何运作,本篇文章整理了关于加密货币挖矿的基本资讯,包括其定义、相关技术、合法性以及利弊。什么是加密

2023-01-25

什么是挖矿?新手挖矿和买币,哪个更赚钱?

自从第一枚比特币由中本聪创造起,加密货币成为最热门的投资商品之一。投资人想加入币圈赚钱,究竟该直接购买加密货币,还是参与到加密货币的开发过程——挖矿更赚钱?什么是挖矿?挖矿和买

2023-01-25

比特币挖矿教学:比特币怎么挖?挖矿机是什么?

当提到加密货币或虚拟货币时,很多人第一时间会想到比特币(BTC)。那么,什么是比特币?为什么比特币需要挖矿?又要如何挖比特币呢?本文将带你详细了解什么是比特币挖矿以及挖掘比特币

2023-01-25

北美最大比特币挖矿公司Core Scientific面临破产,单日跌超75%

美国比特币挖矿与设备上市公司CoreScientific于10/27揭露其现金将在今年底或更早用光,可能寻求破产;当天开盘股价跌超75%,从上市以来,已经跌落97%。短暂见证牛

2023-01-25