ProgPoW算法被曝漏洞 以太坊ASIC挖矿已不可阻挡?

对于近期备受争议的ProgPoW算法,独立开发者kikx在今日披露了该算法存在的一个漏洞,这使其无法真正实现抗ASIC的目标,kikx还补充表示,这一漏洞是新发现的,并且不会对以太坊当前使用的Ethash算法造成威胁。

对此,以太坊研发人员Philippe Castonguay评论称:

此后,以太坊硬分叉协调员James Hancock对这一漏洞的存在进行了确认,随后表示了感谢。 

那这一漏洞到底是肿么一回事呢?

我们来看看kikx披露的细节吧:

ProgPow存在一个设计缺陷:

ProgPoW 哈希函数被定义为:

然后,执行以下3个步骤:

将seed固定为任何64位值,然后计算mix_hash = hash_mix(block_number, seed);

搜索extra_nonce,以便header_hash满足难度条件;

搜索nonce,以便keccak_progpow_64(header_hash, nonce) == seed;

(A) keccak_progpow_64(header_hash, nonce) == seed;

(B) keccak_progpow_256(header_hash, seed, mix_hash) <= boundary;

在正常的哈希计算中,需要一个keccak_1600调用,才能从block_header计算出header_hash,并针对每个nonce值依次调用其他函数。

而在ASIC哈希计算中,在步骤1中需要一个hash_mix调用,在步骤2中则要调用keccak_1600和keccak_progpow_256,在步骤3中将调用keccak_progpow_64。

由于hash_mix在我们的ASIC计算中仅被调用一次,因此我们可以使用主机CPU来计算hash_mix。而其它函数都是keccak哈希函数,不需要memory存储,并且可以在ASIC上轻松计算。

我们需要比较keccak_progpow_64 row中的D和2^64。简单地说,更大的D会使ASIC更有利可图。估计阈值门槛是困难的,但我认为目前的难度 (> 2^50)是足够大的。

测试代码是简单的。

这里定义了search_asic

由于这一漏洞的存在,矿机商们是不是可以松一口气了?

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

链链资讯

以太坊最新价格金色前哨 | CoinMarketCap上线衍生品数据服务

2019年见证了加密货币衍生品的爆发。头部交易所(火币、币安)纷纷开通期货交易,传统金融机构(如Bakkt)也在开始体用比特币期货、期权交易服务。 为满足用户对衍生品交易数据的需求,2019年3月4日,加密货币数据服务网站CoinMarketCap将数据服务扩展到衍生品市场。

比特币交易所2020年如何抓住牛熊扭转点和区块链应用的机会点?

毫无疑问,2020年是区块链公司跟传统行业建立稳定关系的重要一年,而不管是区块链企业还是传统行业企业想要把握住这个机会,前提是需要重新思考互动的商业模式。 回首过去,洞见2020 昼夜交替,春耕秋收。世间万事万物都有规律和节点。虽然2020年伊始,我们遇到了前所未有的挑战,但对于市场环境来说同时也是一个巨大的转折点。

欧易交易所app官网下载绝对通缩的HT成为火币公链唯一底层通证 这对“王炸”组合威力有多大?

2月29日,火币全球站先后发布公告宣布,火币公链测试网正式上线和火币将再销毁1.5亿枚HT。 这意味着,再销毁1.5亿枚的HT正式进入“绝对通缩”新阶段。同时基于对HT长期价值注入、统一价值载体的考虑,HT也将作为火币公链唯一底层通证。HT与火币公链形成相互赋能的有机结合关系,令市场对这对“王炸”组合的未来充满了想象力。

[0:0ms0-4:30ms