挖矿算法比较

下文介绍的算法基本上是对抗 ASIC 的发展史.

 

什么是哈希?

 

消息摘要

 

SHA256

 

CPU 型, non ASIC  resistant

 

Scrypt

 

Scrypt 大量使用内存, 起初号称 GPU resistant, 结果失败了, 又号称 ASIC resistant, 结果还是失败了.

 

因为早期内存价格高, 而现在内存价格下降, 厂商经过努力也研发出了速度还可以的针对 scrypt 算法的 ASIC 矿机.

 

Scrypt 在 ASIC 对抗上做的努力也不是没有成效, Scrypt 的 ASIC 矿机速度确实是比 SHA256 ASIC 矿机速度低. 蚂蚁 S9 (SHA256) 算力可达到 14T/s, 而同期的 Scrypt 矿机蚂蚁 L3+ (Scrypt) 算力才 500M/s.

 

相关链接:

https://bitcoin.stackexchange.com/questions/49199/how-is-scrypt-asic-resistant

 

Ethash

 

以太坊的哈希算法, 基于 Dagger-Hashimoto 改造. 内存型,并且所需内存周期性增长。

 

关于 Ethash 抵抗 ASIC 属性, https://ethereum.stackexchange.com/questions/16811/is-ethereum-asic-resistant 分析的很好.

 

首先由从以太坊白皮书可知, Ethash 要求矿工从最后几个区块里随机取几个交易算出来. 由于以太坊的交易可能包含智能合约, 智能合约中的运算可能是各种类型, 要计算各种类型的计算这是 CPU 的工作, 这就使得 ASIC 无用武之地.

 

其次, 白皮书里没说的一点是 Ethash 需要内存一定要快, ASIC 需要外挂 DRAM, 而 DRAM 的速度是完全比不上显卡里的 SRAM 的.

 

这两点正中 ASIC 要害, 所以从 whattomine.com 来看 Ethash 目前还是要用显卡挖.

 

但是前段时间也确实爆出了比特大陆要推 E3 以太坊矿机,参数都出来了,从暴露的参数来看,E3 矿机配备了 72G 大的 DDR 内存,相比比特币矿机 S9 只有 512M 内存,真是鲜明对比。

 

深度分析:比特大陆入局以太坊矿机将给行业带来怎样的影响?

https://36kr.com/p/5127311.html

 

以太坊社区针对此事进行了讨论,V 神认为这件事不是太大的威胁: https://cryptoslate.com/vitalik-buterin-ethash-asics-ethereum/

 

Equihash

 

Equihash 是 Zcash 采用的哈希算法,后来也被 ZenCash,BitcoinGold 所采用。

 

Equihash 也是内存型算法,其抵抗 ASIC 的关键是找到两个合适的常数来使得算法耗内存最大,一般所说的 Equihash 算法都是指这两个常数为 <200,9> 时的 Equihash 算法。

 

2018 年 4 月, 比特大陆推出 Z9 mini 矿机针对 Equihash 算法。

 

2018 年 6 月,BitcoinGold 发现了 Equihash 算法的另一对常数 <144,5> 能够耗更多的内存: https://forum.bitcoingold.org/t/our-new-equihash-equihash-btg/1512, 这篇文章也深入介绍了 ASIC 的短板,值得一看

 

Zhash

 

Zhash 是基于 Equihash 的强化版,由 bitcoinz 项目开发引入(待确认)

 

CryptoNight

 

特点是依赖 CPU 三级缓存,L3 缓存是 ASIC 和显卡所不配备的装置。 所以 CryptoNight 不但防 ASIC,还防显卡。

 

然而,2018 年 3 月, 比特大陆推出 X3 矿机针对 CryptoNight 算法。为此,门罗币还特意进行了硬分叉来对抗 X3 矿机。

 

相关链接:

CryptoNight算法沦陷,ASIC矿机即将上市,XMR矿工告急? https://zhuanlan.zhihu.com/p/34632126

 

XMR顺利硬分叉,ASIC矿机出局,门罗社区保卫战胜利

https://mp.weixin.qq.com/s?__biz=MzUyNzMzMjE5MA==&mid=2247485689&idx=1&sn=e9d352a5ed86471e45299d518e8d23f9&chksm=fa006ec8cd77e7de2d0e59a99ea04cafaab67a8ad9cf376311e4e86abf46fcf41e1ed972303d&scene=21#wechat_redirect

 

X11, X13, X15 等

 

当 Scrypt 也被矿机攻陷, 达世币带着 X11 就出来了. X11 是 11 种算法串联计算, 上一个算法的输出作为下一个算法的输入, ASIC 上要实现这个逻辑要花一段时间.

 

X11 的 11 个算法是: blake, bmw, groestl, jh, keccak, skein, luffa, cubehash, shavite, simd, echo, 这 11 个都是 SHA3 家族算法 (bitcoin 出现时 SHA3 还未问世, 所以用的是 SHA2 家族的 SHA256 算法). 代码在 https://github.com/dashpay/dash_hash/blob/master/dash.c.

 

但 X11 最终也被矿机攻陷. 2017 年 8 月, 比特大陆发布蚂蚁 D3 矿机, 算力可达 34G/s.

 

相关链接

https://bitcointalk.org/index.php?topic=599319.0

https://bitcointalk.org/index.php?topic=599319.msg6626544#msg6626544

 

X 系列算法组成: https://getpimp.org/what-are-all-these-x11-x13-x15-algorithms-made-of/

 

另外 D3 矿机的出现还被认为毁了达世币 http://www.qukuaibiji.com/dash-kuangji.html, 看完就知道为什么各个币都要对抗 ASIC 矿机了.

 

X16R

 

RavenCoin 提出的算法. 不仅仅不 X11 多了几个算法, 这些个算法的次序还是可以改变的, 使用前一个区块的哈希值决定本区块的算法次序. 这使的再次在一段时间内不会出现 ASIC 矿机.

 

有句话这样说:

 

POW机制必然会导致中心化,专业程度越高,获得的市场份额就越多。所有的POW算法都无法阻挡ASIC矿机的出现,最多只能拖延一时。你可以用 Scrypt 算法来阻挡 SHA-256 的矿机,你可以用 X11 算法来阻挡 Scrypt 算法的矿机,顶多只能做到这样了。只要币价足够高,一定会导致ASIC矿机的出现。

 

X16R 所用的算法是 X15 + SHA512.

 

相关链接

https://bitcointalk.org/index.php?topic=3242152.0

 

赞赏

微信赞赏支付宝赞赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.