以太坊的挖矿机制优于比特币吗?
一
最近在读以太坊 (Ethereum) 的官方说明文档。尽管我的加密货币之旅到今天已经一年有余了,相关论文、技术文档、代码也学习了不少,但惭愧的是,从来没有认真阅读过以太坊的官方说明,以及知名的白皮书、黄皮书。所以,这两天开始好好研究一下。
在介绍到以太坊的挖矿机制时,文档重点提到了其 “抗 ASIC 特性(ASIC-Resistant) ”。ASIC 设备 (Application-Specific Integrated Circuit) 就是专用集成电路的简称,是为了某个特定目的而制作的集成电路设备。而用于挖矿的 ASIC 矿机,显然就是专门为提高挖矿效率而设计的集成的电路板。
如果对比一下比特币和以太坊的挖矿机制,我们就会发现二者非常不同,更具体的说,是二者的 PoW (Proof of Work, 工作量证明) 机制不同。工作量证明在数字加密货币领域被广泛应用,它是一种验证 “工作量” (或者说 “贡献值” ) 的方法。简单地说,它让每个参与者去生成一些数据,这些数据很难生成,但很容易验证。这就好比数学考试,在考场上的你就像矿工,老师就是验证结果的人 (在加密货币世界可能是网络节点或者矿池),考卷就是一种工作量证明机制。你要集中精力深思熟虑才能答对,但老师只要把你的卷子和手里的标准答案对一下就行了。因此,工作量证明机制可以有效过滤掉没有 “诚意” 的参与者,而留下那些实力最强、忠诚度最高的人,提高系统的整体质量。
比特币采用的是被称为 Hashcash 的工作量证明系统。这个系统在网络安全领域一直有广泛的应用,常被用来防范垃圾邮件侵扰和经典的 DoS 攻击 (Denial of Service, 即在短时间内向同一服务器发送大量连接请求,导致服务器宕机的攻击方式)。Hashcash 机制以计算机算力作为主要标准,在相同时间内,谁的计算能力更强,算得更快,就更有优势。比特币出现早期,挖矿人很少,竞争少,因此使用个人电脑的 CPU 就能轻松挖矿。后来 CPU 不好使了,人们开始使用更强大的 GPU 显卡来挖矿。到现在,GPU 也基本挖不到比特币了。很多比特币矿工转而购买 ASIC 矿机进行挖矿,因为这样的设备能够获得比传统电脑硬件配置高效得多的计算速率。
不过,随着比特币挖矿进入 ASIC 时代,其中心化问题也越发明显。中国已经成为比特币最大的产出地。便宜的电费和曾经优惠的土地政策,让很多 “淘金” 矿工将工厂安置在四川的水电站里,内蒙古的大平原上。如今,超过 90% 的比特币都在中国的矿场被挖出来。造成这种过度集中的原因,主要是 ASIC 成本高昂且淘汰率高,基本上只有大规模专业矿场玩得起;因此,比特币基本都会被专业矿场挖走,大部分普通用户所能挖到的数量微乎其微。
二
以太坊则不太一样。以太坊的工作量证明系统被称为 Ethash,这个系统主要就干两件事:一是读取内存,二是用加密算法把数据混编。不过它不是只做一次,而是要重复几十遍。在这个过程中,“用算法混编数据” 是一个可以通过升级计算设备来显著提效的工作。比特币的工作量证明机制就是这样一种运算加密算法的过程,高效的 ASIC 矿机才有一席之地。
“读取内存” 可就不是那么回事了。不管你如何提高计算机的运算效率,当前的内存读取效率仍然不会有太大改观——因为每一次读取内存的带宽是有限的,而现有的计算机技术很难在这个问题上有质的突破。这便是为什么以太坊具有 “抗 ASIC 特性” —— 用昂贵的 ASIC 也提高不了效率,收益不比普通的电脑好多少,何必呢。
有关以太坊的这种抵抗中心化特性,还有一个值得一提的脑洞。扛住了 ASIC,大家都开始用 GPU 挖矿了。因为 GPU 不像 ASIC 的功能那么单一,除了挖矿还有很多别的事情可以做,所以网络上有很多提供 GPU 租赁的服务,其中包括亚马逊公司的 AWS 服务。在这种情景下,会不会出现另一种中心化:少数人大量租赁 GPU 进行挖矿?既然是租赁,又是常见的 GPU 而非功能单一造价高昂的 ASIC,其成本就比专用矿机低得多。高成本门槛没有了,在以太坊的世界里,会不会同样容易造成挖矿中心化问题呢?
相关阅读