📢 Gate广场独家活动: #PUBLIC创作大赛# 正式开启!
参与 Gate Launchpool 第 297 期 — PublicAI (PUBLIC),并在 Gate广场发布你的原创内容,即有机会瓜分 4,000 枚 $PUBLIC 奖励池!
🎨 活动时间
2025年8月18日 10:00 – 2025年8月22日 16:00 (UTC)
📌 参与方式
在 Gate广场发布与 PublicAI (PUBLIC) 或当前 Launchpool 活动相关的原创内容
内容需不少于 100 字(可为分析、教程、创意图文、测评等)
添加话题: #PUBLIC创作大赛#
帖子需附带 Launchpool 参与截图(如质押记录、领取页面等)
🏆 奖励设置(总计 4,000 枚 $PUBLIC)
🥇 一等奖(1名):1,500 $PUBLIC
🥈 二等奖(3名):每人 500 $PUBLIC
🥉 三等奖(5名):每人 200 $PUBLIC
📋 评选标准
内容质量(相关性、清晰度、创意性)
互动热度(点赞、评论)
含有 Launchpool 参与截图的帖子将优先考虑
📄 注意事项
所有内容须为原创,严禁抄袭或虚假互动
获奖用户需完成 Gate广场实名认证
Gate 保留本次活动的最终解释权
Poolz遭算术溢出攻击 损失66.5万美元 多链资产受影响
Poolz遭遇算数溢出攻击,损失约66.5万美元
近日,一起针对Poolz的攻击事件在以太坊、币安智能链和Polygon网络上发生。根据链上数据监控,攻击发生于2023年3月15日凌晨3点16分(UTC时间)。此次攻击涉及多种代币,包括MEE、ESNC、DON、ASW、KMON、POOLZ等,总计损失约66.5万美元。
攻击者利用了Poolz智能合约中的一个算数溢出漏洞。具体来说,问题出在CreateMassPools函数中的getArraySum函数。该函数在计算用户批量创建池子时提供的初始流动性时,未能正确处理大数相加导致的溢出情况。
攻击过程如下:
攻击者首先在某去中心化交易所兑换了少量MNZ代币。
随后调用CreateMassPools函数,传入精心构造的参数。其中_StartAmount数组包含两个值:一个接近uint256上限的大数,以及一个正常的代币数量。
由于getArraySum函数中的累加操作导致溢出,最终返回值为1。然而,合约在记录池子属性时仍使用了原始的_StartAmount值。
这导致攻击者实际只转入1个代币,却在合约中记录了一个巨大的流动性数量。
最后,攻击者调用withdraw函数提取代币,完成攻击。
为防止此类问题再次发生,建议开发者采取以下措施:
使用较新版本的Solidity编译器,这些版本会自动进行溢出检查。
如果必须使用旧版Solidity,可以引入第三方安全库来处理整数运算,如OpenZeppelin的SafeMath库。
在处理用户输入时,特别是涉及大数运算的场景,应该进行严格的边界检查和异常处理。
定期进行代码审计,特别关注可能涉及整数溢出的部分。
考虑引入多重签名或时间锁等机制,为紧急情况下的响应争取时间。
这起事件再次提醒我们,在智能合约开发中,安全性应始终是首要考虑因素。即使是看似简单的算术操作,也可能成为攻击者利用的突破口。