-
10.11 挖矿和算力竞赛
-
比特币挖矿是一个极富竞争性的行业。自从比特币存在开始,每年比特币算力都成指数增长。一些年份的增长还体现出技术的变革,比如在2010年和2011年,很多矿工开始从使用CPU升级到使用GPU,进而使用FGPA(现场可编程门阵 列)挖矿。在2013年,ASIC挖矿的引入,把SHA256算法直接固化在挖矿专用的硅芯片上,引起了算力的另一次巨大飞 跃。一台采用这种芯片的矿机可以提供的算力,比2010年比特币网络的整体算力还要大。
下表表示了比特币网络开始运行后最初五年的总算力:
2009
0.5 MH/sec–8 MH/sec (16× growth)
2010
8 MH/sec–116 GH/sec (14,500× growth)
2011
16 GH/sec–9 TH/sec (562× growth)
2012
9 TH/sec–23 TH/sec (2.5× growth)
2013
23 TH/sec–10 PH/sec (450× growth)
2014
10 PH/sec–300 PH/sec (3000× growth)
2015
300 PH/sec-800 PH/sec (266× growth)
2016
800 PH/sec-2.5 EH/sec (312× growth))
在图10-7的图表中,我们可以看到近两年里,矿业和比特币的成长引起了比特币网络算力的指数增长(每秒网络总算 力)。
随着比特币挖矿算力的爆炸性增长,与之匹配的难度也相应增长。图10-8中的相对难度值显示了当前难度与最小难度 (第一个块的难度)的比例。
近两年,ASIC芯片变得更加密集,特征尺寸接近芯片制造业前沿的16纳米。挖矿的利润率驱动这个行业以比通用计算 更快的速度发展。
目前,ASIC制造商的目标是超越通用CPU芯片制造商,设计特征尺寸为14纳米的芯片。对比特币挖矿而言,已经没有更多飞跃的空间,因为这个行业已经触及了摩尔定律的最前沿。摩尔定律指出计算能力每18个月增加一倍。
尽管如此,随着更高密度的芯片和数据中心的部署竞赛,网络算力继续保持同步的指数增长。现在的竞争已经不再是比较单一芯片的能力,而是一个矿场能塞进多少芯片,并处理好散热和供电问题。
10.11.1 随机值升位方案 the extra nonce solution
2012年以来,比特币挖矿发展出一个解决区块头基本结构限制的方案。在比特币的早期,矿工可以通过遍历随机数(Nonce)获得符合要求的hash来挖出一个块。
难度增长后,矿工经常在尝试了40亿个值后仍然没有出块。然而,这很容 易通过读取块的时间戳并计算经过的时间来解决。因为时间戳是区块头的一部分,它的变化可以让矿工用不同的随机值 再次遍历。当挖矿硬件的速度达到了4GH/秒,这种方法变得越来越困难,因为随机数的取值在一秒内就被用尽了。
当出现ASIC矿机并很快达到了TH/秒的hash速率后,挖矿软件为了找到有效的块,需要更多的空间来储存nonce值。可以把 时间戳延后一点,但将来如果把它移动得太远,会导致区块变为无效。
区块头需要信息来源的一个新的“变革”。解决方案是使用coinbase交易作为额外的随机值来源,因为coinbase脚本可以储存2-100字节的数据,矿工们开始使用这个空间作为额外随机值的来源,允许他们去探索一个大得多的区块头值范围来找到有效的块。这个coinbase交易包含在merkle树中,这意味着任何coinbase脚本的变化将导致Merkle根的变化。
8个字节的额外随机数,加上4个字节的“标准”随
- 留下你的读书笔记
- 你还没登录,点击这里
-
用户笔记留言