TOKEN:安?实验室发布「YFII流动性挖矿合约安全性研究」,所涉四项合约未包含致命安全漏洞_ZIK Token

YFII是一个新型去中心化DeFi矿池,应社区小伙伴邀请,安比实验室于2020年7月27日至8月2日对YFII智能合约进行了安全性研究。分析对象为下列合约:YFIIPool1:0xb81D3cB2708530ea990a287142b82D058725C092YFIIPool2:0xAFfcD3D45cEF58B1DfA773463824c6F6bB0Dc13aYFIIToken:0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83BPTToken:0x16cAC1403377978644e78769Daa49d8f6B6CF565初步分析结果表明,以上四个合约并未包含致命安全漏洞。安比实验室希望通过本文对研究过程做一个记录和总结,Token价格、经济模型、其他外部合约模块、以及未来新的合约不在本文讨论内。YFII和YFI是什么

YearnFinance是一个DeFi收益聚合器,于7月17日推出治理TokenYFI后因其新颖的分发机制和治理方案迅速引爆了流动性挖矿市场。而YFII是对YFI项目的分叉,遵循YIP-8,实施了类似比特币的减半机制。YFII相对YFI做了哪些改动

彭博社:加密就业市场同比增长6倍:9月30日消息,彭博社报道,尽管监管机构加强了对加密货币及相关业务的监管,但相关就业市场仍欣欣向荣。在领英上,带有加密货币和区块链等关键词的美国付费招聘岗位同比增长6倍以上,较2019年同期增长近4倍。Indeed.com等招聘网站的加密搜索量同比翻了一倍以上。CryptocurrencyJobs .co的付费招聘条目自去年以来增长近1500%。领英称最近发布招聘的顶级公司包括Kraken和Coinbase,以及埃森哲、毕马威、PayPal和摩根大通等更传统的公司。CryptocurrencyJobs.co创始人Daniel Adler称目前招聘竞争十分激烈,招聘热度已达到该网站2017年发布以来最强劲的水平,DeFi项目推动了CryptocurrencyJobs.co上的招聘热潮。(彭博社)[2021/9/30 17:16:58]

目前,YFII合约代码均直接Fork自YearnFinance,做了较小的改动以支持YFIIToken的定期减半分发。下表为YFII涉及的合约与YFI合约对应关系及地址。

彭博社:USDT总市值超越ETH只是时间问题:金色财经报道,彭博社(Bloomberg)发布了6月份的加密货币市场前景报告。报告预计Tether(USDT)的市值将超过以太坊(ETH)。该报告指出,Tether市值的增长是推动比特币升值的主要驱动力之一。对与美元挂钩的数字货币的兴趣显示出对于在没有中介机构的情况下以世界储备货币进行交易和存储价值的需求。最近,Tether市值已超过第三大加密货币XRP。彭博社断言,Tether不会止步于此,而是将超越ETH。此外,该报告认为以太坊仍生活在比特币的阴影下,自身没有保持高价或回升。[2020/6/5]

YFI/YFIIToken为项目治理Token合约,二者实现一致,具体为一个带mint和简单governance功能的标准ERC-20Token。BPTToken为BalancerPoolToken合约,是做市商的流动性证明Token,实际由自动做市协议Balancer的BFactory入口合约创建,因此二者实现完全一致。该合约代码此前由TrailofBits和ConsensysDiligence进行过审计。Pool1和Pool2是用于分发治理Token的流动性挖矿合约,Pool1和Pool2的代码实现一致,均被称为YearnRewards合约,而YFII相对于YFI的改动即在这该合约中。YFIIPool1和Pool2合约相对于原始代码新增了checkStart()和checkhalve()两个修饰符函数,分别用于控制挖矿开始时间,和治理Token周期性地产量减半。YFII&YFI核心合约简析

分析 | 彭博社:BTC若跌破6500美元 则可能急剧下跌至4000美元:据Dailyhodl消息,据彭博社发表分析文章称,新的技术分析表明BTC的下一个支撑线是6,500美元,BTC可能会在该水平附近找到买家。但是如果跌破该线,比特币就有可能急剧下跌至4,000美元。彭博社的分析主要基于比特币一直持续走低的事实,并表示BTC可能尚未触底。金融市场分析师Mati Greenspan也表示,比特币跌破7,000美元并不是什么新鲜事,BTC在不改变其长期看涨轨迹的情况下,可能跌至约5,800美元。[2019/12/18]

YFII和YFI流动性挖矿的核心合约代码YearnRewards实际源自于Synthetix项目的Unipool,原本用于奖励在Uniswap上为ETH/sETH交易对提供流动性的做市商SNXToken,该代码之前经过SigmaPrime审计。基于YearnRewards的流动性挖矿整个流程可以分为以下几步:具有RewardDistribution权限的地址,预先通过调用YearnRewards合约的notifyRewardAmount()函数,设置奖励数额,而对应金额的YFIToken应由YFIminter转入YearnRewards合约中。矿工向YearnRewards合约指定的目标DeFi合约提供流动性,拿到对应的流动性证明Token,该Token可以用于换回资产以及赚取利息或手续费收益。矿工将得到的PoolToken通过调用stake()函数存入YearnRewards合约中,合约自动根据Stake时长和矿工存入资金规模占资金池总规模的大小来计算矿工应得的奖励。矿工可随时提走自己的应有奖励以及之前存入的PoolToken。通常一个YearnRewards合约专门用于单个特定DeFi项目的流动性挖矿,如Pool1对接Curve项目的y池,Pool2对接Balancer上的YFI-DAIPool。一些发现

