ProgPoW如何抵御ASIC?开发团队IfDefElse为你解答_PRO:ROG

在获得一些主流媒体的关注之后,ProgPoW开发团队IfDefElse收到了许多算法方面的提问,他们对其中几个常见问题做出了解答。经原文作者的同意,矿视界对此进行了翻译报道。1问:在以太坊治理方面,你们的立场是什么?答:暂无立场,我们觉得许多问题应该留给社区来回答,比如是否或者说何时采用ProgPoW。我们负责提出新的算法,并乐意回答与之相关的技术性问题。2问:ProgPoW从何而来?答:IfDefElse是分析和优化PoW算法的一个小团队。我们观察到ETH社区一再要求使用一种新的PoW算法,在这种算法中,专业的ASIC矿机和常规硬件设施比起来,优势不大。眼看着诸多算法在ASIC矿机面前不堪一击,实在令人心痛,每次新的ASIC矿机问世都会让整个ETH社区陷入沮丧。于是在2018年春天里的一天,我们就有了通过修改Ethash算法,使其达到GPU挖矿预期效果的想法。初步编辑好该算法后,我们把它放到了GitHub公共版块上进行研发和微调。3问:谁对ProgPoW进行了测评?答:在一次收集算法使用反馈的过程中,我们幸运地收到了来自以太坊基金会工程师,以太坊核心研发工程师,NVIDIA工程师和AMD工程师的反馈邮件。NVIDIA和AMD工程师都对该算法作出了总体正面的评价。值得一提的是,有两处算法的更新优化是基于社区成员mbevand和Schemykh的评价作出的。4问:AMD作何反应?答:AMD的回应解决了两大疑虑:如果用ProgPoW算法替代EthashPoW算法,难道ASIC矿机厂商就没办法迅速研究开源代码并制造专门ASIC矿机吗?ProgPoW算法会不会让GPU矿工挖以太难上加难?AMD一位工程师给出了肯定回答,理论上是可以针对ProgPoW造新的ASIC矿机,但这需要制造方有专门的GPU知识背景,尤其是内存控制器技术。不仅如此,他们还表达了对缓存大小的担忧。他们在邮件中提到,不论缓存是8KB还是16KB,AMD和NVIDIA在性能上无大差别。但在32KB和64KB时就可能会对两种GPU厂商架构产生重大影响,在Polaris和Vega上也会存在不兼容性。根据他们的反馈,我们把PROGPOW_CACHE_BYTES的大小设置为16KB。5问:NVIDIA作何反应?答:NVIDIA工程师大体同意我们的方法。他们说,该算法用运算填补了内存访问间的漏洞,而不是让GPU像高贵的内存控制器一样无所事事地闲置在那。他们主要的担忧是,如果算法里增加太多随机运算,最后会变成受计算限制,而非受存储限制。如此一来,为受计算限制算法打造的ASIC矿机可能会获得更大的效率和增益。根据他们的反馈,我们微调了PROGPOW_CNT_CACHE和PROGPOW_CNT_MATH以保证该算法对当下大部分GPU仍保有受存储限制。6问:如果ProgPoW是在主回路上调用模并使用kiss99()写法来选择随机指令,那么针对这一算法设计的ASIC矿机难道不会更加高效吗?答:这是第一次查看该算法时常会有的误区。事实上,在主回路上模和kiss99()写法的调用,是由CPU计算并以此生成一个随机程序,然后再由CPU进行编译的。GPU负责的是执行优化代码,而这些代码已经解决了执行何种指令和使用何种混合状态的问题。正如Alexey所言,ProgPoW每50个区块生成一次源代码。生成程序示例请见:kernel.cu.我们也将在标准中作进一步说明。7问:为了编译生成的源代码,矿工需要安装AMD或者NVIDIA软件开发工具包吗?答:不需要。AMD和NVIDIA的驱动中包含OpenCL,DirectX和Vulkan编译器。对于CUDA来说,二进制内核文件会和小部分软件开发工具包一起分配。8问:ProgPoW算法有GPU架构上的偏好吗?答:没有,ProgPoW算法的设计初衷就是尽可能地保证公平性。OpenCL和CUDA在执行上并无差异,16KB大小的缓存在这两种架构上都能顺畅运行。我们避免了只在一个架构上进行16位或24位运算,无论是AMD编入索引的寄存器文件,还是NVIDIA的LOP3,所有的操作都得到了跨代体系架构的良好支持。用ProgPoW算法的GPU在挖矿工作负载中的性能也将反映该GPU的平均游戏性能。9问:为什么经过大量修改VBIOS的GPU,在Ethash和ProgPoW之间的速度差反而比预期慢2倍以上了?答:ProgPoW读取每哈希的内存是Ethash的两倍,因此预期哈希率为1/2。我们之前报告的所有调优和样本哈希率都是在以正常频率运行的GPU上面完成的。为降低核心频率而大量修改VBIOS将会导致矿机运行该算法时受计算限制,而非受存储限制。如果用户需要更换到新算法,VBIOS的修改与调优将需要重新进行。10问:你们能讲讲EthashASIC矿机如何比GPU矿机效率高出两倍吗?Ethash算法只需执行3个组件:高带宽存储器Keccakf1600引擎微型计算核心FPGA的数据表明,Keccak计算所耗费的功率几乎可以忽略不计。我们估计,在执行Ethash算法时,大约只有1/2的GPU功率花在了内存访问上。而EthashASIC矿机的Keccak和计算核心的功率可以忽略不计,其功率主要消耗在内存访问上,所以GPU在挖矿效率上还有两倍的改进空间。当前Ethash挖矿硬件快速摘要:

