引言
近期笔者对数字货币的挖矿比较感兴趣,根据这段时间学习的内容,整理了本篇文章,算是一个梳理。
一。 为什么需要挖矿
首先解释一下什么叫做挖矿。
以数字货币中的比特币为例,挖矿就是打包比特币的交易,获得矿工费的过程。
用四个字来描述:记账和收钱。
因为在数字货币的交易中,各个用户的交易都需要在一个公共账本上记账,因此就需要有人来完成这个记账的过程。
完成记账的人就叫做矿工,首先完成记账的矿工就会有数字代币的奖励。
正是由于有了经济利益的刺激,挖矿已成为数字货币中的一个行业。
按照数字货币中共识算法分类,共识算法分为POW和POS。
POW:全称Proof of Work,工作证明。你获得多少数字代币,取决于你对挖矿做出的贡献。
POS:全称Proof of Stake,股权证明。简单来说,就是一个根据你持有货币的量和时间,给你发利息的一个制度。
用通俗的话说,POW就是谁劲大听谁的,POS就是谁有钱听谁的。
本文当中挖矿主要是针对POW,现在市值排行前两名的比特币和以太坊都是属于POW。
二。 矿机的发展历程
由于挖矿是一件有利可图的事情,所以挖矿所用的矿机也经历了一番演进。
最早是CPU挖,后来有人用GPU挖,再后来有人用FPGA(现场可编程门阵列)挖,矿机的最终形态就是用ASIC(专用集成电路)挖。
有人把矿机的发展历程做了一个简单的总结,CPU→GPU→FPGA→ASIC,越靠近左侧就越灵活,但效率越低;越靠近右侧就越专用,但效率要高很多。
所以针对BTC和LTC等市值很高的币种,早就出现了以比特大陆为首的矿机厂商推出了专用的挖矿芯片,垄断了BTC和LTC的挖矿产业。
最终BTC和LTC等挖矿就变成了一个资本比拼的市场,只有有钱可以买到足够多的矿机。只要矿机挖矿所得的收益能够支撑电费和矿机的维护成本,这就是一件可以赚钱的事情。就可以不停的加大投入。
所以在牛市的时候现货矿机的价格居高不下,一机难求。
三。 为什么要抗ASIC
随着越来越多数字货币的发行,很多币种都逐步提出一个口号,叫做抗ASIC。
表面上的理由很简单:由于数字货币一个很重要的特点就是去中心化,而ASIC矿机的出现恰恰打破了这个趋势,造成了算力的垄断。
有人做过统计,比特大陆控制的BTC矿池(下图中用红框标识)已占到了全网算力的40%以上,虽然没有到达传说中的51%(绝对多数),但实际上已经形成了垄断。
但是抗ASIC真的可以去除中心化的影响吗?往深一层想,即使没有ASIC,只要挖矿是一件有利可图的事情,就会吸引过来资本,大规模的采购矿机从中盈利,从而造成资源的集中。所以抗ASIC无法做到去中心化,二八现象肯定是存在的。
那么既然如此,抗ASIC的目的到底是什么?
后来笔者才明白,抗ASIC的本质实际上是开发者与矿工关于话语权的博弈。
本来开发者是数字货币中无可争议的老大,代码是我写的,其他人当然要听我的。但是随着矿工实力的增强,如果后续数字货币的发展路线没有得到矿工群体的认可,矿工可以用不运行新版本的代码来进行抵制。
最坏后果就是出现了硬分叉,花开两朵,各表一枝。你走你的阳关道,我走我的独木桥。
历史上以比特大陆为首的BCH就是这么从BTC里面硬分叉出来的。
四。 抗ASIC的方法
那现在到底有哪些常用的抗ASIC的方法呢?据观察,现在至少有两种方式:大内存和定期修改算法。
方法1:大内存
用大内存是一个抵抗ASIC比较通用的方法。下面分别举ETH和GRIN的例子。
ETH
以ETH为例,ETH在挖矿时必须产生一个64M的数据块,而在挖矿过程中需要随机使用这个大数据块的某几个字节,所以即使你芯片运算的再快也没有用,它需要用某些数据做计算。
记得看过一个数据,在GPU矿机运行ETH的挖矿算法时,其GPU利用率为60%多,而显存的占用率接近了90%。
所以即使比特大陆研究出了针对ETH的ASIC矿机,也没有给ETH的挖矿生态带来致命的打击,有两点原因:一是矿机在运行过程中需要频繁的读写内存,造成了效率不高;其次是ASIC矿机配置的大容量的内存芯片,也大幅拉高了整机的成本。
GRIN
GRIN是刚推出不久的一款匿名币,号称是比特币的接班人,在一个月前刚刚上线时,吸引了很多人的眼球。
Grin 独创性的提出了双POW算法:
1. 面向GPU的CuckARoo算法,需要 6GB+ 的内存,初期挖出 90% 块
2. 面向CPU的 CuckAToo算法,需要 11GB+ 的内存,初期挖出 10% 的块
按照这个要求,初期GRIN要求矿机必须具备6GB以上的大内存才可以挖矿,而这个要求是明显有利于显卡挖矿的。
方法2:更新算法
上面举的例子包括ETH和GRIN都是在算法设计之初就考虑了抗ASIC,但是很多币种在最初没有这方面的考虑,那么该怎么办呢?
以门罗币为例,它的算力很大一部分都被ASIC和FPGA把控,于是门罗币想出来一招:更新算法。
大概的频率是半年更新一次算法,这让拥有ASIC和FPGA矿机的矿工们欲哭无泪。
因为ASIC是专用芯片,它只能针对特定的算法,如果算法更新,则芯片就没有任何用处了!需要重新开发,而开发一款ASIC芯片是极其烧钱和费时的,仅仅其中流片的费用至少就需要几十万RMB。
相比之下,FPGA矿机会稍好一些,其可以通过更新以支持新算法。但是FPGA的开发周期往往也不短,有可能需要几个月,等研制出来以后,可能没有等多长时间,又要进行下一轮更新了。
五。 电子工程师的机会
在介绍完上面区块链挖矿的概况后,针对电子工程师,到底有没有什么机会可以从挖矿产业中分一杯羹呢?下面我从FPGA工程师和硬件工程师两个角度进行分析。
机会1:FPGA工程师
FPGA矿机作为一种半定制产品,在某些无ASIC矿机的小币种中,还能够占有一席之地。
如果FPGA工程师可以在某个新币种推出后,或者在某个老币种更新算法后,短时间内用FPGA实现出相应的算法,并且运行效率可以明显高于对应的显卡矿机挖矿,那么这里面就有盈利空间。
这里补充一个小常识,针对显卡挖矿,更新算法是一个很简单的事情,官方都会提供算法,更新只需要一两个小时就足够了。而对FPGA来说,新算法需要重新研发,研发周期很可能会以月为单位。
机会2:硬件工程师
由于大内存矿机是后续数字货币挖矿的发展趋势,如果在ASIC(专用芯片)矿机出来之前,硬件工程师能够抢先使用通用芯片设计出矿机,预计也会很有市场的。
这里再补充一个小常识,现在的内存主要分为两大类:CPU使用的DDR和GPU使用的GDDR。
为什么会出现两种内存吗?
因为随着人们对于显卡性能日益增长的需求,早先的DDR已不能满足显卡的需求,所以出现了专门为满足显卡GPU高速交互数据需求的GDDR。因为GPU没有像CPU那样设计有大容量L1、L2、L3缓存,而且GPU处理大容量的纹理贴图,所以需要与显存进行更加频繁的数据交互,所以GPU所用的GDDR相比CPU所用的DDR有两个特点:一是带宽更宽,二是容量更大。
基于上面的背景介绍,大容量矿机可以衍生出三种设计思路:
①CPU+DDR
比特大陆做的以太坊矿机就是这种思路,缺点是DDR容量相比GDDR还是较小,访问速度不够快。相比显卡矿机,优势并不明显。
②GPU+GDDR
这就是常规显卡的设计思路,不过假使硬件工程师研发出了这样的显卡矿机,但是通常其产业链整合的能力PK不过传统显卡厂商,价格很可能没有优势。
③CPU+FPGA+GDDR
在方案③中,FPGA起到了一个桥接芯片的作用,让CPU能够连接大容量的GDDR,CPU完成管理维护协议处理等工作,而重复运算交给FPGA处理,看起来这是一个最优的方案,不过难点在于FPGA连接GDDR没有现成的IP核可用,自行研发难度很大。
这里所说的IP核,是指在集成电路设计中,可重复使用的具有自主知识产权功能的集成电路设计模块。
现在世界排名第一的FPGA厂商Xilinx还没有开发出针对GDDR5或者GDDR6的IP核,不过看到有国内厂商已经做出来了GDDR6的IP核,真是厉害!
-
电子工程师
+关注
关注
252文章
767浏览量
95621
发布评论请先 登录
相关推荐
评论