Cointime

扫码下载App
iOS & Android

链上安全分析报告:iZiFinance智能合约中心化风险分析报告

项目方

iZiFinance 是一个利用 zkSync 的去中心化金融协议,zkSync 是以太坊的一个二层扩容解决方案。zkSync 可以在以太坊上实现快速和低成本的交易,同时保留了一层网络的安全性和可组合性。然而,在 zkSync 上进行智能合约开发时,gas 优化仍然是一个重要的方面,因为它影响了协议的性能和盈利能力。

在这个分析中,我们将检查 iZiFinance 的一个核心合约,iZiSwapPool.sol,并找出一种通过消除一个多余的表达式来减少 gas 消耗的简单方法。

iZiSwapPool合约

The iZiSwapPool 合约实现了 iZiFinance 上的流动性池和代币交换的逻辑,它遵循了 IiZiSwapPool 接口,该接口定义了合约的函数和事件。其中一个函数是 modifyFeeChargePercent,它允许合约的所有者调整每个池的费用收取百分比。费用收取百分比是一个参数,它决定了交换费用在流动性提供者和协议之间的分配。modifyFeeChargePercent 函数的代码如下:

该函数接受一个 uint24 类型的参数,叫做 newFeeChargePercent,它表示要设置的新的费用收取百分比。它还有一些修饰符和 require 语句,以确保只有所有者可以调用该函数,并且 newFeeChargePercent 是有效的。代码分析这段合约代码是用 Solidity 写的,表示一个修改费用收取百分比的函数。它似乎是以一种安全的方式设计的,考虑到在进行实际修改之前应用的限制(第 534-536 行)。

然而,第 535 行 require(newFeeChargePercent >= 0, "FP0"); 实际上是不必要的。这是因为在 Solidity 中,uint(无符号整数)数据类型不能为负。uint24 是一个无符号整数类型,范围是从 0 到 2^24 - 1。

因此,检查 newFeeChargePercent 是否大于或等于 0 是同义反复,因为根据定义,一个无符号整数不能小于 0。因此,这一行构成了一个同义反复,可以在不影响代码功能或引入任何安全漏洞的情况下安全地移除。紧接着它的那一行,require(newFeeChargePercent <= 100, "FP0");,就足以确保 newFeeChargePercent 在期望的范围内(0-100)。

中心化风险

我们还发现了一些可能损害协议安全性和用户资产安全的中心化风险。

安全建议

对于iZiFinance项目方来说,这里有 10 条安全小提示以保护用户的链上资产免受中心化风险的影响。

  1. 对 setFarm() 和 setWrapToken() 等关键函数施加时间锁,只允许在未来指定的时间进行修改,给社区时间讨论和达成共识
  2. 要求多个钱包地址的多重签名批准才能调用 enableFeeAmount() 和 newPool() 等影响费用和奖励的函数
  3. 为 expandObservationQueue() 和 collectFeeCharged() 等函数实现基于角色的访问控制,限制只有指定角色才能调用
  4. 在合约部署时,使 startBlock、endBlock、rewardPerBlock 等核心参数不可变,不允许后续更改
  5. 建立一个 DAO 治理结构,要求对敏感函数的调用需要社区提案和投票
  6. 采用模块化架构,分离职责,避免任何单个模块过度集中化
  7. 建立一个带有多重签名认证的紧急停止机制,如果出现问题,可以暂停协议
  8. 定期进行外部安全审计,并及时处理发现的问题,以降低中心化控制风险
  9. 在开发过程中,采用模糊测试和其他方法来识别和消除中心化控制漏洞
  10. 遵循最小特权原则,只给予角色和账户必要的最小权限

这些中心化风险源于合约所有者可能对合约的参数和函数有过度的控制,这或许能让所有者操纵协议或伤害用户。我们也希望这篇分析能为改进 iZiFinance 的智能合约提供一些有用的见解和安全建议。

Follow Us

Twitter: @MetaTrustLabs

Website: metatrust.io

评论

所有评论

