主页 > 华为手机安装imtoken > 【缤纷专栏】ProgPoW——对抗ASIC矿机的新装备?

【缤纷专栏】ProgPoW——对抗ASIC矿机的新装备?

华为手机安装imtoken 2023-03-16 05:07:16

什么是 ProgPoW(工作量证明)?

ProgPoW(Programmed Proof of Work)是一种工作量证明算法,用于缩小主板矿机和专用 ASIC 矿机之间的效率差异。 设计目标是使算法更符合 GPU 矿机的要求和可用性,如果算法在 ASIC 矿机上实现,它可能比 GPU 矿机比主板矿机更高效。

一般认为算法固定在工作量证明(POW)算法的挖矿中,可以设计硬件来适配该算法,使硬件在执行算法时效率更高。 而在 ProgPoW 中,情况是相反的:首先你有硬件,然后你改变算法来匹配它。 “

ProgPoW 的主要特点是:

- 将 keccak_f1600 (with 64-bit words) 更改为 keccak_f800 (with 32-bit words) 以减少对总计算能力的影响

- 添加混合状态

- 在主循环中添加随机数学序列

- 添加了对随机地址的低延迟、小规模缓存读取的支持

- 将 DRAM(动态随机存取存储器)读取从 128 字节减少到 256 字节

目前市场上的主流主板都支持以上功能。 虽然定制的ASIC矿机也可以用该算法实现,但可用效率并没有太大的降低。 唯一可用的优化是:

- 删除图形管道(显示、几何引擎、纹理等)

- 删除浮点运算

1070以太坊_以太坊中文钱包_以太坊

- 本地 ISA 调整,例如与 merge() 函数完全匹配的指令

这些优化将使其效率降低约1.1-1.2倍。 但也远高于Ethash算法的2倍或Cryptonight算法的50倍。

1070以太坊_以太坊_以太坊中文钱包

为什么ASIC挖矿会被POW币抵制?

目前比较担心的是,ASIC的出现会导致算力急剧下降,从而使得POW挖矿越来越中心化。 因此,保持ASIC抗性仍然是各种币种挖矿去中心化的关键点。

以太坊采用Ethash算法,GPU主板矿机挖矿仍是主流,很久没有受到ASIC矿机的攻击。 但是随着今年可以挖以太坊的ASIC矿机的出现,比如蚂蚁E3,算力很可能集中在少数持有大量ASIC矿机的矿工手中,而以太坊面临挖矿中心化的问题。

因此,以太坊社区仍然存在反对 ASIC 的声音,ProgPow 共识机制就是在这种情况下诞生的。 ProgPoW 并没有带来更高的效率。 相反,它限制了ASIC矿机的算力,缩小了具有特定功能的硬件之间的效率差异,使其与GPU矿机的效率持平。 也就是说,ProgPow是ASIC矿机的性能抑制器。

虽然“抗 ASIC”的目标很有价值,但“抗 ASIC”的概念仍有待商榷。 因为CPU和GPU本身也是ASIC。 所以ASIC resistance的真正含义是:定制硬件和适用性更广的硬件之间的效率差异。 定制 ASIC 硬件和传统硬件之间的效率差异很小,这意味着算法效率较低但性能优越。

ProgPoW 的设计目的是什么?

ProgPoW 的设计源自 Ethash,并经过修改以最大限度地利用商品 GPU。

以太坊使用的 Ethash 算法是一种内存密集型工作量证明算法,可以在主流商用显卡上良好运行。 Ethash 需要相当大的帧缓冲区和尽可能多的带宽,而这两者正是 Ethash 所需要的。 这允许为 Ethash 算法设计专用的 ASIC,它包含以下属性:

以太坊_1070以太坊_以太坊中文钱包

● 高带宽显存插槽(通常为 GDDR6 或 HBM2),用于从 DAG 导出数据

● 用于Keccak 哈希估计的keccak 引擎;

用于执行内环 FNV 和地址模运算的大型评估内核;

由此产生的定制 ASIC 将比现有 GPU 更小,消耗的煤炭更少。 高配置(GDDR6或HBM2)以太坊ASIC矿机可实现GPU矿机两倍的挖矿性能。 但是,由于以太坊社区的谴责,威胁可能会改变算法。 同时,还有一些技术原因。 比如BitTaiwan的E3因为使用的是DDR3内存,所以ASIC矿机相比GPU算力优势并不大。 因此,以太坊 ASIC 矿机还没有被大规模采用。

1070以太坊_以太坊_以太坊中文钱包

GTX1070执行Ethash时,流式多处理器(SM)使用率不到30%。

1070以太坊_以太坊_以太坊中文钱包

在移除了 Keccak 的 GTX1070 上对 Ethash 进行性能分析表明,显卡的估计内核实际上只使用了 20%,还有 10% 的效率有待提高。

1070以太坊_以太坊_以太坊中文钱包

经过优化后,ProgPoW 可以大幅提升 GPU 的计算能力。 在Nvidia GTX1070上运行的ProgPoW测试结果表明,当内存利用率达到87.55%时,GPU预估核心的SM(streaming multiprocessor)利用率可以达到87.95%。 GTX1070 的执行能力立即使计算(即 SM)和内存带宽饱和。

