虚拟货币挖矿是什么
2019年11月6日上午,中国政府网发布《产业结构调整指导目录(2019年本)》已于2019年8月27日第2次委务会议审议通过,现予公布,自2020年1月1日起施行。
《产业结构调整指导目录(2011年本)(修正)》同时废止。经查阅发现,在第一次征求意见稿中、处于淘汰产业的“虚拟货币挖矿”被删除了。
根据规定,淘汰类主要是不符合有关法律法规规定,不具备安全生产条件,严重浪费资源、污染环境,需要淘汰的落后工艺、技术、装备及产品。
此前征求意见稿中,「虚拟货币挖矿」为未标淘汰期限或淘汰计划的条目,为国家产业政策已明令淘汰或立即淘汰。
今天就说被国家发改委正名的虚拟货币挖矿,挖矿是什么呢?
如果非要一句话简单概括的话:在最新区块链的数据上,生成一个符合条件的区块,链入区块链的过程,就是挖矿。
“挖矿”的特点
1)“挖矿”的过程就是运行特定的计算公式,试图计算出符合特定规则的Hash值的一个过程;
2)“挖矿”的本质是:生成最新区块,挂在到区块链的末端;其本质也可以理解为:争夺账本的记账权。
3)“挖矿”为什么叫做“挖矿”,因为“生成新区快”这个操作成功,会获得大量的奖励;
4)有“挖矿”,自然有“矿工”,矿工指的是:所有运行(以比特币为例)比特币客户端,链接比特币网络的终端节点,比如CPU,GPU,矿机,矿池组等等
5)为什么大家对“挖矿”趋之若鹜?
因为能获得超出成本的大量的奖励;奖励包含两部分:
第一部分是:创建新区块成功,系统奖赏当前矿工的“奖励金”(又叫coinBase交易金),这部分占主要比例;
第二部分是:所生成的新区块里打包的所有交易的交易佣金(交易费用),这部分占一小部分;
6)接第五点,比特币系统为何要奖励矿工“coinBase交易金”?
对维持“系统”网络稳定,对确认比特币交易,对参与比特币认证的节点的奖励;因为挖矿同时还保护着比特币系统的安全,防止欺诈交易,避免“双重支付”;这一点很重要!
PS:
中本聪在设计中规定:
1)新区块的产生速度是大约每10分钟一个(这里面用的大约,不是精确的十分钟),每一个新区块的产生都会伴随着一定数量的新币发行。每开采210,000个新区块(中本聪规定的&大约耗时4年),新币发行速率降低50%,初始奖励每区块50BTC,每隔4年奖励减半,目前奖励为12.5BTC。
2)十分钟是一个均值,生产速率每产生2016个新区块系统会自动调节一次,调节途径通过调整diffculty参数
挖矿技术原理
从技术上通俗地讲,“挖矿”即生成新区块的本质是:做一系列的哈希运算,当运算得到的哈希值符合目标规则,即为挖矿成功(其实,就是寻找符合条件的Nonce参数的过程,下文会详细解释,此处记住这个概念即可)。
也就是比较俩数值的大小,target目标值(固定)与哈希计算值(矿工每次计算算出来的值),这两个值的计算公式是什么呢?
这里直介绍两个关键信息:
1)难度系数:difficulty参数,顾名思义用来调节生成区块的难度的。该值决定了target的大小,
公式为:target=2**(256-Difficulty)
中本聪希望生成每个区块需要耗时10分钟,但是实际情况往往多变,生成区块(算出target)的时间有可能远小于十分钟(difficulty偏下)或者远大于十分钟(difficulty偏大);
那么在每2016【2016=14(day)*24(hour)*60(min)/10(min)】个区块生成完毕之后,系统要自动调节difficulty参数大小;
调整公式为:New Difficulty= Old Difficulty*(最新的2016区块实际耗时/ 20160 minutes).即:最新2016个区块花费时长与20160分钟(20160分钟是2016个区块期望的产出时间)比较所得。
2)随机数:Nonce参数,也可以理解为POW工作量证明的计数器;
该字段是最重要的一个字段,因为其实“挖矿”的过程就是寻找符合条件的Nonce值的过程;我们知道“挖矿”是做一些列的哈希计算的过程,该过程为:对区块头和nonce进行哈希运算【sha256(str(header)+str(nonce))】;如果本次所得的哈希值<=target,则“挖矿”成功;反之,Nonce+1,重复上述过程;
PS:
1)Nonce叫“随机数”的原因是因为原则上每次计算当前Nonce值可以随机产生。但是,实际情况下:什么方式最容易计算出目标值呢?穷举法;所以每次计算Nonce从0开始;
2)为什么说“挖矿”这么难呢?(上文中说的target值符合特定的规则:十六进制的以连续0开头,且连续的0越多越能符合命中规则)
打个比方:当前target值为连续20个0开头的十六进制数字;
一个不透明的口袋里有俩形状一模一样的乒乓球,一个红色(1),一个蓝色(0);每次抓阄抓到蓝色则标记位0,红色标记位1,那么如果矿工想要“挖矿”成功,意味着:至少连续20次抓阄均抓到篮球。是不是瞬间觉得很难呢?
如果连续2016个区块的生成时间小于期望的20160分钟,系统会自动调节Difficulty系数,比如调节Difficulty系数之后,target变成了连续21个0开头的十六进制数字,此时,矿工想要挖矿成功,则需要连续21次抓到篮球,生成时间就会相对变长。是不是更难了呢?
如果连续2016个区块的生成时间大于期望的20160分钟,则调低难度系数。
为什么不能淘汰虚拟货币挖矿?
理由1: 物理学里面有一个非常深刻的概念叫熵增,就是物理世界看起来是总是走向无序。但是生命世界和物理世界不太一样,生命世界确实越来越走向有序。在这个意义下,区块链的共识系统有点像生命系统本身,自己的熵在减弱,它达到了共识,但挖矿消耗使得周围系统的熵变大。这是一个代价,但相比别的系统来讲,这个代价还是非常小。
理由2:全球算力也一直在稳步提升,挖矿消耗大量能源获取算力,是不可避免的,区块链由于他不可篡改,唯一性,挖矿的算力越高,那记录的区块就越可信,所以挖矿可以理解成一种制造信任机器的运行过程,挖矿是有意义的,国家要做的应该是要提高算力的能源利用率,因为算力是可共享的,不只是用在数字货币上,可以用在各行各业,例亦来云,把挖矿的算力应用到更多场景,也能为将到来的价值互联网提供安全的保障。所以说因为挖矿消耗能源而去否定挖矿的说法是不成立的,就好比发动机的发明,不能因为发动机造成大量的污染,而去否定它。更重要的是去改进发动机,有效的提高发动机的能源利用率。
理由3:中国矿机产业,工艺水平,都是引领全世界的,不能丧失国内的先发优势,缺少“中国芯”一直是国人的痛点,绝大部分芯片都被美国人控制,正因为挖矿行业,中国好不容易在ASIC芯片做到了突破,并且占据先机,如要淘汰,实属可惜。
理由4: 挖矿芯片是在不断升级中,从CPU->GPU->FPGA->ASIC挖矿芯片,而ASIC芯片的发展不局限于挖矿,人工智能利用ASIC芯片也有相当大的市场,挖矿芯片也是最先应用7nm的工艺技术的,矿机根本就不属于落后生产工艺装备,中国以ASIC芯片作为切入口,能走向更大市场。
理由5: 挖矿能为国家带来收益,第一,针对挖矿用户进行收税,第二,国家禁止火电挖矿造成环境污染是应该的,但一些边远贫穷地区的电厂有丰富而便宜的电,而电力储存的技术不完备。与其浪费,不如利用闲置电力发展挖矿,作为一种产业,能带动经济发展。