美文网首页我爱编程
【#2-赵文力】Ulord靠什么防止ASIC矿机,为什么要这么做

【#2-赵文力】Ulord靠什么防止ASIC矿机,为什么要这么做

作者: 劦力 | 来源:发表于2018-05-28 17:23 被阅读95次

    2 Ulord靠什么防止ASIC矿机,为什么要这么做?

    说到ASIC矿机,就有必要普及一下到底什么是ASCI矿机了。

    专用集成电路(英语:Application-specific integrated circuit,缩写:ASIC),是指依产品需求不同而客制化的特殊规格集成电路。专用集成电路是由特定使用者要求和特定电子系统的需要而设计、制造。

    上一篇我们讲到想要成为合格的主节点是需要验证QoS以及通过PoS验证的,由于需要存储空间和网络服务的贡献,主节点并非ASIC矿机的目标,因为ASIC并不能降低存储和网络服务的成本。那么Ulord的反ASIC说的是什么呢?

    别忘了,Ulord是有不同类型的节点的,而ASIC的目标其实就是使用PoW共识机制的Ulord「全节点」。全节点和比特币、以太坊的节点一样,用于存储UlordToken的所有历史交易记录。目前众多的PoW区块链都已被ASIC矿机逐一攻陷,记账成了ASIC矿机拥有者的专利,增加了普通用户的挖矿门槛,更是削弱了去中心化的初衷。那么我们的Ulord又要如何防止ASIC矿工垄断记账权呢?这里我们就不得不提白皮书中提到的防ASIC的挖矿算法——CryptoHello。

    CryptoHello是一种Memory-Hard的PoW算法,与比特币使用的SHA256算法相比,Ulord所采用的算法除了需要进行哈希计算外,还需要CPU高速缓存作为计算过程中的数据缓存。且通过复杂的串行流程化的内存访问机制,大大降低了哈希计算能力做出的贡献在挖矿过程中的占比。即使通过ASIC大幅度提高单个问题的解决速度,挖矿的效率依然受缓存读写速度及缓存空间的限制。

    这就有点像我们为了知道一个很长的队伍里总共有多少人,让他们报数,为了得到答案,这个过程里的每个人都要「听上一个人报给你的数是多少」和「把你的号数念出来给下一个人」,但大脑思考你自己是几号这件事情其实只需要一瞬间。也就是在程序中大部分的时间是消耗在「听上一个人报给你的数是多少」和「把你的号数念出来给下一个人」上面,在「CryptoHello」算法里就相当于串行计算的步骤间,缓存数据读写、传输的过程。

    也就是说,在Ulord的挖矿过程中,ASIC即使算力再强大,也逃不过缓存空间和速度的极限,而要去突破这个极限,就将大大降低ASIC矿机的性价比。没有利益的事情,谁会去做呢?

    那么为什么Ulord要煞费苦心的将ASIC矿机赶尽杀绝?

    在我看来,这也许出自于项目组对去中心化的坚守。毕竟ASIC矿机的出现,使得几乎将所有的PoW共识机制的区块链出块奖励都被ASIC矿机持有者揽入怀中,而真正的普及度高的计算设备参与挖矿几乎一无所获,这就导致算力高度集中在ASIC矿机的拥有者手中。而家用电脑的普及率显然要高的多,CPU与CPU之间的算力差距也不像比特币算法中CPU与ASIC的算力差距那么悬殊,这使得每一个有电脑的、愿意参与挖矿的人都能获得回报,显而易见的是,拥有电脑的人的数量肯定远超拥有ASIC矿机的人。通过反ASIC的PoW算法,能更有效的防止算力集中化,防止矿工聚集算力作恶。

    相关文章

      网友评论

        本文标题:【#2-赵文力】Ulord靠什么防止ASIC矿机,为什么要这么做

        本文链接:https://www.haomeiwen.com/subject/idggjftx.html