Naoris Protocol完成1150万美元融资,Tim Draper领投:7月27日消息,Naoris Protocol完成1150万美元融资,Tim Draper领投,Holt Xchange、Holdun Family Officer、SDC Management、Expert Dojo、Uniera、Level One Robotics等参投。据悉,Naoris Protocol旨在是改造区块链网络安全。(Silicon Angle)[2022/7/27 2:41:49]

除TitanV,所有数据均来自whattomine.com和asicminervalue.com。第一代EthashASIC矿机,比特大陆的AntminerE3和GPU矿机相比没有任何效率上的优势。这是因为它的DDR3内存比GPU矿机的GDDR内存功耗更高。据我们所知,尚未发布的InnosiliconA10ETHMaster据说在效率上会有更优表现。因为Innosilicon在该系列矿机上使用了GDDR6IP技术,这将使得它的效率可以达到目前最高效挖矿GPURTX2070的两倍。11问:HBM的实用性如何?答:我们最初的算法评估是使用同种内存类型进行同标准比较的。HBM功耗低,但价格贵,就显得不够实用。举个例子,带有HBM的NVIDIATitanV比起A10ETHMaster,效率上仅逊色一点,但成本高达3,000美元,明显没有实用性。带有HBM的AMDVega卡价格倒是合理,但又因为一些原因它的算力只能达到175KH/s/W。Vega效率受何限制我们尚不确定,增加访问大小能够明显改善这一情况但Vega显卡的功耗仍然过高。我们期待刚刚宣布的双倍带宽AMDRadeonVII显卡能在效率上有显著改善。我们预估HBM的功率约为GDDR6的一半,如果使用HBM制造昂贵的EthashASIC矿机,算力将超1MH/s/W,这效率大约是市面上常规GPU的4倍。12问:ProgPoWASIC能有多高效率?答:ProgPoW旨在大幅减少专用ASIC矿机的效率增益。该算法执行需满足如下组件:高带宽存储器Keccakf800引擎大型寄存器文件高吞吐量SIMD整数学高吞吐量SIMD缓存Keccak容量变小,因此它在GPU上的功耗也已经可以忽略不计了。这么一来,ASIC矿机在降低功耗方面的优势也将不复存在。为了执行随机序列,ProgPoWASIC矿机需要执行和GPU上的计算核心非常相似东西。所有SIMD的寄存器访问、数学运算和缓存访问都需要类似GPU的运行环境。没错,ProgPoWASICISA能够通过精确设计,使之匹配ProgPoW算法,例如删除浮点、增加显式merge()等操作。然而这种专业化只会提供少量的边缘效益,而不是数量级的收益增加。乐观来说,我们假设精心设计的ProPoWASICISA可以移除1/4计算核心功耗。由于GPU内核在执行ProPoW时要活跃得多,我们估计内存接口大约消耗GPU功率的1/3。那么使用GDDR的PropPoWASIC矿机相对功耗则为:1/3(内存)*1+2/3(计算)*3/4=5/6优势为1.2倍若使用HBM,则ProgPoWASIC矿机的相对功耗则为:1/3(内存)*1/2+2/3(计算)*3/4=2/3优势为1.5倍13问:能在FPGA上运行ProgPoW吗?答:首先,在FPGA上运行ProgPoW存在实际问题。因为随机程序每12.5分钟更改一次,因此需要经常编译和加载新的比特流。完成此任务的工具和设施基本上不存在。就算忽略这个问题,ProgPoW也不能很好的映射到FPGA,FPGA对于计算密集的算法(如Keccak或Lyra)行之有效。通过将多个操作封装到单个时钟周期中,同时运行多个操作,这些算法可以显著地提高性能和降低功耗。ProgPoW算法循环有许多在序列中交错的缓存读取,这极大地减少了可以打包到单个时钟周期或并行运行的操作。在ProgPoW算法下,FPGA的打包操作既降低了挖矿硬件的性能,又增加了信息通道的长度。因为大型的混合状态,增加的信息通道长度也成了一个问题。如果沿每个信息通道阶段性地复制此大混合状态,则会浪费大量电能。当然,我们也可以把混合状态存储在寄存器文件中,让FPGA的计算核心看起来很像ASIC或GPU,但那样做的话,FPGA的运算效率将显低于ASIC。14问:以上所有问答貌似十分冗长,能简单做个总结吗?答:当然

