区块链行业如何点石成金——区块链炼金术

主讲嘉宾| MAI创智公链CIO Allen


第一章挖矿

首先,我来给大家讲一下挖矿。

大家听到这个词应该是从第一批比特币淘金者那里听到的。比特币区块链是区块链中的货币型的公链,挖出来的即是数字黄金。随着共识面的扩大,最初的矿工赚了大钱,后来人们就像马蜂窝一样涌入了这里,这种比特币的这个挖掘潮很像当年的淘金热。当时的淘金热使很多淘金者下海淘金,最终只有少数人变得富有,很多人都失去了一切,中本聪设计的比特币网络最初的初衷是去中心化和普适性的。但是随着机器算力的越来越集中,比特币挖矿呈现出再中心化的趋势。出现富者极富,贫者极贫的情况。大量的普通用户已经很难进来。这与现实社会中贵金属采矿有着惊人的相似,其他类似数字货币的成功也存在着这样的现象。

区块链是人类社会用代码传递信任的重大变革,区块链3.0时代一定是应用的时代。大力发展应用型公链是必然的趋势。应用型的公链挖矿必须要回到普适性时代,让更多的用户参与进来。但其实,大家都很迷茫,什么到底是挖矿?挖矿到底是什么?挖矿的过程是怎么样的?

什么是区块链挖矿?首先,我们要监听交易广播。在整个比特币网络中每段时间都有一些交易的广播,然后需要验证矿工们的签名是否是有效的。交易有没有被重复的支付。

第二个是维护区块网络并且负责监听新的区块,那么矿工的首要职责就是维护区块链,为了保证这一点钟本聪设计的就非常完善,矿工在一开始的时候就被要求从其他的矿工和节点上,把他还没有加入区块链之前的历史同步到本地。然后再来监听那些被广播到网络上的新的区块。矿工的工作就是当每一个广播收到每个区块之后,验证他的区块是否有效。那么接下来的工作就是什么呢?就是生产区块。而每一个区块都包含了一个随机数,寻找出让你的区块变得非常有效的随机数,并让全网接受你的区块,接收完你的区块后,被记录在区块链上后所得到的奖励,这就是你的利润。

现在来解释一下,什么叫做有效区块,就是说每一个区块都有一个有效的随机数。首先要从你的交易池中选择出一些有效的交易并且排列和翻译成一个树状图。你可以任意选择编译的交易数量,但前提是不超过每个区块随机数的交易上限。你可以尝试不同的随机数排列,直到整个随机数在整个区块的哈希值小于目标值。这个目标值,一般用零开始的特定位数的数字来体现,也就是说从零开始,每次增加数值1,直到随机数能够使区块有效为止。

第二章挖矿的发展史

如果大家对于这一段很懵的话,我现在给大家讲一讲区块链的发展史,就是挖矿的发展史。

挖矿是从CPU再到GPU,然后再到ASIC。为什么一开始是CPU?因为当时比特币在产生的时候,中本聪的愿景就是让一个CPU投一票,然后去维持整个生态网络的建设平衡,到现在为止中本聪的这个愿景已经越来越远了。我们都知道,现在比特币网络、以太访网络、EOS网络,其实他们都在朝着中心化的趋势发展,现在的矿场也越来越多了,矿工们为了让自己挖矿的概率升高而去选择加入到矿厂里面。

如果要让现在所有加入矿场的电脑都挖到矿,挖到很多的矿,就要尽快地去验证随机数。在验证随机数的时候,就会有很多很多随机数被验证,比如说这些电脑在同一个矿场里面,那么就会在一个矿池中一起去验证一些随机数,也就是说,每台电脑同时去验证不同的随机数,破解出来的随机数的概率就会变高。随着随机数破解的概率越来越高,这个矿场里所有的矿工能获得的收益也就越来越高,这就是为什么大型矿场出现的原因了。

但CPU挖矿是有很多缺陷的。因为CPU算力是有限的,别的矿工可以用更高级的算力去验证随机数,所以用CPU来挖矿是越来越不可能了,类似比特币之类的矿工就是根本不知道比特币的运作原理才会去用CPU挖矿,他们所能得到的挖矿回报率是非常低的。

第二代矿工用的是GPU,就是因为GPU的吞吐量和高并行处理的功能,这两个点对于挖矿是非常有利的。在2010年的时候,因为OPENCL语言诞生,可以让GPU进行非图像处理工作,让GPU挖矿成为了当时的主流。因为GPU可以进行超频使用,举个例子,假如我们让吞吐量变成1.5倍,运算成功率降到0.7,意味着你增幅了百分之五。最后一点就是CPU可以带动多个GPU。让每个GPU分别负责不同的数据处理,这样便可以大大缩减挖矿时间。

但GPU挖矿也有缺点,GPU的大部分浮点运算单元在这个内置的硬件中,完全不会全部用到挖矿这件事情上。SHA256的这个运算没有起到任何的帮助性作用,同时GPU没有很强大的散热功能,而且很耗电。所以说,其实在GPU和ASIC中间还夹杂了一段挖矿的历史,就是FPGA挖矿。这个一直要超频使用,所以就变得非常容易报错,这是FPGA挖矿一个非常尴尬的地方。

我再给大家讲一下,发展到目前为止的这个ASIC挖矿

当今矿厂被ASIC芯片所主导的,这些芯片被设计出来就是为了挖矿用的。那么其实这种芯片的研发是需要很专业的知识,开发周期也较长。最为奇妙的是,这种芯片的研发已经大大超过了平常芯片的发展速度,我们知道区块链的发展是非常迅速的,所有做芯片的公司也就为了这个目标而为之奋斗,然后就超过了很多很多同等值钱的芯片。这是个题外话,但是绝大部分早期的ASIC芯片的寿命都非常短,大约六个月左右就被淘汰了,这导致这些厂商在出货的时间和速度就决定了用户的回报率。厂商还在拼命的去做这些东西,让生产效率提高,让提前购买它的用户能够更快拿到货。

最后我要给大家讲就是PC框架。反ASIC其实这是一个大家聊了很久的事情,因为大家想抑制这种为了挖矿而特定生产的设备的优势,和当时中本聪所构想的一CPU投一票的理念是完全违背的。我们其实不想让这样的事情发生,所以很多人就致力于这种反ASIC的算法研究。我们公司也是致力于反ASIC的研究工作。我们会采用几种方法,一个是刚性的内存解密,还有一些就是内存的解密算法。我们也会研发出一些这种反ASIC的一些算法,然后去解决目前所面临的这些问题。在市面上有很多ASIC这种算法出现,但都被ASIC芯片破解了。一些做区块链项目的公司最近也是在致力于反ASIC算法协议的工作,这也是我们MAI所立志于追求的。

我们有一个思路,使用一个移动的目标只作为这个挖矿的解密,但解密算法本身就会变化。比如说比特币里面的解密难度会周期性的变化一样。在理想的状态下,为上一个解密算法而优化过的挖矿硬件对下一个解密算法就不再适用。这是我们一种可变化的一个理论,也就是说,让我们的解密算法能够不停的随着周期的变化而变化,ASIC的一些芯片厂商才会无利可图,因为随着我们的变化周期而变化的这个开发过程非常艰难,或许这些解密算法的顺序能够被自动生成,不过这也是比较难的。

第三章PC矿机

那么,最后我要给大家讲就是PC矿机。

PC矿机从CPU挖矿,过渡到CPU加GPU挖矿,同时限制GPU并且扩充的反ASIC芯片。在PC忙时和闲时利用人工智能所自动调节。这种带宽资源会将应用型的公链来普及,这就是我们做的事情。