Warning: Trying to access array offset on value of type bool in /www/wwwroot/blockchain/wp-content/themes/Grace8.2/functions_suxingme.php on line 1208

Warning: Trying to access array offset on value of type bool in /www/wwwroot/blockchain/wp-content/themes/Grace8.2/functions_suxingme.php on line 1209

Warning: Trying to access array offset on value of type bool in /www/wwwroot/blockchain/wp-content/themes/Grace8.2/functions_suxingme.php on line 1210

Warning: Trying to access array offset on value of type bool in /www/wwwroot/blockchain/wp-content/themes/Grace8.2/functions_suxingme.php on line 1303

ASIC

2篇文章
挖矿是作算法运算的过程,从计算机和代码的角度来说,是反复执行Hash函数并检测执行结果的具体过程。与讨论算法一样,挖矿也是在采用POW共识机制前提下讨论。 大家已经非常清楚挖矿是由最开始的CPU挖矿,过度到GPU挖矿,最终演化到当前的ASIC(专业矿机)挖矿时代,本篇解析其中的逻辑设计和技术实现。挖矿的演进是硬件的演进过程,同时也是软件的演进过程,尤其是软硬件对接协议的改进过程,因此本文直接将与挖矿有关的几个核心协议作为小标题,一步步深入讨论。 在复查文章时我发现“矿工”一词用的比较模糊,这种情况在英文文献也差不多,日常交流中一般指拥有挖矿机器的人,本篇着眼于区块链,挖矿的程序或者机器都统称矿工(Miner)。 MINING 本小节讨论挖矿原理,首先解析比特币区块头(Blockheader)结构,我们说挖矿本质是执行Hash函数的过程,而Hash函数是一个单输入单输出函数,输入数据就是这个区块头。比特币区块头共6个字段: int32_t nVersion; //版本号,4字节 uint256 hashPrevBlock; //前一个区块的区块头hash值,32字节 uint256 hashMerkleRoot; //包含进本区块的所有交易构造的Merkle树根,32字节 uint32_t nTime; //Unix时间戳,4字节 uint32_t nBits; //记录本区块难度,4字节 uint32_t nNonce; //随机数,4字节 如上,比特币每一次挖矿就是对这80个字节连续进行两次SHA256运算(SHA256D),运算结果是固定的32字节(二进制256位)。 以上6个字段情况又各不相同, nVersion,区块版本号,只有在升级时候才会改变。 hashPrevBlock,由前一个区块决定。 nBits,由全网决定,每2016个区块重新调整,调整算法固定。 因此以上3个字段可以理解为是固定的,对于每个矿工来说都一样。矿工可以自由调整的地方是剩下的3个字段, nNonce,提供2^32种可能取值 nTime,其实本字段能提供的值空间非常有限,因为合理的区块时间有一个范围,这个范围是根据前一个区块时间来定,比前一个区块时间太早或者太超前都会被其他节点拒绝。值得一提的是,后一个区块的区块时间略早于前一个区块时间,这是允许的。一般来说,矿工会直接使用机器当前时间戳。 hashMerkleRoot,理论上提供2^256种可能,本字段的变化来自于对包含进区块的交易进行增删,或改变顺序,或者修改Coinbase交易的输入字段。 根据Hash函数特性,这3个字段中哪怕其中任意1个位的变化,都会导致Hash运行结果巨大变化。在CPU挖矿时代,搜索空间主要由nNonce提供,进入矿机时代,nNonce提供的4个字节已经远远不够,搜索空间转向hashMerkleRoot。 比特币挖矿的逻辑过程如下: 1. 打包交易,检索待确认交易内存池,选择包含进区块的交易。矿工可以任意选择,甚至可以不选择(挖空块),因为每一个区块有容量限制(当前是1M),所以矿工也不能无限选择。对于矿工来说,最合理的策略是首先根据手续费对待确认交易集进行排序,然后由高到低尽量纳入最多的交易。 2. 构造Coinbase,确定了包含进区块的交易集后,就可以统计本区块手续费总额,结合产出规则,矿工可以计算自己本区块的收益。 3. 构造hashMerkleRoot,对所有交易构造Merkle数。 4. 填充其他字段,获得完整区块头。 5. Hash运算,对区块头进行SHA256D运算。 6. 验证结果,如果符合难度,则广播到全网,挖下一个块;不符合难度则根据一定策略改变以上某个字段后再进行Hash运算并验证。 合格的区块条件如下: SHA256D(Blockherder) 其中,SHA256D(Blockherder)就是挖矿结果,F(nBits)是难度对应的目标值,两者都是256位,都当成大整数处理,直接对比大小以判断是否符合难度要求。 为了节约区块链存储空间,将256位的目标值通过一定变换无损压缩保存在32位的nBits字段里。具体变换方法为拆分利用nBits的4个字节,第1个字节代表右移的位数,用V1表示,后3个字节记录值,用V3表示,则有: 此外难度有最低限制,也就是说 有个最大值,比特币最低难度取值nBits=0x1d00ffff,对应的最大目标值为: 0x00000000FFFF0000000000000000000000000000000000000000000000000000 因此挖矿可以形象的类比抛硬币,好比有256枚硬币,给定编号1,2,3……256,每进行一次Hash运算,就像抛一次硬币,256枚硬币同时抛出,落地后要求编号前n的所有硬币全部正面向上。 SETGENERATE Setgenerate协议接口代表了CPU挖矿时代。 中本聪在论文里描述了“1 CPU 1 Vote”的理想数字民主理念,在最初版本客户端就附带了挖矿功能,客户端挖矿非常简单,当然,需要同步数据结束才可以挖矿。现在有很多算力很低的山寨币还是直接使用客户端挖矿,有两种方式可以启动挖矿: 1) 在配置文件设置gen=1,然后启动客户端,节点将自行启动挖矿。 2) 客户端启动后,利用RPC接口setgenerate控制挖矿。 如果使用经典QT客户端,点击“帮助”菜单,打开“调试窗口”,在“控制台”输入如下命令:setgenerate true 2,然后回车,客户端就开始挖矿,后面的数字代表挖矿线程数,如果想关闭挖矿,在控制台使用如下命令:setgenerate false,可以使用getmininginfo命令查看挖矿情况。 节点挖矿过程: 构造区块,初始化区块头各个字段,计算Hash并验证区块,不合格则nNonce自增,再计算并验证,如此往复。在CPU挖矿时代,nNonce提供的4字节搜索空间完全够用(4字节即4G种可能,单核CPU运算SHA256D算力一般是2M左右),其实nNonce只遍历完两个字节就返回去重构块。 GETWORK getwork协议代表了GPU挖矿时代,需求主要源于挖矿程序与节点客户端分离,区块链数据与挖矿部件分离。 使用客户端节点直接挖矿,需要同步完整区块链,数据和程序紧密结合,也就是说,如果有多台电脑进行挖矿,需要每台电脑都单独同步一份区块链数据。这其实没有必要,对于矿工来说,最少只需要一个完整节点就可以。而以此同时,GPU挖矿时代的到来,也需要一个协议与客户端节点交互。 getwork核心设计思路是: 由节点客户端构造区块,然后将区块头数据交给外部挖矿程序,挖矿程序遍历nNonce进行挖矿,验证合格后交付回给节点客户端,节点客户端验证合格后广播到全网。 如前所述,区块头共80个字节,由于没有区块链数据和待确认交易池,nVersion,hashPrevBlock,nBits和hashMerkleRoot这4个字段共72个字节必须由节点客户端提供。挖矿程序主要是递增遍历nNonce,必要时候可以微调nTime字段。 对于显卡GPU来说,其实不用担心nNonce的4字节搜索空间不足,而且挖矿程序从节点客户端那里拿到一份数据后,不应该埋头工作太久,不然很有可能这个块已经被其他人挖到,继续挖只能做无用功,对于比特币来说,虽然设计为每10分钟一个区块,良好的策略也应该在秒级内重新向节点申请新的挖矿数据。对于显卡来说,运行SHA256D算力一般介于200M~1G,nNonce提供4G搜索空间,也就是说再好的显卡也能支撑4秒左右,调整一次nTime,又可以再挖4秒,这个时间绰绰有余。 节点提供RPC接口getwork,该接口有一个可选参数,如果不带参数,就是申请挖矿数据,如果带一个参数,就是提交挖到的块数据。 不带参数调用getwork,返回数据如下: { “midstate” : “9226a024e0b77f61d49fd5ffdf828c6b5c4330c61ea2778c606a8e49d4ad8bd6″, “data” :”00000002e9337bac28ee28a949d2140f9fb0a0ab740acfd739d7bcf67ca31c2301db858ad2ca54d92c8c1cded715922c4df2b07d9f10fa1a6cf3db7e949b320615761ed4581c76f21b12d87500000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000″, “hash1″ :”00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010000″, “target” : “00000000000000000000000000000000000000000000000075d8120000000000″ } Data字段 共128字节(80区块头字节 + 48补全字节),因为SHA256将输入数据切分成固定长度的分片处理,每个切片64字节,输入总长度必须是64字节的整数倍,输入长度一般不符合要求,则根据一定规则在元数据末端补全数据。其实对于挖矿来说,补全数据是固定不变的,这里没必要提供,外部挖矿软件可以自行补齐。甚至连nNonce字段都不需要提供,data最少只需要提供前面的76字节就够了。nTime字段也是必不可少的,外部挖矿程序需要参照节点提供的区块时间来调节nTime。 Target字段 即当前区块难度目标值,采用小头字节序,需要翻转才能使用。 其实对于外部挖矿程序来说,有data 和 target这两个字段就可以正常挖矿了,不过getwork协议充分考虑各种情况,尽量帮助外部挖矿程序做力所能及的事,提供了两个额外字段,data字段返回完整补全数据也是出于此理念。…
摘要 加密数字货币挖矿的演进发展 加密数字货币的挖矿设备经过从CPU到GPU,再到FPGA,最终达到现在的ASIC的演化过程。挖矿设备的升级,不仅带来了网络算力的巨大提升,也使得挖矿市场向专业化、规模化、公司化的方向发展,比特币的算力集中问题将不可避免。此外,2017年在市场上出现了以迅雷玩客云为代表的CDN矿机,这类矿机结合CDN网络和区块链技术,通过挖矿获取区块奖励来吸引用户共享宽带、存储空间及计算资源,这种新型的共享经济模式能提高社会资源的配置效率。 矿机市场发展现状—中国制造,强者愈强 相比于“中兴事件”折射出我国在半导体产业上的尴尬现状,中国企业在区块链矿机芯片的研发、设计上却在全球处于绝对的优势,以比特大陆和嘉楠耘智为代表的区块链矿机公司,在全球矿机市场上处于绝对垄断地位。 根据《商业周刊》披露,成立于2013年的比特大陆公司,在2017年的营业收入却达到了25亿美元,其矿机销售市场份额占全球份额的75%以上;此外,比特大陆凭借其研发的矿机芯片,一举超越展讯,成为2017年中国大陆地区IC设计公司第2名,仅次于华为的海思。比特大陆在比特币挖矿市场上也是绝对的行业巨头,当前比特大陆公司旗下的算力控制已经超过50%,拥有了比特币挖矿行业的绝对主导权。 作为全球第二大比特币矿机生产商嘉楠耘智,旗下主要产品是“阿瓦隆”矿机,根据其招股说明书披露,在过去的三年,嘉楠耘智的年利润增长了230倍,无论是偿债能力还是营运能力都有显著增强,目前嘉楠耘智已经向港交所递交了上市申请。 比特币挖矿市场现状—寒冬来袭,适者生存 决定比特币挖矿盈亏的三个核心要素是比特币价格、难度值、电费成本。目前,比特币价格持续低迷,挖矿难度不断提高,挖矿市场开始进入寒冬,电费价格成了影响矿工生存的关键因素。根据我们的测算,从长期静态成本看,采用蚂蚁S9矿机的挖矿成本大约为3.5万元人民币,而采用蚂蚁V9矿机或阿瓦隆A741矿机,其成本已经分别达到了6万元和7万元人民币;从短期动态成本看,在今年3月后,散户或小型矿工群体已经处于亏损状态;而在0.5元一档电价的矿工经营勉力维持,拥有自己发电厂的矿场则不会受太大影响。 风险提示:加密数字货币市场具有高投机性、高波动性的风险特性,存在过 度炒作、概念宣传等投资风险。目前区块链技术发展处于早期,技术存在瓶 颈,大规模地商业应用落地还需时日。 1 加密数字货币挖矿的演进发展 自2017以来,随着加密数字货币的价格高涨,大量的人群涌入加密数字挖矿行业。加密数字货币的“挖矿”,简而言之就是通过计算机节点为区块链网络开展数学运算,进行记账竞争的过程;运行这些计算机节点的人就是“矿工”;而这些计算节点就是“矿机”。在挖矿过程中,矿工主要有两大任务:一是将监听到的新交易放入新区块中,并进行哈希运算寻找一个有效的随机数,使区块成为合法区块;二是接收并验证区块。当区块通过验证并被纳入公共主链后,那么找到新区块的矿工就将获得加密数字货币奖励。需要注意的是,挖矿产业是以POW机制为基础的加密数字货币所特有的,而POS机制以及DPOS机制相当于虚拟挖矿,并不需要专业的矿机。 这种虚拟数字货币的挖矿与历史上的挖金矿有着非常有趣的相似之处:从最开始的个人使用淘砂盘、摇动槽等淘金,到近代时期将蒸汽机用于排水和其他作业,爆破技术应用于地下开采,再到现代社会使用遥感、地球化学等多种手段探测金矿,大规模的机械化提高开采效率,而加密数字货币的挖矿也经过从CPU到GPU,再到FPGA,最终达到现在的ASIC的演化过程。另一方面,比特币与黄金都逐渐从个人开采为主逐步演变为大公司大矿池的专业运作。现在我们简单介绍加密数字货币挖矿的演进发展。 图1:挖矿设备的演进 资料来源:cryptocompare 1.1 CPU挖矿 在比特币产生的初期,挖矿难度非常低,因此用普通计算机的中央处理器(CPU)也能挖到比特币。2019年1月,中本聪在一台小型服务器上挖出了比特币的第一个区块—创世块,获得了50个比特币的奖励;有趣的是,中本聪还在创世区块中写入一段话:“The Times03/Jan/2009 Chancellor on brink of second bailout for banks(财政大臣站在第二次救助银行的边缘)”,这句话是当日《泰晤士报》头版的标题,它既表明了创世块产生的时间,也暗示了当前自由资本主义经济面临的问题,而这可能也是中本聪创造比特币的目的之一。 那么使用一台普通的电脑挖矿有多快呢?一台高端的个人台式电脑,每秒可以计算大约2千万次哈希函数(20MH/s),按照2011年初的挖矿难度,大概需要1小时左右能挖出一个区块,而随着比特币挖矿难度的升高,根据测算到了2018年5月初用一台普通电脑已经需要大概2859万年的时间才能挖出一个有效区块。因此在目前的难度下,使用CPU挖矿的矿工基本挖不出比特币。 图2:比特币创世区块的原始十六进制版本 资料来源:比特币维基百科 1.2 GPU挖矿 2010年9月,开始出现使用显卡或图形处理器(GPU)来挖矿。相比于CPU挖矿,用显卡挖矿有几个优势,首先,买显卡很容易,而且是业余爱好者也能轻松配置显卡;第二,显卡具有高吞吐量和高并行处理功能,这样能同时用不同的随机数计算多个哈希值;最后,大多数显卡可以超频,这意味着可以让显卡以高于设计频率的频率更快地运行,但这需要承担显卡过热或者出现故障的风险。 在比特币挖矿的早期,许多比特币爱好者都喜欢自己组建GPU矿机来挖矿,这类矿机差不多都是通过一个CPU来驱动多个GPU来进行哈希运算,以便更快地找到有效区块。下图就是当时一个简易的比特币GPU矿机,该矿机搭载了多个R6970显卡进行挖矿。 图3:早期比特币矿工自制的简易GPU矿机 资料来源:新浪游戏 然而,使用GPU挖矿也有缺点,GPU有大量的内置硬件来进行图形处理,这些特定的硬件对比特币挖矿没有任何用处,比如GPU中的浮点运算单元;同时,GPU也没有很好的冷却处理设置,长时间运行发热比较严重,尤其是把大量GPU堆放在一起时该现象尤为严重。前段时间比特币挖矿市场上存在一款AMDHD7950BE显卡矿机,根据比特范官网的数据显示,该显卡的哈希算力能达到700MH/S,即每秒可以进行约7亿次哈希运行,这比CUP矿机高出一个数量级,然而即使这样,根据计算,在2018年的今天仍然很难挖出一个有效区块,大约需要86万年左右。 按照当前的比特币网络的难度值,使用GPU矿机几乎无法挖出比特币,而以太坊的POW机制采用了Ethash算法,该算法加入了内存难度,使它具有抵抗单凭哈希运算优化的ASIC挖矿机的属性,可防止出现矿池算力集中的现象,因此目前市场上存在的GPU矿机大多是以太坊(ETH)的GPU矿机,比特币GPU矿机已经被历史淘汰。 图4:以太坊RadeonR9380x矿机 资料来源:cryptocompare 图5:以太坊RadeonR9Nano矿机 资料来源:cryptocompare 1.3 FPGA挖矿 2011年6月左右,可编程门阵列(FPGA)开始用于比特币挖矿,FPGA比GPU的性能更好一些,可以写入特定的程序来实现特定的运算,理论上可以使用硬件板上的每一个晶体管进行挖矿运算,同时也很容易冷却,精心使用FPGA可以使算力提高到1GH/s,也就是每秒10亿次哈希运算。然而FPGA挖矿的时代也非常短暂:首先,使用FPGA来挖矿其实更加困难,因为几乎需要一直超频使用,这远超FPGA供普通消费者而设定的频率,因此经常出现各种报错和故障;其次,优化FPGA的32位加法处理上十分困难,而这在比特币的SHA-256哈希运算中非常关键;最后,FPGA在多数商店都买不到,并且只有少数人才知道怎么搭建FPGA并进行相应的编程。最重要的是,即使在运算性能上,FPGA并没有比GPU提高多少。因此FPGA矿机很快地被定制化的专用集成电路ASIC矿机所取代。 图6:比特币FPGA矿机 资料来源:hxtop.com 1.4 专用集成电(ASIC)挖矿 ASIC是ApplicationSpecificIntegratedCircuit的缩写,是一种专门为某种特定用途设计的电子电路(芯片)。用于挖矿的芯片即矿机ASIC芯片。因为ASIC被设计为只进行某一挖矿需要的特定算法,算法任务非常单一,基本无需分支预测、规划等其他操作,所以ASIC芯片的挖矿的成本相比CPU挖矿成本更低。更重要的是,就挖矿算力而言,ASIC比同时代的CPU、GPU高出几万倍甚至更多,以一台目前主流的蚂蚁矿机S9矿机为例,根据比特大陆官网的资料显示,其算力达到了14,000GH/S,这在2018年5月的今天意味着一台蚂蚁S9矿机需要42年就能挖出一个有效区块,因此ASIC挖矿往往带来了整个区块链网络算力的指数级增长。在另一方面,由于ASIC矿机是专门定制,只为特定的计算而打造的,这意味着特定的ASIC矿机只能挖特定的币种,而GPU是通用的,可以挖多款币,因此一款ASIC矿机的价格通常与特定币种的价格绑定在一起,当一款币的价格高涨时,相应的ASIC矿机价格也上涨,反之则下跌。 图7:比特币蚂蚁S9矿机 资料来源:中关村在线 图8:比特币神马矿机 资料来源:中关村在线 1.5 新型矿机—CDN矿机 2017年市场上出现了一种新型的区块链矿机,即以迅雷玩客云为代表的CDN矿机,根据玩客云官网的资料显示,这类矿机结合CDN网络和区块链技术,通过挖矿获取链克(一种基于区块链技术发放的奖励)来吸引用户共享宽带、存储空间及计算资源,而这种CDN挖矿的模式能带来很多好处:首先对于用户(相当于CDN节点),能够把闲置的上行宽带共享出去获取链克奖励,而链克又能用来兑换网络加速、云存储等服务;再者,对于迅雷能够以较低的成本获取CDN节点的宽带资源,节约了大量成本;最后,对于厂商(如视频网站等),这意味着可以购买到很便宜的CDN服务。尽管目前这类矿机有一些争议,但作为一种新共享经济模式的实验,其做法十分值得肯定。 图9:迅雷玩客云产品 资料来源:玩客云官网 1.6 矿池 在上文中我们做了简单的计算,即使是一台最新的蚂蚁S913T矿机,也即平均需要42年的时间才能挖出一个有效区块。目前市场上的主流矿机大概用1~2年,从理论上而言,在该情况下(n很大,P很小),矿工在一年里能挖出的有效区块数量的概率分布满足泊松分布,即这里我们取参数值λ=1/42,会发现用一台蚂蚁S9矿机在第一年里没挖到区块的概率高达97.6%,挖出一个区块的概率为2%,挖出两个区块的概率仅仅为0.28%。因此,对于单个矿工而言,花费了数千元买了一个矿机,支付了大量的电费成本的结果却是大概率地在第一年内什么也得不到,这种高风险性对于单个矿工是不可承受的。想要降低这种风险,唯一的方法就是提高算力。因此,对于有强大财力和资源的矿工会自建加密数字货币矿场,而资金较小,拥有算力较小的矿工会联合起来组建矿池共同挖矿,在此机制中,不论个人矿工所能使用的运算力有多少,只要是透过加入矿池来参与挖矿活动,无论是否有成功挖掘出有效资料块,均可按对矿池的贡献来获得加密数字货币奖励。这就极大降低了单一矿工的风险。比如目前比较著名的BTC.com矿池,根据BTC.com的数据显示,其算力在过去三个月里占比特币网络全部算力的27%,这意味着平均每37分钟左右就能挖取一个有效区块,加入矿池的矿工每年都一定能获取加密数字货币的挖矿收入,此时唯一需要考虑的风险就是币价的波动风险。 矿池的出现虽然降低了单一矿工的风险,却提高了加密数字货币的风险,当单个矿池或几个矿池联合起来的算力超过50%时,加密数字货币的区块链网络就存在女巫攻击的可能性,而一些研究还表明,通过挖私矿的方式,只要算力占比超过1/3左右就存在发动女巫攻击的可能性。从现实情况看,比特币网络已经出现算力中心化的倾向。 1.7 云矿机 相比于传统的采购高配置的硬件并进行专业维护的挖矿,市场上的云矿机则提供了一种低成本、低风险、低费用的挖矿模式。简而言之,云挖矿就是通过网络远程使用别人的矿机挖矿,由云挖矿服务商提供矿机、网络、运行维护等服务,而用户只需要支付一定的租用、托管服务费,因此这实际上是一种租赁托管服务。目前全球主流的运算力供应商有GenesisMining、Hashflare、nicehash。 2 矿机市场发展现状—中国制造,强者愈强 随着加密数字货币价格的上涨,矿机的销售在2016年和2017年也突飞猛进,根据嘉楠耘智的招股说明书披露,全球加密数字货币矿机的销售收益从2012年的7千万元人民币增长至2017年的193亿元人民币,年复合增长率高达207.8%,预计至2020年销售收益会增长至985亿元人民币。 图10:2012年-2020年全球矿机市场规模及增长率 资料来源:CanaanInc(嘉楠耘智)招股说明书,天风证券研究所 相比于最近的“中兴事件”折射出我国在半导体产业上的尴尬现状,在数字货币的上游矿机市场,中国企业在区块链矿机芯片的研发、设计上却在全球具有巨大的优势,以比特大陆和嘉楠耘智为代表的区块链矿机公司,在全球矿机市场上处于垄断地位,两家中国公司的比特币矿机销售量占全球销售总量的比重超过87%,其中比特大陆旗下的蚂蚁矿机,以约66.6%的矿机数量占有率成为比特币矿机市场上的绝对霸主。 图11:按交付量计比特币矿机市场份额(%) 资料来源:CanaanInc(嘉楠耘智)招股说明书,天风证券研究所 图12:按算力计比特币矿机市场份额(%) 资料来源:CanaanInc(嘉楠耘智)招股说明书,天风证券研究所 2.1 比特大陆 比特大陆公司成立于2013年,借助2014年比特币价格的崩盘和2015年初的市场回暖,以及自身矿机的高能低耗的优势,比特大陆成功公司崛起,成为区块链行业,特别是比特币矿机市场的霸主。这家成立仅仅五年的企业,根据《商业周刊》的报道,在2017年的营业收入却达到了25亿美元,更从去年下半年起,成为台积电中国的第2大客户,预计在2018年可能跻身全球前五大客户。而在今年发布的《2017年中国独角兽企业发展报告》中,比特大陆以10亿美元的估值排名第107位。 表1:比特大陆矿机主要参数 资料来源:比特大陆官网、天风证券研究所 表2:2017年中国十大集成电路设计公司 资料来源:芯智讯,天风证券研究所 在矿机芯片领域,根据比特大陆官网资料显示,比特大陆成功开发并量产了多款ASIC定制芯片和整机系统,拥有先进工艺28nm、16nm、12nm的集成电路全定制设计的量产经验,其中最具代表性的是其运用在加密数字货币矿机中的BM芯片系列,其自主研发的第五代芯片BM1387是全球功耗最低、性能最高的运算加速芯片;而根据芯智讯的调查显示,比特大陆也凭借其研发的矿机芯片,一举超越展讯,成为2017年中国大陆地区IC设计公司第2名,仅次于华为的海思。 与此同时,比特大陆也开始进人工智能领域,根据半导体行业观察披露,2017年底,比特大陆正式发布旗下算丰TPU芯片BM1680,这是一款面向深度学习应用的张量计算加速处理的专用定制芯片,适用于CNN、RNN、DNN等深度神经网络的推理预测(Inference)和训练(Training)。BM1680单芯片能够提供2TFlops单精度加速计算能力,芯片由64NPU构成,特殊设计的NPU调度引擎(Scheduling Engine)可以提供强大的数据吞吐能力。单芯片能够提供2TFlops单精度加速计算能力,片上32MBSRAM拥有高带宽,在片外有DDR4内存接口,单芯片可支持高达16GB DDR内存。同时,比特大陆将围绕算丰AI芯片,不断为各个落地场景提供创新解决方案。目前发布的智能视频分析服务器SS1,是专为视频和图像智能分析而打造的服务器系统,基于自主研发的张量加速处理器BM1680和加速卡SC1+,具有人脸检测、人脸识别、人体检测、机非人检测分类等标准功能。未来比特大陆将为更多安防、大数据、互联网等场景,提供创新解决方案。 图13:BM1680芯片架构图 资料来源:半导体行业观察,天风证券研究所 表3:国内AI芯片信息 资料来源:中国科学院自动化研究所,天风证券研究所 比特大陆在比特币挖矿市场上也是绝对的行业巨头。根据云锋金融的资料显示,2014年11月14日,比特大陆上线蚂蚁矿池(Antpool),在不久后便成为全球算力最大的矿池,随后在2016年和2017年先后推出了新矿池BTC.com和ConnectBTC,并在A轮以2000万美元投资了ViaBTC矿池。在2018年四月,比特大陆直接和间接控制的Antpool,BTC.com,ConnectBTC三大矿池算力份额占比分别达到13.9%,27.4%,10.6%,即比特大陆公司旗下的直接和间接的算力控制已经超过50%。也正是凭借这种强大的算力占比,比特大陆在比特币领域具有极大的话语权,并在去年6月主导完成了比特币的硬分叉,产生了比特现金(BCH)。 图14:2018年4月比特币矿池算力占比 资料来源:BTC.com,天风证券研究所 2.2 嘉楠耘智 作为世界第二大比特币矿机生产商嘉楠耘智成立于2013年,其公司创始人张楠赓研制出了世界上第一台FPGA矿机,从2013年到2017年,嘉楠耘智分别成功研发并量产了110nm、55nm、28nm、16nm挖矿芯片,不仅是全球最早研发区块链重复计算芯片的团队,还引领行业走进了ASIC时代。其主要产品是“阿瓦隆矿机”,目前在售的A741产品为例,其使用了自主研发的基于16nm工艺的A3212芯片,可以提供7.3THash/s的计算能力,而每THash的芯片功耗低至157.5W,产品的性价比、可靠性与市场上同类型产品相比竞争力较强。根据其招股说明书披露,在2018年的前三个月,该公司的阿瓦隆矿机就已累计售出10.1万台。…

关注我们的公众号

微信公众号