ERC-4626金库份额怎么看? 图 1
ERC-4626金库份额怎么看? · 图 1

页面显示“存入100 USDC,获得98.7份额”,不能用100减98.7来判断损失,因为底层资产与金库份额不是同一单位,也不能只凭份额数量判断收益。**ERC-4626把底层资产和金库份额分成两套单位:用户存入asset,收到share;以后赎回share,按当时汇率、费用、限额和舍入规则换回asset。**真正要核对的是资产兑份额比率和本次交易预览,而不是份额数字看起来多还是少。

两本账:资产与份额

ERC-4626金库本身也是一种ERC-20份额代币。totalAssets表示金库管理的底层资产总量,totalSupply表示已发行份额。一个简化份额价格可以写成:

每份额资产 ≈ totalAssets / totalSupply

假设金库管理1000个底层代币,共有1000份额,每份额约代表1个代币。策略产生100个代币收益且没有新增份额后,totalAssets变成1100,每份额约代表1.1个代币。你的份额数量没变,代表的底层资产可能增加。反过来,策略亏损、费用扣除或坏账也可能让每份额资产下降。

这个例子只解释会计关系,不是收益承诺。金库可以采用复杂策略、提现队列、费用和升级逻辑,ERC-4626只统一接口,不规定资产一定增值。

四组函数不要混用

用户目标指定哪一边状态变更函数预览函数
存入确定资产assetsdepositpreviewDeposit
得到确定份额sharesmintpreviewMint
取出确定资产assetswithdrawpreviewWithdraw
赎回确定份额sharesredeempreviewRedeem

convertToShares和convertToAssets是理想化、面向平均用户的换算,不应包含调用者差异,也不必反映本次操作的费用与滑点。preview函数更接近当前交易实际结果;maxDeposit、maxMint、maxWithdraw和maxRedeem回答当前账户或金库允许的上限。

因此,“convert显示能拿100,实际只拿99”不一定是合约违规。应继续检查preview、费用、提现上限、暂停状态和前端最小到账保护。标准还明确提醒,预览结果可能受链上条件操纵,不应直接当成安全价格预言机。

舍入为什么通常偏向金库

整数合约不能表达无限小数。ERC-4626规定不同换算采用不同舍入方向,设计原则是避免用户通过舍入从金库提取额外价值。对用户来说,存入资产得到份额、赎回份额得到资产时,结果可能向下舍入;要获得指定资产或份额时,所需投入可能向上舍入。

在成熟、份额数量充足的金库中,舍入差通常很小;在新建或汇率极端的金库中,小额存款可能只得到很少份额,甚至向下舍入成零。签名前必须检查最小获得份额,而不是只看授权金额。

空金库通胀攻击怎么发生

OpenZeppelin文档描述了一类首存风险:攻击者先向空金库存入少量资产获得份额,再直接向金库捐赠大量资产,抬高资产兑份额比率。随后受害者的小额存款按新汇率换算,可能因向下舍入得到极少或零份额,相当于把资产留给现有份额持有人。

成熟实现可通过虚拟资产和虚拟份额、decimals offset、首存控制或最小份额保护提高攻击成本。用户侧不能只看“实现了ERC-4626”就默认安全,还要检查金库是否经过审计、是否已经有合理流动性、前端是否设置minShares或滑点保护。连接合约前的通用核验见连接智能合约前要检查什么

费用、收益和份额价格要分开

金库可能收取存入费、提现费、管理费或绩效费。部分费用直接影响本次资产与份额换算,部分通过铸造新份额稀释持有人。查看收益时至少记录:底层资产、份额余额、每份额资产、累计费用、可提现上限和观察时间。

APY可能来自借贷利息、流动性激励、交易费或其他策略,不能由ERC-4626接口本身证明。收益来源的拆解可参考流动性挖矿APY从哪来,协议费用与收入的区别见协议Fees和Revenue有何区别

存入前做一次金库审计

先核对asset()返回的底层代币地址和decimals,防止同名假币。再查看totalAssets、totalSupply和历史份额汇率是否异常跳变。用previewDeposit与previewRedeem分别模拟进入和退出,检查差额能否由公开费用解释。然后查看maxWithdraw、maxRedeem、暂停、提现队列和即时流动性。

合约层还要确认实现地址、升级管理员、时间锁、多签和审计。代理合约的核验方法可对照代理合约升级权限怎么查。即使金库接口标准,底层策略和管理权限仍可能改变资金去向。

风险提示

本文仅用于ERC-4626与DeFi安全教育,不构成存款、收益或投资建议。金库可能面临策略亏损、份额操纵、舍入、费用、提现受限、预言机、升级权限、合约漏洞和底层资产脱锚风险。请以当前合约源码、交易预览和协议文档为准,先小额验证完整存入与赎回流程。