LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 新手一起学习区块链(十八)——比特币挖矿机的进化史

新手一起学习区块链(十八)——比特币挖矿机的进化史

2020-04-26 风轻云淡A 来源:区块链网络

2009年1月3日,比特币创始人中本聪用电脑CPU挖出了第一批比特币。2010年9月18日第一个显卡挖矿软件发布。一张显卡相当于几十个CPU,挖矿能力得到明显提升。目前行业领先的蚂蚁矿机装有将近200张BM1387芯片,相当于3万多张GPU的算力。

1.CPU挖矿:

第一代挖矿是在普通电脑上完成的,也就是用通用中央处理器CPU来运算。

CPU挖矿,即利用RPC接口setgenerate控制挖矿。控制台输入setgenerate true 2,即开始挖矿,后边的数字表示代表的挖矿线程数,当然前提先完成同步数据。

由于单CPU运算SHA256D算力约为2 MH/S,因此nNonce提供的4字节搜索空间完全够用,即支持4G种取值。

GPU运算SHA256D算力约为200M-1G,nNonce提供4G搜索空间,如果仅调整nNonce取值,可以支持4秒左右。因此可以调整nTime,每调整一次nTime,可以继续挖矿4秒。

GPU挖矿使用GETWORK协议,即挖矿程序和节点分离,也即挖矿部件与区块链数据分离。GPU挖矿时代,使用GETWORK协议,使得挖矿程序与节点交互。核心思路为:节点构造区块,将区块头数据交给挖矿程序,挖矿程序遍历nNonce进行挖矿。验证合格交付给节点,节点提取nNonce和nTime验证区块,如果符合要求即向全网广播。遍历结束将调用GETWORK,节点构造新区块,然后重复上述过程。

GPU经典挖矿驱动为cgminer,源码为https://github.com/ckolivas/cgminer。

GPU挖矿缺陷:GETWORK协议给挖矿程序提供的搜索空间为4G,结束后需再次调用GETWORK RPC接口。矿机出现后,矿机算力已达10 TH/S,继续使用GETWORK协议将频繁调用RPC接口,显然不太合适。因此需转向更高效的getblocktemplate协议。

2.GPU挖矿

第二代矿工发现CPU已经无利可图时,就使用起了GPU。GPU的好处是有着高吞吐量和高并行处理功能,这两点对比特币挖矿都十分有利。比特币挖矿可以进行大量的并行计算,因为你可以同时用不同的临时随机数计算多个哈希值。

而且,GPU都可以超频,这意味着如果你愿意承担显卡过热或者故障风险的话,可以让显卡以高频率更快地进行。超频的好处是可以更快地计算,但是也会引发一些运算错误

一个高端的GPU超频之后可以达到200MH/s,也就是每秒2亿次哈希运算。这是CPU不可能达到的量级。但是以现在的难度,就算把100块显卡放在一起,也需要几千年的时间才能挖出来。

GPU挖矿也有缺点。GPU有大量的内置硬件来进行图像处理,这对比特币挖矿毫无用处,而且GPU没有很好地冷却处理设置,并且非常耗电。

3.专业矿机挖矿

IPFS矿机

IPFS类似于http,是一种文件传输协议。IPFS要想运行,需要网络中有许许多多的计算机(存储设备)作为节点,广义的说所有参与的计算机,都可以称作IPFS矿机。而IPFS网络为了吸引更多的用户加入成为节点,为网络做贡献,设计了一种名叫filecoin的加密货币,根据贡献存储空间与带宽的多少,派发给参与者(节点)作为奖励。狭义的说,专门以获取filecoin奖励为目的而设计的计算机,称为IPFS矿机。由于IPFS网络需要的是存储空间以及网络带宽,所以为了获得最高的收益比,IPFS矿机通常会强化存储空间、降低整机功耗等方面。比如装备10块以上大容量硬盘,配备千兆或更高速度的网卡,使用超低功耗的架构处理器等等

FPGA矿机

FPGA矿机,既使用FPGA芯片作为算力核心的矿机。FPGA矿机是早期矿机之一,首次出现在2011年末,在当时一度被看好,但活跃期并不长,后逐渐被ASIC矿机与GPU矿机取代。FPGA(Field-Programmable Gate Array),中文名叫现场可编程门阵列。比较通俗的理解是,FPGA就是把一大堆逻辑器件(比如与门、非门、或门、选择器)封装在一个盒子里,盒子里的逻辑元件如何连接,全部由使用者(编写程序)来决定

如果FPGA里面写的是挖矿程序,那么造出来的就是FPGA矿机,而且由于FPGA灵活度高,所以不只是可以支持比特币的SHA256算法,也可以支持GPU矿机擅长的Scrypt算法。

4.矿池挖矿。

是一个全自动的挖矿平台,使得矿工们能够贡献各自的算力一起挖矿以创建区块,获得区块奖励,并根据算力贡献比例分配利润(即矿机接入矿池—提供算力—获得收益)。

目前主要有两种数字货币矿池,一种是Pow(工作量证明),例如BTC,一种是Pos(权益证明),例如IOST,前者的矿池就是集合一堆算力,让矿工一起来挖矿以获取出块奖励,后者像IOST的矿池就是只要用户持有IOST就会获得收益(isot),要么自己申请成为节点,要么把币放到节点账户里就有投票权,就会获得投票奖励和出块奖励,BTC比较出名的有蚂蚁矿池(背后是矿机第一生产商比特大陆),鱼池(f2pool),IOST比较出名的OnBlock矿池(IOST投资的矿池onblock.me/pool)

今天的学习就到这里,谢谢你的阅读与支持!

—-

编译者/作者:风轻云淡A

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...