📢 Gate广场 #NERO发帖挑战# 秀观点赢大奖活动火热开启!
Gate NERO生态周来袭!发帖秀出NERO项目洞察和活动实用攻略,瓜分30,000NERO!
💰️ 15位优质发帖用户 * 2,000枚NERO每人
如何参与:
1️⃣ 调研NERO项目
对NERO的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与NERO生态周相关活动,并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
NERO热门活动(帖文需附以下活动链接):
NERO Chain (NERO) 生态周:Gate 已上线 NERO 现货交易,为回馈平台用户,HODLer Airdrop、Launchpool、CandyDrop、余币宝已上线 NERO,邀您体验。参与攻略见公告:https://www.gate.com/announcements/article/46284
高质量帖子Tips:
教程越详细、图片越直观、互动量越高,获奖几率越大!
市场见解独到、真实参与经历、有带新互动者,评选将优先考虑。
帖子需原创,字数不少于250字,且需获得至少3条有效互动
Jarvis Network遭闪电贷重入攻击 损失663,101 MATIC
Jarvis Network 项目遭受闪电贷重入攻击分析
数据显示,2023年1月15日17:43:37 UTC,Jarvis_Network项目遭到攻击,损失663,101个MATIC。
分析交易调用栈发现,在移除流动性过程中存在重入逻辑。重入前后对同一合约的同一函数调用,传入参数相同,但返回值差异巨大:
重入发生在remove_liquidity函数中。该函数在移除流动性时会将用户添加的代币返回。由于Polygon和EVM是同构链,在MATIC转账给合约时会触发合约的重入。
深入分析发现,问题出在getUnderlyingPrice函数的实现上。该函数涉及到一系列内部计算和外部调用,其中关键是get_virtual_price函数的返回值。
get_virtual_price函数的返回值受self.D变量影响。在remove_liquidity函数中,self.D的更新发生在代币转账之后。攻击者在移除流动性时,MATIC转移到攻击合约,回调fallback时先查询了代币价格。由于self.D尚未更新,导致价格获取错误。
remove_liquidity函数流程:
攻击者在第2步进行重入,利用未更新的self.D值进行借贷,获取了10倍于正常价格的资金。
虽然remove_liquidity函数使用了@nonreentrant('lock')防止重入,但攻击者通过跨合约重入绕过了这一保护机制。
此次攻击暴露了几个关键问题:
为提高安全性,项目方应:
通过这些措施,可以显著提升项目的安全性和稳定性,有效防范类似攻击。