当前位置: > 快讯 > 正文

以太币的挖矿机制全解析|以太坊挖矿机制

随着以太坊正式运行的临近,询问以太如何挖矿的朋友也越来越多。这篇文章综合了我们目前所知道的信息,希望能对大家有一些帮助。由于挖矿算法的设计和改进仍在进行中,以下信息仅供参考。

设计目标

抵抗矿机(ASIC Resistance)。使用专门优化的芯片产生的挖矿优势应该尽可能的小,小到即使使用普通CPU挖矿也能产生收益。

轻客户端可验证。轻客户端应该有能力验证每一个块的真实性。目标是在普通桌面电脑上运行用C实现的验证算法,验证时间小于0.01秒,用Python或者Javascript小于0.1秒,使用内存不超过1MB。

挖矿算法

以太币(ether)的挖矿算法叫做Ethash, 又名Dashimoto (Dagger-Hashimoto),是Hashimoto算法结合Dagger之后产成的一个变种。它的特点是挖矿的效率基本与CPU无关,却和内存大小和内存带宽正相关。对内存大小和带宽的要求意味着那些通过共享内存的方式大规模部署的矿机芯片并不能在挖矿效率上有线性或者超线性(super-linear)的增长。

接下来让我们看看Dashimoto的基本流程:

对于每一个块(block),先计算出一个种子(seed)。种子的计算只依赖于当前块的信息,例如block number以及block headers。

使用种子产生32MB的伪随机数据集,称为cache。轻客户端需要保存cache。

基于cache再生成一个1GB大小的数据集,称为the DAG。这个数据集中的每一个元素都只依赖cache中的某几个元素,换句话说,只要有cache就可以快速计算出DAG中指定位置的元素。完整的可挖矿的客户端需要保存DAG。

挖矿可以概括为从DAG中随机选择元素然后对其进行hash的过程。验证的过程也是一样,只不过不是从DAG里面选择元素,而是基于cache计算得到指定位置的元素,然后验证这个元素集合的hash结果小于某个值。由于cache很小, 而且指定位置的DAG元素很容易计算,因此验证过程只需要普通CPU和普通内存即可完成。

cache和DAG每一个周期更新一次,一个周期的长度是1000个块。也就是说这1000个块产生的cache和DAG是完全一样的,因此挖矿的主要工作在于从DAG中读取数据,而不是更新cache和DAG。DAG的大小随时间的推移线性增长,从1GB开始,每年增加大约7GB – 因此到2015年12月大约是8GB, 到2016年12月大约15GB。

注:以上步骤中的数字已经随着开发的推进有了调整,准确值请参考源代码。

挖矿软件

我们预计在上线之时将有至少两种挖矿方式:

使用Mist客户端(官方客户端实现,基于Go语言)进行CPU挖矿。

通过以太坊守护进程(eth daemon)和sgminer的组合进行GPU挖矿。守护进程和sgminer之前的数据通讯可以通过JSON-RPC API完成。目前有两个API和挖矿有关:eth_getWork以及eth_submitWork。

一文了解以太坊矿机及挖矿原理

在以前的文章中,我们分别了解了比特币挖矿和以太坊挖矿的区别。本文重点介绍以太坊挖矿及矿机部分。 以太坊是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币ETH提供去中心化的以太虚拟机来处理点对点合约。目前ETH的挖矿主要是通过显卡矿机,所谓显卡矿机,其实就改芹是类似家用台式机,只不过每台机器里面有6-10张显卡,并且没有显示器(如图)。图:显卡矿核拆毕机 之所以以太坊没有发展出类似于BTC一样的ASIC矿机,主要是由于ETH的特殊挖矿机制决定的。在ETH挖矿过程中,会产生一个DAG文件,该文件需要一直被调用,因此必须有专门的存储空间放置。这个对于存储空间的硬性需求会导致即使生产出来了ASIC芯片,也并不能大幅度降低单位算力的成本。简单来说,就是性价比很差。以太坊的DAG大小自2016年6月份引入Dagger-Hashimoto 算法时的1GB开始,以每年约520MB的速度增大到了现在的 3.7G,预计2020年底以太坊的DAG大小将增加至4G。届时,显存小于4G的显卡都将被陆续淘汰。还需要介绍一点的是,由于显卡矿机的体积通常是比特币矿机的2-4倍,而消耗的电力却只有比特币矿机的1/2甚至更低,这就导致一般人不愿意修建专门的显卡矿机矿场(因为矿场主要赚取的是电费差价,同样面积的场地,可以放置的显卡数量少,消耗的电量更少)。即使有御老少量的显卡矿场,收取的电费成本通常也比比特币矿机矿场的高。

