Ulord靠什么防止ASIC矿机

2018-05-21  本文已影响20人  桎柚枯

从Ulord的白皮书中得知Ulord采用的是 POW+POS 相结合的方式作为共识算法,POW 负责链的记账,POS则是为了鼓励更多的主节点加入为Ulord提供海量的分布式存储空间。其中,POW采用CPU挖矿算法起到防止 GPU、FPGA、ASIC 等专业挖矿方式上的实现。

那么回到本文的问题,Ulord靠什么防止ASIC矿机呢?

Ulord采用的CryptoHello算法借鉴存储器难度(memory-hard)工作量证明算法的设计思路设计了一个单向函数H,满足 y=H(x),H 应满足的要求类似于散列函数,即单向性、雪崩性、随机性,使得计算效率在 CPU上较高,但是在ASIC上难以发挥性能。

为了防止ASIC上挖矿效率的高效实现,CryptoHello 算法总体设计方案,单向函数的设计满足以下4个特征

1)工作存储器容量选择面向 CPU的cached的容量优化,但是对于ASIC 则难以满足同时大量执行大量工作量证明算法的存储器容量需求。

(2)高度串行化。在修改工作存储器阶段使用严格串行的执行程序,而且以字节为单位访问可以使得ASIC在计算过程中基本没有可以并行执行的成分,并大幅降低其存储器系统效率。

(3)大量的控制相关性。整个方案控制逻辑复杂,所需存储器容量大,内存访问地址不规则,即H中需要执行比较多的条件分支指令,难以使用传统堆叠大量加速部件模块的方法实现ASIC。

(4)使用16种散列函数构成的散列函数族,并从中随机选择执行,这将大幅度增加 ASIC芯片的芯片面积,并且防止了 ASIC芯片中针对每种散列函数专门定制设计的优势。

上一篇下一篇

猜你喜欢

热点阅读