首页 货币百科 ProgPoW算法介绍和ProgPoW测试说明

ProgPoW算法介绍和ProgPoW测试说明

PoW算法可确保具有相似资源的矿工有相似的机会生成下一个区块,这听起来很不错,直到我们考虑了ASIC的阻力。但这到底是什么意思?当加密网络缺乏ASIC抵抗力时,这意味着与商用硬件相比,专用ASIC硬件将能够以更高的效率挖掘该特定货币。

实际上,您甚至可以将CPU,GPU和FPGA(现场可编程门阵列)视为ASIC,因此,在尝试解决ASIC电阻问题时,真正的问题是,与专用硬件相比,专用ASIC的效率要高多少?因此,名为IfDefElse的小组研究了一种新型的PoW算法,称为“ProgPow”,该算法旨在使专用ASIC的效率低于使用商品硬件进行挖掘的效率。

该项目已于5月提交给Zcash基金会,并于11月初获得了拨款。还值得一提的是,在ProgPow算法提交前几天,有争议的加密货币矿业公司Bitmain刚刚发布了专门的ZcashASIC矿机。我们将详细讨论什么是ProgPoW算法,这种新的PoW类型的算法如何工作以及如何帮助对抗专门化ASIC电阻。

一.ProgPoW算法介绍

使用blake2s加密哈希函数代替凯卡克。Blake2s针对32位平台进行了优化,GPU是本机32位架构,这就是为什么首先选择它的原因。实际上,blake2s和blake2b函数都提供相同的安全性,但是它们分别针对32位和64位平台量身定制。

增加混合状态。大寄存器文件是GPU面积,功能和复杂性的重要组成部分。使用大型混合状态会迫使专用ASIC实施类似的状态存储,从而限制了任何潜在的优势。

在主循环中添加了随机的数学序列。编译开销由每50块更改一次的随机数学计算摊销。数学读取和写入状态内的随机位置的随机序列可确保运行算法的ASIC是完全可编程的。但是,无法创建具有固定管线的ASIC,该管线会提高速度或降低功耗。

添加了从支持随机地址的小型低延迟缓存中读取的内容。内存层次结构也是GPU面积,功能和复杂性的重要组成部分。添加缓存的读取将使用此层次结构,并确保专用ASIC将使用类似的结构,从而限制了功率或面积的节省。

ProgPoW算法介绍和ProgPoW测试说明

DRAM读取从128字节增加到256字节。从DAG读取的DRAM已从DaggerHashimoto保留,但大小增加到256字节,这更适合于商用GPU能够处理的工作负载。同时,专用ASIC无法针对极小的访问优化存储控制器以获取性能。

对于当前可用的各种商用GPU,可以使用六个参数来调整ProgPoW算法:

ProgPoW_LANES:协调计算单个哈希实例的并行通道数(默认值为32)。

ProgPoW_REGS:寄存器文件的使用大小(默认值为16)。

ProgPoW_CACHE_BYTES:缓存的大小(默认为16×1024)。

ProgPoW_CNT_MEM:帧缓冲区访问的次数,定义为算法的外部循环(就像DaggerHashimoto一样,默认值为64)。

ProgPoW_CNT_CACHE:每个循环的缓存访问次数(默认值为8)。

ProgPoW_CNT_MATH:每个循环的数学运算数

(默认值为8)。

ProgPoW使用FNV1a合并数据。现有的DaggerHashimoto使用FNV1进行合并,但是FNV1a提供了更好的分发属性。

还提到ProgPoW依赖FNV1a进行数据合并,与DaggerHashimoto的FNV1相比,它具有出色的分布特性。该算法还依赖于KISS99来生成随机数,它是通过TestU01统计测试套件的最简单的随机生成器。可以在专用ASIC上成功实现更复杂的随机数生成器,从而有可能提高效率。ProgPoW算法将需要采用fork,因为它与当前的Equihash实现不向后兼容。

二.ProgPoW测试

使用来自两家制造商的六个GPU模型测试了上述算法。由于ProgPoW几乎使用了所有GPU功能,因此结果表明相对GPU性能类似于游戏和图形应用程序。

对于每个制造商,测试的型号使用两种不同的芯片和内存类型(用于AMD的Polaris20-GDDR5和Vega10-HBM2;用于NVIDIA的GP104-GDDR5和GP102-GDDR5X)。这是测试的平均哈希率结果:

AMDRadeonRX580–9.4MH/s

AMDRadeonVega56–16.6MH/s

AMDRadeonVega64–18.7MH/s

NVIDIAGeforceGTX1070Ti–13.1MH/s

NVIDIAGeforceGTX1080–14.9MH/s

NVIDIAGeforceGTX1080Ti–21.8MH/s

当Zcash批准ProgPow并仍在实施ProgPoW时,比特币的比特币兴趣(BCI)分支已于9月进行了转换,成为使用该新算法的第一枚代币。以太坊也正在考虑升级到ProgPoW,有很多论据可以验证这一举动,但是以太坊背后的家伙是否最终会采用它还有待观察。

关于作者: szhbsd

热门文章