比特币、以太坊与IPFS挖矿的区别?

数字货币是怎么产生的,我们都知道是通过挖矿产生,那挖矿到底是怎么挖呢?不同数字货币挖矿有什么区别呢?本文就最近比较火热的IPFS与BTC/ETH挖矿进行一个简单的对比。1、挖矿原理不同:PoW,全称Proof ofWork,即工作量证明。比特币/以太坊,以及大部分公有链或虚拟货币,都是基于PoW算纯做法,来实现其共识机制的。即根据挖矿贡献的有效工作,来决定货币的分配。此原理下的所谓挖矿,就是计算机通过穷举的办法,不断去找Nonce值、算Hash值的过程。谁先找到,谁就挖成功了。PoW工作量证明,是从经济学中来的方法。是1993年由两个经济学家提出来的一种策略,就是防止对服务滥用或者资源滥用,而采取孙裤运的一种有效阻断的经济策略。PoW,优势是可靠、使用广泛,是经历了充分的实践检验的公有链共识算法。但其缺点也较则梁为明显:①消耗了太多额外算力,即大量能源,很不环保。②资本大量投资矿机,导致算力中心化,有51%攻击的安全隐患。2、矿机本质不同:BTC/ETH们矿机的本质是数据计算设备。挖矿从最初的个人电脑挖矿、显卡挖矿、个人用矿机在家里挖矿,已经发展到现在集群化、专业化的大规模挖矿。不管从初期的CPU挖矿、GPU挖矿,还是到后来的FPGA挖矿、ASIC挖矿、大规模集群挖矿,其实质都是集中提升挖矿设备数据计算能力的挖矿,IPFS矿机的本质是数据存储设备。3、矿场选择不同:BTC/ETH矿场:因为要耗费大量的电力资源,能提供低廉价格电能的地方是 首选。我们国内的此类矿场都选择部署在内蒙古、西南各省等相对偏远的地方,因为这里有丰富的火电、风电或者水电资源。矿场内部要求也相对简单,只要通风散热效果好,摆放矿机的架子不需要太专业的设备,矿场地板天花板也没有特殊的要求。矿场对分散度要求不高,所以,这类矿场也相对集中。温馨提示:以上内容仅供参考,不做任何投资建议。应答时间:2021-10-28,最新业务变化请以平安银行官网公布为准。

货币挖矿到底挖的是什么

说到挖矿,很多人的第一反应是去矿井做旷工,其实在虚拟货币的获取方式上与现圆陆实中的挖矿十分相似,于是币圈挖矿和矿工等名词最常见不过了。1.比特币网络通过“挖矿”来生成新的比特币。所谓“挖矿”实质上是用计算机解决一项复杂的数学问题,来保证比特币网络分布式记账系统的一致性。2.比特币网络会自动调整数学问题的难度,让整个网络约每10分钟得到一个合格答案。随后比特币网络会新生成一定量的比特币作为赏金,奖励获得答案的人。简单来讲挖矿指的是矿工将交易记录打包纳入区块链并获得系统奖励和交易费用的行为,比特币系统中交易费不是必需的,而在以太坊中交易费用是必需的。3.从表面来看,矿工之所以获得系统奖励的虚拟货币是源于区块链系统的底层协议和运行规则的规定:一旦成功“挖矿”,系统自动生成一定数量的虚拟货币并记录到矿工控制的地址下,也就是说“挖”到的是虚拟货币。4.在币圈比特币可以说是无人不知,比特币的挖矿,是用包含前一个区块的hash值(类似乱七八糟的这样的一串数据代码)、随机数、以及一些其他数据进行计算,得到另外一个hash值,如果得到的hash值比用难度值确定的一姿磨个hash值小,就算是挖到了矿。拓展资料:从算法上迹腔斗看,币圈挖的是也就是计算出来的一串数字,这里只是拿比特币做了说明,其他的币可能有着不同的算法,但本质是相同。正因如此有人说挖比特币是在解数学难题,且比特币挖矿会随着时间的推移,越来越难挖到。因为比特币的算法里,有一个动态调整的难度值,这个难度值会随着时间的推移,不断的增大,以保证比特币越来越难挖到。

发表评论

  • 人参与,条评论

热门阅读

最新文章

取消
扫码支持 支付码