📢 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条有效互动
Uniswap v4 Hook机制详解:潜力与安全风险并存
Uniswap v4的Hook机制:潜力与挑战并存
Uniswap v4即将问世,这次升级引入了诸多创新功能,其中Hook机制备受关注。
Hook机制允许在流动性池生命周期的特定节点执行自定义代码,大大增强了池子的可扩展性和灵活性。然而,Hook的复杂性也带来了新的潜在安全风险。本文将系统介绍Hook机制相关的安全问题与潜在风险,以推动社区的安全发展。
Uniswap v4的核心机制
Uniswap v4的三个重要功能是Hook、单例架构和闪电记账。
Hook
Hook是在流动性资金池生命周期不同阶段运行的合约,通过引入Hook可实现原生支持动态费用、添加链上限价单、通过时间加权平均做市商分散大订单等功能。目前有8个Hook回调,分为4组:
单例、闪电记账和锁机制
单例架构和闪电记账旨在通过降低成本和确保效率来提高性能。它引入了一个PoolManager合约来存储和管理所有池子的状态。
v4版本引入了闪电记账和锁机制。锁机制的运作方式如下:
锁机制防止了并发访问,并保证了所有交易都能被清算。任何修改都会记录在池子的内部余额中,实际转账在操作结束时进行。
由于锁机制的存在,外部账户不能直接与PoolManager交互,必须通过合约进行。主要存在两种合约交互场景:
威胁模型
我们主要考虑两种威胁模型:
威胁模型I中的安全问题
我们主要关注v4版本特有的潜在漏洞,重点讨论以下两种Hook:
经研究发现,主要存在两类问题:访问控制问题和输入验证问题。
访问控制问题
v4中的回调函数应该只能被PoolManager调用。如果相应函数可被任意账户调用,可能导致奖励被错误领取等问题。因此,建立强大的访问控制机制至关重要。
输入验证问题
由于锁机制的存在,用户必须通过合约获得lock才能执行池操作。但仍存在潜在攻击场景:
不受信任的外部调用可能导致重入攻击等问题。
防范措施
为规避此类安全问题,应对敏感函数实施必要的访问控制,验证输入参数,并考虑实施重入保护。
威胁模型II中的安全问题
我们将Hook分为两类:
托管型Hook
用户资产被转账或授权给router。由于PoolManager执行余额检查,恶意Hook难以直接窃取资产,但可能通过操纵费用管理机制进行攻击。
独立型Hook
独立型Hook获得了更多权力,可执行任意操作。主要风险包括:
防范措施
评估Hook是否恶意至关重要。对托管型Hook,应关注费用管理行为;对独立型Hook,应关注是否可升级。
结语
本文概述了Uniswap v4 Hook机制相关的核心机制和潜在安全风险。后续文章将对每种威胁模型下的安全问题进行深入分析。