理论上,专用于执行 ProgPoW 的 ASIC 需要包括:

以太坊_以太坊中文钱包_1070以太坊

- 高带宽显存插槽

- 有小寄存器

- 能够估计大量随机数的估计核心

- 低延迟、高吞吐量、大存储缓存

- 小型 Keccak + KISS99 引擎

结果是这些专用 ASIC 矿工与现有的商业 GPU 非常相似。 只会稍微小一点,能量消耗比例也不会相差太多。 优化后的ASIC预估性能只会是目前GPU的1.1-1.2倍,大大缩小了ASIC与GPU的性能差异。

ProgPoW 进展

关于 ProgPoW 的争论从 2018 年初开始。

2019年1月伊始,以太坊开发社区初步达成协议,使用可以防止ASIC矿机挖矿的ProgPoW算法。 ProgPoW算法的部署也引起了矿工、矿机厂商和开发者的争议。

● 矿机厂商指责ProgPoW开发团队成员与芯片厂商英伟达有关联或被其拉拢,ProgPoW团队主要成员证实了这一点。

●以太坊矿工强烈要求部署ProgPoW算法,提高GPU挖矿效率,避免算力集中在ASIC矿机厂商手中,应对以太坊区块奖励减少。 有矿工表示1070以太坊,他们已经投入了数百万美元建设GPU矿场,我们其实要为自己的利益着想1070以太坊,很明显ASIC正在损害我们的利益。 另一方面,我们也挖矿,因为我们相信以太坊本身。

以太坊_以太坊中文钱包_1070以太坊

●一些开发者声称使用ProgPoW客户端拆分ETH。

此前,矿机厂商林芝发表声明,要求搁置ASIC算法,呼吁以太坊开发团队对ProgPoW算法矿机出台明确的规则和要求。 林芝将为ETH和ETC使用的Ethash挖矿算法开发一款ASIC矿机,预计2019年4月上市。

Bitfly 还在 Facebook 上发起了一项调查,询问网友对以太坊取代 PoW 机制的想法。

根据目前的结果,44%的网友支持转用ProgPoW,36%的网友支持转用其他抗ASIC算法,3%的网友支持转用其他对ASIC友好的算法,17%的网友认为Ethash应该被保留。

以太坊_1070以太坊_以太坊中文钱包

以太坊高级研究员 Vlad Zamfir 发起投票:

你支持硬分叉来禁用以太坊 ASIC 矿工吗?

投票结果:超过 6,900 人投票,57% 的人支持该提案

以太坊社区的开发者 Piper Merriam 在 Github 上发布了 EIP #958,提议通过硬分叉来禁用 ASIC 矿机

我们是否应该通过硬分叉更改挖矿算法以防止 ASIC 挖矿? 如果以太坊不做出改变,我们是否应该通过分叉以太坊来表达我们抵制 ASIC 的决心?

投票结果:1076人支持分叉,45人反对

以太坊_以太坊中文钱包_1070以太坊

对于 ProgPoW,以太坊社区基金赏金计划负责人 Cassandra Shi 在接受 Blue Relativity 采访时提到:

“ProgPoW 最大的改进是缩小了 ASIC 和 GPU 挖矿设备的性能差异,让网络可以更加去中心化。这是一个很表面的观点,其实背后有很多隐藏的取舍。这这就是我们升级到 ProgPOW 的原因,这个法案在社区中非常有争议。”

在 2018 年 9 月的以太坊开发者大会上,Martin Horst Stevender 透露,如果技术基础得到保障,以太坊将与上次较大升级“并行”推出,并实施名为“ProgPoW”的共识机制更新。 其实ProgPow的基本原理和PoW是一样的,都是工作量证明,矿工的收益是由算力的大小决定的。 但是ProgPoW并不能带来更高的效率,反而可以限制ASIC矿机的算力,使其达到与GPU矿机相当的水平。

马丁霍斯特斯温德说:

“我认为 ProgPoW 软件更新的部署是一个很好的改变,我希望以太坊网络能够尽快实施。”

不过,为了尽快驱逐ASIC矿工,Martin Horst Stewende已经在此前的一次峰会演讲中呼吁独立实施“ProgPoW”硬分叉升级,甚至可以与“君士坦丁堡”升级脱钩. 他说:

“如果我们最终决定为两次升级使用完全相同的块大小,那就太好了,但不一定如此。”

Martin Holststwende 还表示,以太坊后续成本优化的硬分叉升级当然也可以和“ProgPoW”一起实现。

这个 Reddit 线程详细讨论了这个问题:

“在电话会议期间,有人推动将 ProgPOW 包含在下一次分叉中,这将在君士坦丁堡分叉后大约 8 个月,更有可能是 10-11 个月。 所以我们正在看 ProgPOW 实施前 12-14 个月的时间线,可能是 2019 年 9 月-11 月的某个时间。或者我认为新的时间线是 2019 年-2020 年初?

《以太坊爱好者》主编阿健说

改变算法抵制硬件制造的中心化,结果是不同的开发者群体开始争夺算法的控制权,这间接关系到一些厂商的利益。 一种中心化对抗另一种中心化,而且它并没有变得更加透明。

也许这是对 ProgPOW 辩论最正确的分析!