对于近期备受争议的ProgPoW算法,独立开发者kikx在今日披露了该算法存在的一个漏洞,这使其无法真正实现抗ASIC的目标,kikx还补充表示,这一漏洞是新发现的,并且不会对以太坊当前使用的Ethash算法造成威胁。
对此,以太坊研发人员Philippe Castonguay评论称:
此后,以太坊硬分叉协调员James Hancock对这一漏洞的存在进行了确认,随后表示了感谢。
Solana链上合成资产协议Parcl上线测试网3.0版本:6月28日消息,据官方发推称,Solana链上合成资产协议Parcl宣布上线测试网3.0版本,测试网2.0结束以来,团队进行了几项改进,包括添加实时价格馈送等新功能。[2022/6/28 1:35:18]
那这一漏洞到底是肿么一回事呢?
投资巨头Pimco正在考虑进行加密货币交易:金色财经报道,太平洋投资管理公司(Pimco)的首席投资官Daniel Ivascyn证实,该投资巨头正考虑开始进行现货加密货币交易。Ivascyn称,该公司通过与加密相关的证券与市场接触,现在正在考虑“交易某些加密货币,作为其趋势跟踪策略或量化导向策略的一部分,随后将在基本面做更多的工作”。因此这将是一个渐进的过程,该公司在内部尽职调查方面花费了大量时间与投资者交谈。Ivascyn还表示,该公司正在关注DeFi,并将其描述为“具有颠覆性”。[2021/10/21 20:44:36]
我们来看看kikx披露的细节吧:
YouSwap上周销毁96443个YOU:据官方数据,YouSwap上周销毁96443个YOU,YOU总销毁数量达到1,335,016 ,平台挖矿产出15,813,168 个YOU,当前YOU总流通量为15,235,798 。截至8月16日10:00,YouSwapTVL锁仓资金量突破1.43亿USDT,达到143,628,495.11USDT,创历史新高。[2021/8/16 22:16:38]
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
由于这一漏洞的存在,矿机商们是不是可以松一口气了?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。