「FPGA 挖矿是算力 ASIC 化之前的健康过渡和补充。」
撰文:Yan Xin,作者就职于区块链投资机构 Fundamental Labs
随着 Nervos 这样全新的热门 PoW 公链主网上线,让 ASIC 矿机出现之前 PoW 公链算力竞争和平衡的过程再次受到关注。通常而言,挖矿算法与矿机器件特性的匹配程度影响着某一种矿机市场占比。而在 Nervos 主网上线的过程中,FPGA 矿机的表现颇为显眼。
尽管屡屡在挖矿产业史中被提及和讨论的 FPGA 矿机实际上从未被大规模生产和销售过,但是 FPGA 矿机对 PoW 公链的生态影响不容忽视。在我看来,FPGA 矿机极有可能大规模侵蚀 GPU 在 ASIC 出现之前的算力占比,成为最有力的算力打新工具。
1. 什么是「FPGA」
让我们不妨从简单普及一下什么是「FPGA」、什么是「ASIC」这样基本的概念开始。
FPGA 是「Field Programmable Gate Array」的缩写,即「可编程的逻辑门阵列」,是一种半定制电路。
而 ASIC 则是「Application Specific Integrated Circuit」的缩写,即「专用集成电路」,是对于某一固定算法的最优解决方案。不过,ASIC 生产成本昂贵,一次投片的成本在千万人民币左右,只在成熟稳定、需求量较大的应用场景中才能体现出其成本优势。
对于运算逻辑需要经常改变,或者芯片需求量较小的加密货币挖矿或机器学习等场景,FPGA 以其可以媲美 ASIC 的运算速度,以及算法可更新的特性保有一席之地。FPGA 也经常用于验证正在设计的 ASIC 中的运算逻辑。
从某种角度上讲,FPGA 是 ASIC 出现之前的替代品,在不确定性强的场景中发挥着独特的作用。
FPGA 内部结构
FPGA 与 GPU 同样可通过编程执行各种不同的运算任务,但 FPGA 的运算逻辑通过基于查找表(Look-Up-Table)实现的逻辑门阵列实现,不依赖于冯诺依曼结构,一次运算得到的结果被直接馈送到下一个运算的输入,无需在主存储器临时保存,因此不仅对内部存储器的带宽需求比 GPU 低很多,而且还具有响应迅速和功耗更低的特点。因此,FPGA 对于一些内存需求量较小、可流水处理的算法可以表现出 GPU 无法比拟的优势。
2. 从「ASIC Resistant」到「ASIC Friendly」
如果想更深入讨论 FPGA 矿机的未来趋势,不妨让我们从矿机发展的整个历程和脉络开始。
在比特币被各种专用计算设备垄断算力之后,莱特币等一众早起的「altcoin」开始在挖矿算法设计中体现「Anti-ASIC」(阻止 ASIC 矿机挖矿)的思想。这种设计利于让更多爱好者用普通电脑参与到新的加密货币挖矿之中,从而推进新的加密货币的去中心化。但这种「Anti-ASIC」每每都被证明无法长期持续,其中微妙的平衡很容易在某种加密货币繁荣之后崩溃。在利益的驱使下,对应于 Anti-ASIC 的专用矿机很快被推出。
尽管 Anti-ASIC 本身确实是一个无法持续的过程,但这一逐渐失效的过程为非常多加密货币的发展带来益处,因此,在相当长的一段时间内被争相效仿,各种 Anti-ASIC 算法被设计出来。
一般而言,Anti-ASIC 算法的设计思路主要有三种:
内存依赖型算法,例如 Cuckoo Cycle、Equihash 和 Scrypt。这些算法通过增大运算输入的体积,使得 FPGA 和 ASIC 必须在已有的运算单元之外增加额外的内存,提升 FPGA 和 ASIC 的设计难度,并降低其相对优势。
多算法杂糅,例如 X11、X13 和 X16R。这些算法通过同时引入若干种串联的哈希算法,增加 FPGA 和 ASIC 的复杂程度,后期又衍生出了多算法随机次序串联的算法,进一步增加 FPGA 和 ASIC 的设计门槛。
定期更换算法。某些加密货币定期更换一次挖矿算法或者算法的参数,使得专用挖矿设备定期被淘汰,被认为是根本性的 Anti-ASIC 方法。
Anti-ASIC 算法的发展给予 GPU 挖矿极大的空间,并使其逐渐成为了主要的 Altcoin 挖矿设备,但其副作用也逐步显现:
首先,GPU 矿工没有忠诚度,多数 GPU 矿工选择挖矿标的的唯一标准是当日产出,一旦某加密货币价格大幅下跌,相随而来的即是算力的大幅下跌,对于依赖算力维持网络安全的工作量证明区块链,在算力下跌之后其网络健壮程度快速下降,极其容易遭受 51% 攻击。
其二,无法为其矿工提供超额收益。由于 GPU 存量极大,任何一个加密货币的挖矿收益超过以太坊的部分,将会被涌入的算力快速摊平,因此矿工无法获得相应的激励,成为该币种的积极建设者。
GPU挖矿标的以单日收益从高到低排序,ETH名列第三位,与前两名差距很小
其三,GPU 挖矿的成熟使得 Anti-ASIC 最初的目的失效,即无法使更多普通爱好者参与到挖矿之中,挖矿完全被 GPU 矿工垄断。
其四,GPU 本身存量巨大,除去已经投入挖矿的 GPU 矿机之外,仍有大量 GPU 在 MSP 手中闲置,在国家战略背景下,发改委从《产业结构调整指导目录》中的淘汰产业中删除虚拟货币挖矿等内容,未来真正的 GPU 算力巨头入场不再遥远,GPU 挖矿相对社会平均投资回报率的超额收益将在 GPU 算力暴涨的过程中被无限稀释。
除以上四点之外,定期分叉或更改算法会带来社区的分裂,长此以往,社区难以壮大。
越来越多的开发者对于 Anti-ASIC 更加保守,或者设计规则,引导算力有规律地逐渐过渡到 ASIC。Grin 就是一很好的例子,但由于 Cuckoo Cycle 算法本身对内存的要求仍然非常高,矿机生产企业目前也并未成功地按照计划推出产品。
近期上线的 Nervos 设计了 ASIC Friendly 的基于 SHA3 的 Eaglesong 算法,该算法无大内存需求和复杂的算法杂糅,主要内容即是一简单哈希算法的多次迭代,便于在 FPGA 和 ASIC 中流水处理。
Eaglesong Hash 的核心是变换函数f的42次迭代
综上,从 ASIC Resistant 到 ASIC Friendly 完全可能是一个新方向的开启,而 FPGA 将在这个方向中替代 GPU 成为 ASIC 出现前最好的挖矿工具。
3. Altcoin 的 ASIC 矿机为何总是难产?
今年以来,比特大陆、嘉楠耘智和比特微等主流矿机公司不再横向拓宽 Altcoin 的 ASIC 矿机产品线,风险收益不相称是最简单的解释。
ASIC 的挖矿能效比与 GPU 相比较,动辄拥有 10 倍的绝对优势。由于边际成本递减效应,ASIC 生产者将不可避免地倾向于过量生产 ASIC 以抢占算力份额,推高难度,将 GPU 矿工快速挤出。而小币种矿机本身由于容量小、矿机可生产和发售数量有限,不可避免地造成中心化的问题。而 FPGA 在此处则更像 GPU,拥有根本性的优势,即 FPGA 本身由 Xilinx 和 Intel 等大厂生产,各家 FPGA 矿机无非是选购不同地已经生产出的 FPGA 进行电路板级的硬件设计和软件算法优化,而这两块内容均不像 ASIC 版图那样封闭和「高精尖」,各家的产品也并不会出现太大的差别,可以更好地推动去中心化。
据MRFR统计,在FPGA主要厂商中,Xilinx和Intel的市占比累计为72%
ASIC 是一个赢家通吃的游戏,不同 Foundry、不同工艺,或者不同设计方法设计出针对同一算法的 ASIC 可能存在若干倍的性能差异,由于区块链网络难度自适应调节,性能处于劣势的计算设备可能面临残酷的淘汰,因此各个生产商互相严格保守产品参数的机密,更加增大了资金投入的风险。
而 FPGA 作为可编程器件,即使被淘汰的二手 FPGA,仍被广泛地应用在爆破等无需考验起耐久性的场景之中,不会像被淘汰的 ASIC 一文不值。
拥有了 ASIC 即拥有了算力的话语权,但不等同于社区治理的话语权,如果一款 ASIC 使得多数社区成员利益受损,该币种很有可能通过分叉修改挖矿算法而将 ASIC 设计者完全排除在外。比如说,10 月初时,Ravencoin 进行了挖矿算法升级,将挖矿算法更改为 X16R 的升级版「 X16Rv2」,以阻止 Ravencoin 网络上 ASIC 矿机继续挖矿。这次的算法更改让很多 ASIC 团队无所适从,而 FPGA 矿机作为算法更改最为灵活的矿机很快涌入算力市场。
4. FPGA 并非 GPU 的替代品,而是更适应 ASIC Friendly 算法的新选择
本质上,挖矿是一个通过区块奖励提升网络算力,从而提高攻击成本的过程。一个有益的挖矿算法应该是一个可以激励矿工稳定地为网络提供服务的算法。在这个问题上,ASIC 永远拥有不可替代的作用,但在某种加密货币的体量还无法支撑 ASIC 矿机之前,FPGA 和 GPU 实质上发挥着相同的作用,两者的不同即是存量的不同和本身特性与算法设计理念匹配度的不同。
就目前而言,GPU 算力的可获得性(庞大的存量、稳定的供应量、产量和通畅的分销渠道)远远超过 FPGA 算力,但如果 ASIC Resistant 到 ASIC Friendly 的趋势成立并持续发展,FPGA 必将撬动流动算力的天平,成为新币种算力打新的利器。
参考资料
1.https://www.crypto51.app/
2.https://whattomine.com/
3.https://miningpoolstats.stream/
4.https://www.marketresearchfuture.com/reports/field-programmable-gate-array-market-1019
5.https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0010-eaglesong/0010-eaglesong.md