Fairyproof:LP价格采用加权平均无法有效预防闪电贷:3月22日消息,Fantom上部署的DeFi应用OneRing Finance遭到攻击。本次攻击黑客的地址为Fantom上的0x12EfeD3512EA7b76F79BcdE4a387216C7bcE905e。黑客借助部署在0x6A6d593ED7458B8213fa71F1adc4A9E5fD0B5A58上的攻击合约发起了本次攻击。由于该合约在特定区块会自行注销,这使得外界难以追踪OneRing上具体哪个函数被调用从而引发了本次攻击。

在攻击中黑客首先利用Celer Network的cBridge通过跨链获得了发起攻击的GAS。接下来在部署上述攻击合约后的15分钟,通过闪电贷向Solidly借到80,000,000USDC,通过推高LP价格,改变了OShare代币的价格,从协议获取大量OShare代币,掏空了OneRing的资产。黑客最终将盗取的资金从Fantom跨链转回到以太坊并最终通过Tornado.Cash套现。

在本次攻击中,Fairyproof发现该协议计算LP价格的方式不合适,本协议使用的计算方式使得LP价格是瞬时价格,因此极易被操纵。[2022/3/22 14:11:03]

挖矿硬件的相对效率我们最初对Ethash和ProgPoW的2倍和1.2倍估计是假设一样内存类型的同标准比较。在撰写本文时,我们已经意识到,当大多GPU使用GDDR时,我们也要进行不同标准的比较,比如拿使用HBM的ASIC矿机作比较。原地址:https://medium.com/@ifdefelse/progpow-faq-6d2dce8b5c8b原作者:IfDefElse翻译&校对:有条鱼本文由矿视界翻译整理编辑,如需转载,请标明出处。

Ruby Protocol宣布完成730万美元融资,DFG Group等参投:2月10日消息,跨链隐私协议Ruby Protocol宣布完成730万美元融资,Digital Strategies、DFG Group、SigNUM Capital、D1 Ventures、Global Coin Research、Ocean Foundation、DWeb3 Capital、Maverick Global Ventures等参投。

据介绍,Ruby Protocol由Polkadot提供支持,并使用功能加密 (FE) 对链上的敏感数据进行加密,因此只能由具有批准私钥的实体解密。 (Venture Beat)[2022/2/10 9:42:31]

FTX创始人SBF不再担任Cover Protocl正式顾问:Cover Protocol发推表示,FTX创始人及首席执行官Sam Bankman-Fried决定从其正式顾问过渡到非正式顾问。[2020/11/27 22:20:34]

动态 | Simple Ledger Protocol发布允许使用BCH编程的应用程序:据news.bitcoin消息,Simple Ledger Protocol的创建者发布了一个名为Cashy的比特币现金(BCH)程序员的新工具。该工具箱允许开发人员使用BCH网络编写脚本合同和各种可编程的应用程序。[2018/12/21]

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:93ms0-3:393ms