ulord专门设计了cryptohello算法,这是一种CPU友好的算法。看了下白皮书,按自己的想法归纳了下:
1.计算会用到大量存储,对asic不友好。
2.计算中随机使用了16种散列函数,会大幅增加asic矿机芯片面积,也会大幅降低gpu并行特性。
3.使用严格串行的执行序列,控制GPU和asic的并行度。
那么再来讨论下,为什么要防止ASIC矿机呢?
算法对CPU友好,就是为了让大家用CPU挖矿,让算力更加分散,更加去中心化。对加密货币来说,足够的分散度是非常重要的。越分散,整个系统就越健壮安全。
ulord毫无疑问是参考了比特币,以太坊等加密货币的现状。基本所有挖矿的数字货币都是被5,6个大矿池所垄断。
但所有数字货币都形成这种现状,ulord能避免得了吗?
因为门罗分叉时专门就算力问题进行过分析,为了偷懒,我就直接贴出来了:
让我们来想象一下,如果比特币社区一开始就拒绝asic矿机,是怎样一番情形呢?大量的显卡都被用于比特币的挖矿,但比特币的算力仍然是非常小的,如果谁做出asic矿机,可以在短时间内形成足够强的算力攻击,比特币仍然是很不安全的。特别是在加密货币初期,没有很强的算力加持,整个加密货币生态能不能发展起来都是有疑问的。
现在的比特币已经采用了最前沿的技术来保证算力,近期已经不可能出现算力大幅增加的情况。而现在的门罗,拒绝asic矿机,是有可能让算力一直处于不稳定的状态。只要门罗的价格合适,就会有asic矿机做出来。你是可以变换算法,但是如果大算力并不发布矿机而只是自己分散挖矿,你能区别出来吗?到时候大的算力仍然由矿场把握,大部分的收益仍然由矿场获得,而且你还不知道,这不是间接坑了老老实实用显卡挖矿的小矿工吗?这是不是社区的损失?
就像比特币的出块最终还是回到了大算力手上,以太坊出块最终也回到了大算力手上,EOS一开始就设计成大的节点来出块。这么专业的事,本来就应该由专业的人来做。不让专业的人来做专业的事的加密货币,要么就是不需要效率,要么就是极其容易受到攻击。
ulord想将算力分散毫无疑问是好事情,但是效果如何很值得观察。因为目前仍然没有哪个加密货币算真正的将算力分散了。门罗算吗?显然不算,且不说x3在公布之前已经挖了多久,比特大陆还有可能做出下一款门罗的矿机吗?当然可以,只要门罗的价格够高。ulord不会出ASIC矿机吗?那只能说明你的价格太低了,不划算而已。但即使以这种方式达成了算力分散这样真的就安全了吗?超算会对网络造成安全隐患吗?大规模的僵尸网络呢?
verge的例子历历在目。XVG受到的攻击是算力优势+时间劫持。既通过大算力连续出块将网络时间提前到其它人无法同步的地步。虽然官方很快修复了这个漏洞,但根本原因,仍然是算力不足导致的。这次攻击可能根本就只是一次随意的实验,用来试试同样在比特币上存在的规则,在其它算力不足的竞争币上是不是就能成为漏洞?再想想难道只有这一个漏洞吗?要知道,XVG已经是市值前30的数字货币,尚且如此,其它币的算力如何可想而知。