推荐阅读

  • 中东冲突与加息预期共振:全球资产大震荡,美股四连跌、债市「血洗」、黄金创43年最大周跌幅

    3 月 21 日,中东局势持续升级叠加 Federal Reserve 加息预期骤然升温,全球市场遭遇系统性冲击。美股连续第四周下跌创一年最长跌势,纳指单日跌超 2%,科技股全线承压;全球债市收益率大幅飙升,美债、英债、德债均创多年新高,资金大规模去杠杆。大宗商品剧烈分化,黄金跌破 4500 美元关口,单周暴跌超 10%,创 1983 年以来最大跌幅,避险属性遭质疑;原油则因中东供应风险暴涨,布油重返 110 美元上方,迪拜原油期货单日飙升超 16%。与此同时,比特币在 7 万美元附近获得支撑,连续三周跑赢黄金。市场分析认为,地缘冲突推升能源价格并加剧通胀预期,迫使货币政策路径重定价,全球金融条件快速收紧,风险资产仍处于下行与再定价过程中。

  • 美团开源560B参数定理证明模型:72次推理通过率97.1%,刷新开源模型SOTA

    据 1M AI News 监测,美团 LongCat 团队开源 LongCat-Flash-Prover,一个 5600 亿参数的 MoE 模型,专攻形式化定理证明语言 Lean4 的数学推理任务。模型权重以 MIT 协议发布,已上线 GitHub、Hugging Face 和 ModelScope。模型将形式化推理拆解为三项独立能力:自动形式化(将自然语言数学问题转化为 Lean4 形式语句)、草图生成(产出引理风格的证明框架)和完整证明生成。三项能力均通过 Agent 工具集成推理(TIR)与 Lean4 编译器实时交互验证。训练方面,团队提出 Hybrid-Experts Iteration Framework 生成冷启动数据,并在强化学习阶段引入 HisPO 算法稳定 MoE 模型的长程任务训练,同时加入定理一致性和合法性检测机制防止 reward hacking。基准测试显示,LongCat-Flash-Prover 在开源权重模型中刷新了自动形式化和定理证明两项 SOTA。MiniF2F-Test 上仅用 72 次推理即达 97.1% 通过率,ProverBench 和 PutnamBench 分别达到 70.8% 和 41.5%,每题推理次数不超过 220 次。

  • Erik Voorhees再次增持1.44万枚ETH,总持仓量突破11.7万枚

    3 月 21 日,据 AI 姨监测,ShapeShift 创始人、比特币早期支持者 Erik Voorhees 关联地址,过去 11 小时买入 14,424.53 ETH,总持仓突破 11.7 万枚,持仓均价 2,160.24 美元,当前浮亏 114.5 万美元。

  • 消息人士:特朗普政府正制定方案以夺取伊朗核材料储备

    Cointime 报道,3月21日消息,据美国哥伦比亚广播公司(CBS)报道,多位知情人士透露,特朗普政府一直在谋划获取或转移伊朗核材料的方法和选项。此时,由美国和以色列领导的针对伊朗的军事行动正进入一个更加不确定的阶段。 关于特朗普是否会下令实施此类行动,目前时机尚不明确。一位消息人士表示,他尚未做出任何决定。但两位消息人士表示,相关规划的核心是可能部署来自联合特种作战司令部的部队,该部队是精英军事单位,常负责最敏感的防扩散任务。(金十)

  • GameFi板块市值暂报45.15亿美元,FLOKI排名第一

    3 月 21 日,据 Coingecko 数据,GameFi 板块市值暂报 45.15 亿美元,FLOKI 以 2.86 亿美元市值排名第一,排在第二第三位的分别为:The Sandbox(2.18 亿美元)、Undeads Games(2.11 亿美元)。此前 Solana 基金会主席 Lily Liu 表示,区块链游戏「不会再回归」。她认为,尽管行业曾寄望通过链上资产与开放世界推动 Web3 与元宇宙发展,但实际表现远未达预期。市场观点称链游长期依赖「Play-to-Earn」等代币激励模式,却缺乏真正吸引核心玩家的游戏性与内容构建能力,导致用户留存与生态可持续性不足。包括 Andreessen Horowitz(a16z)、Framework Ventures、Animoca Brands 在内的机构曾向该领域投入数十亿美元,但回报表现不佳。

  • Karpathy:大多数App不该存在,3个提示词让AI接管整个智能家居

    据 1M AI News 监测,Andrej Karpathy 在 No Priors 播客中称,应用商店里的大多数智能家居 App「根本不该存在,一切都该是 API 端点,Agent 才是智能粘合层」。他分享了今年 1 月构建的家庭 Agent「Dobby the elf claw」:只用三个提示词,Agent 自行扫描局域网发现了 Sonos 音响,逆向工程其协议后接管播放控制。如今 Dobby 通过 WhatsApp 对话统一控制灯光、空调、窗帘、泳池、安防系统,取代了此前六个独立 App。他还接入了视觉模型监控安防摄像头,有人到访时自动推送图片消息到 WhatsApp。「这在一两年内应该是免费的,不涉及任何 vibe coding,这是基本功,」Karpathy 说,「客户不再是人类了,而是代替人类行事的 Agent。这场重构的规模将相当可观。」

  • OpenAI创始成员:12月以来没写过一行代码,Agent用不好?「那是你菜」

    据 1M AI News 监测,「vibe coding」概念提出者、OpenAI 创始成员 Andrej Karpathy 在 No Priors 播客中透露,去年 12 月是他工作方式的分水岭。此前他自己写代码与委托 Agent 的比例约为 80:20,12 月之后反转为 20:80,「到现在可能已经不止了」,「我大概从 12 月起就没打过一行代码」。他将这种状态称为「AI 精神病」(AI psychosis):Agent 的能力边界尚未被充分探索,「一切皆有可能,而一切失败归根结底都是技能问题(skill issue)」。他开始像 PhD 时期看 GPU 利用率一样关注 Token 吞吐量,「订阅额度没用完就意味着你没有最大化产出」。他还描述了 Agent 的「锯齿感」:「我同时感觉在和一个极其聪明的、做了一辈子系统编程的博士生对话,又在和一个十岁小孩对话。」

  • 日媒:伊朗准备允许日本船只通过霍尔木兹海峡

    3 月 21 日,据日本共同社报道,伊朗外长阿巴斯·阿拉格奇表示,经两国官员协商,伊朗已准备好允许与日本相关的船舶通过霍尔木兹海峡。日本石油进口严重依赖中东地区。伊朗战争促使日本本月动用石油储备。日本一直面临特朗普要求其协助保卫该海峡的压力。本周早些时候,日本首相高市早苗在华盛顿与特朗普当面会晤时,向其说明了日本参与此类行动在法律上的限制。同时,她也强调了双方共识领域,包括承诺增加从美国进口石油以及就导弹研发开展合作。(金十)

  • Solana基金会主席:链游已「死亡」,行业数十亿美元投入或成最差赌注之一

    3 月 21 日,Solana 基金会主席 Lily Liu 表示,区块链游戏「不会再回归」。她认为,尽管行业曾寄望通过链上资产与开放世界推动 Web3 与元宇宙发展,但实际表现远未达预期。Solana 曾被视为最有潜力支撑大规模链游的公链之一,凭借高性能和低成本支持实时交互。然而,包括 Star Atlas、Stepn 等项目虽一度获得关注,但整体 GameFi 赛道自 2021 年高峰后持续下滑。市场观点指出,链游长期依赖「Play-to-Earn」等代币激励模式,却缺乏真正吸引核心玩家的游戏性与内容构建能力,导致用户留存与生态可持续性不足。包括 Andreessen Horowitz(a16z)、Framework Ventures、Animoca Brands 在内的机构曾向该领域投入数十亿美元,但回报表现不佳。不过,部分公司仍在探索转型路径,例如 Mythical Games 与 Gunzilla Games,逐步弱化区块链要素,将其作为可选功能而非核心机制,以提升用户体验与市场接受度。

  • 现货黄金失守4500美元关口,现货白银日内跌近7%

    3 月 21 日,据 Bitget 行情数据,现货黄金失守 4500 美元/盎司关口,日内跌超 3%;现货白银日内跌近 7%,现报 67.845 美元/盎司。消息面上,受美元走强影响,以及有报导称美国已为在伊部署地面部队做好详细准备,加剧了市场对油价上涨、通胀以及随之而来的利率上升的担忧。独立贵金属交易员 Tai Wong 表示:「随着市场的担忧在周末前走高,金银价格正被拖累走低。在经历了本周因加息担忧引发的剧烈回调后,贵金属走势尤为震荡。价格应会很快进行盘整,但过程将充满波折。」全球主要券商认为,欧洲央行和英国央行加息的可能性正在增加,最早可能在 4 月。美联储周三维持利率不变,并预测通胀将走高,而主席鲍威尔表示,由于战争的影响,未来的政策路径面临异常高的不确定性。