行情 | BTC持续突破7700美元:据Huobi数据显示,BTC持续上涨,突破7700美元,最高价达7755美元,24小时涨幅超5.0%,行情波动较大,请注意风险控制。[2019/5/19]

前面提到YFII相对于YFI的改动,代码改动整体较小。新增两个修饰器函数用于约束stake()withdraw()getReward()三个主要功能函数。

notifyRewardAmount()函数中新增了一行代码,用于在notify的同时直接控制YFIToken合约mint指定数量的Token到当前YearnRewards合约,将其作为奖励用于分发。因此,Pool1和Pool2合约必须是YFIIToken合约的minter。这让YFII与YFI在Token分发细节逻辑上稍有不同。YFI每期奖励的分发都需要由特定地址负责设置金额并转入Token。而YFII除了第一期开始前执行了notifyRewardAmount()操作,之后会随着用户的调用,产量自动定期减半。

成都印发首个“元宇宙”政策文件,将打造9大元宇宙应用场景:金色财经报道,成都印发首个“元宇宙”政策文件,将打造9大元宇宙应用场景。为主动把握元宇宙产业发展机遇,促进数字经济和实体经济深度融合发展,更好助力智慧蓉城、制造强市、国际消费中心城市建设,成都市新经济发展工作领导小组办公室近日印发《成都市元宇宙产业发展行动方案(2022—2025年)》(以下简称《行动方案》)。这份《行动方案》是成都首个聚焦元宇宙的政策文件。

《行动方案》提出,到2025年,成都元宇宙产业体系初具雏形,元宇宙相关产业规模达到1500亿元。构建起完整的成都元宇宙产业链,研究掌握一批核心技术、引进培育一批优质企业、融合打造一批特色应用场景、开发储备一批城市IP,对产业转型升级、城市治理形成引领带动作用,推动元宇宙以虚促实、以虚治实的价值实现,提升实体经济生产效率、满足人民群众美好生活需要。[2022/12/29 22:13:38]

另外,在与社区开发者Madao和gaojin讨论代码细节的过程中,Madao提到Token产量自动减半的执行需要依赖checkhalve()函数的执行,实际则依赖用户与合约交互,执行时间无法精准控制到上一个周期的结尾,减半发生时间会与预期时间存在一定的时间差,并且合约减半实际发生时间很大概率晚于预期时间。特别地,合约计算奖励时会将两个周期间多出来的时间差计算在内,导致给每个用户计算的奖励值会略高于预期值,产生了一定误差。进而我们发现,只要误差存在,理论上最后一个从Pool中提取reward的人可能无法正常提现。这是因为合约在减半的同时MintYFIIToken至Pool合约。由于前面误差的存在,导致合约中用户账面收益高于实际Mint出来的Token数量。误差的大小计算方法为每个周期结束时间与下次减半发生实际发生时间之间的时间差Delta乘以减半后的rewardRate。根据上图测算,平均延时60秒减半,累计误差在1个YFII以内。只要能控制时间误差足够小,再加上持续有下一周期的Token作为补充,因此该误差问题影响较小。YFII管理员权限处理

YFI类Token都存在铸币接口,具有mint权限的地址可以增发Token。YFI类Token还存在Governance管理员,具有权限添加和删除Minter。通常理想情况下这些地址特殊权限地址应该为多签合约或其他专门合约。另外YearnRewards合约有rewardDistribution权限地址,用于调用notifyRewardAmount()函数设置奖励金额。YearnRewards合约还存在owner权限地址,用于设置rewardDistribution地址。目前,YFII项目的做法是将YFIIToken的Governance管理员、Pool1和Pool2的rewardDistribution均设为了0地址。管理员权限销毁记录可参见https://burn.yfii.finance/。经查验,管理员权限销毁属实。目前只有Pool1和Pool2两个合约地址具有YFIIToken的mint权限,属于为了实现周期性减半的必要权限,且未来无法被滥用。特别值得一提地是,原版YFIToken代码实现中,并未给addMinter()该特权函数添加Event,导致普通用户无法方便地查看究竟合约有多少minter。当心,这让各种类YFI项目非常容易藏入后门。经查验,YFIIToken合约总共只有两条addMinter()记录,分别为Pool1和Pool2合约添加mint权限,未引入多余的minter。总结

YFI整体是一次非常有意义的DeFi创新实验,通过YearnFinance我们看到去中心化的治理代币分发,充分激发了DeFi社区的挖矿和治理热情。YFII在YFI的基础上实现了YIP-8提案,探索了一种可能更公平的治理代币分发方案,并且短时间在社区内产生了较大影响,发展势头惊人。安全建议

随着流动性挖矿和DeFi产品的火热,市面上涌现出来各种新型DeFi智能合约,组合性风险剧增。安比实验室提醒用户与任何DeFi项目交互时一定要注意安全第一,认清域名、合约地址,仔细审查所有与资金相关的操作,尽量不要与来源不明的智能合约交互。另外,我们应更多关注DeFi产品本身和智能合约安全,分析价值基础和风险来源,不盲信APR,只投入能够承受损失的金额。特别提醒,记得用本文中提供的线索自行检查参与的类YFI项目管理员权限。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-3:629ms