2020年12月29日,据慢雾区情报Cover协议价格暴跌,以下是慢雾安全团队对整个攻击流程的简要分析。
1.在Cover协议的Blacksmith合约中,用户可以通过deposit函数抵押BPT代币;
2.攻击者在第一次进行deposit-withdraw后将通过updatePool函数来更新池子,并使用accRewardsPerToken来记录累计奖励;
前OCC代理署长:稳定币监管有利于美元在全球的采用:8月13日消息,前OCC代理署长及Binance US CEO Brian Brooks表示,明确的稳定币监管有利于美元在全球的采用,尽管一些美国立法者认为这可能对金融体系和经济有害。“如果美国政府能够创建一个框架,允许美元以受监管的方式支持稳定币,那么这种需求就会蓬勃发展,这将有利于全球美元的采用。但只要我们允许政府压制稳定币,就会出现相反的情况,”
Brian Brooks补充说,在世界各国政府寻求与美元脱钩之际,对(稳定币)的需求是让美元再次发挥作用的一种方式。“这确实是一个非常重要的政策问题。这与加密货币无关,而是与美国在金融体系中扮演的角色有关。”[2023/8/13 16:22:46]
3.之后将通过_claimCoverRewards函数来分配奖励并使用rewardWriteoff参数进行记录;
Curve:CRV/ETH池中大部分资金已被回收到Curve DAO合约中:8月5日消息,Curve 发推称,仍留在 CRV/ETH 池中的大部分资金被回收到 veCRV 控制的 Curve DAO 合约中。[2023/8/5 16:20:28]
4.在攻击者第一次withdraw后还留有一小部分的BPT进行抵押;
Arbitrum网络RPC近乎全部宕机:3月23日消息,ChainList 数据显示,Arbitrum 网络持续拥堵,RPC近乎全部宕机。[2023/3/23 13:22:31]
5.此时攻击者将第二次进行deposit,并通过claimRewards提取奖励;
6.问题出在rewardWriteoff的具体计算,在攻击者第二次进行deposit-claimRewards时取的Pool值定义为memory,此时memory中获取的Pool是攻击者第一次withdraw进行updatePool时更新的值;
7.由于memory中获取的Pool值是旧的,其对应记录的accRewardsPerToken也是旧的会赋值到miner;
8.之后再进行新的一次updatePool时,由于攻击者在第一次进行withdraw后池子中的lpTotal已经变小,所以最后获得的accRewardsPerToken将变大;
9.此时攻击者被赋值的accRewardsPerToken是旧的是一个较小值,在进行rewardWriteoff计算时获得的值也将偏小,但攻击者在进行claimRewards时用的却是池子更新后的accRewardsPerToken值;
10.因此在进行具体奖励计算时由于这个新旧参数之前差值,会导致计算出一个偏大的数值;
11.所以最后在根据计算结果给攻击者铸造奖励时就会额外铸造出更多的COVER代币,导致COVER代币增发。
具体accRewardsPerToken参数差值变化如下图:
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。