当前位置: 首页 > news >正文

透明代理和uups代理,哪个更省gas,为什么

Gas消耗对比:UUPS代理更省gas

UUPS代理比透明代理更节省gas,主要原因如下:

1. 代理合约复杂度差异

透明代理:

  • 代理合约包含完整的升级逻辑和权限控制
  • 合约体积较大,部署成本高
  • 每次调用都需要进行身份检查

UUPS代理:

  • 代理合约设计简洁,仅实现基本代理功能
  • 升级逻辑位于实现合约中
  • 代理合约体积小,部署成本低

2. 调用过程中的gas开销

透明代理的额外开销:

// 透明代理需要检查调用者身份
if (msg.sender == admin) {// 执行升级逻辑
} else {// 转发到实现合约
}

UUPS代理的优势:

  • 代理合约无需进行身份检查
  • 直接转发调用到实现合约
  • 升级逻辑在实现合约中处理

3. 具体gas消耗对比

操作类型 透明代理 UUPS代理 节省比例
部署成本 ~800,000 gas ~500,000 gas ~37%
普通调用 +2,000 gas +1,000 gas ~50%
升级操作 ~100,000 gas ~80,000 gas ~20%

4. 为什么UUPS更省gas?

  1. 架构设计优势:UUPS将升级逻辑从代理合约移到实现合约,减少了代理合约的复杂度

  2. 调用路径优化:UUPS代理的调用路径更直接,减少了中间检查步骤

  3. 存储优化:UUPS代理的存储布局更高效,减少了SSTORE操作

  4. 代码复用:升级逻辑在实现合约中可以被多个代理实例共享

5. 选择建议

选择UUPS代理的场景:

  • 对gas消耗敏感的应用
  • 需要频繁调用的合约
  • 成本控制严格的项目

选择透明代理的场景:

  • 需要更简单的权限管理
  • 对安全性要求极高的场景
  • 升级操作不频繁的项目

总结: UUPS代理通过优化架构设计和减少不必要的检查,在gas消耗方面明显优于透明代理,特别是在高频调用的场景下,gas节省效果更加显著。

http://www.jsqmd.com/news/24055/

相关文章:

  • 新学期每日总结(第14天)
  • 示性函数引入
  • 2025.10.27
  • go构建streamablehttp mcp服务
  • 算法分析--分治--2.归并排序
  • Vue2随笔-251027
  • Java: Jdk17 异步或同步或并行发邮件
  • Day5div与span标签以及字体实体
  • CCUT应用OJ题解——贪吃的松鼠
  • Java流程控制——Scanner进阶使用
  • go构建sse服务端
  • 结对编程心得
  • 关于结对编程的一些感悟
  • 10.27博客
  • 关联子查询
  • AI概念
  • 工控modBus TCP, 服务端或客户端, 均可以与PHP 通讯
  • 1027
  • 20232421 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • [Mirror] LinuxMirrors: Linux 一键换源项目
  • 10月27日日记
  • 20232326 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 20232429 马成栋 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 做题记录 #4
  • 扩散模型
  • 20232303 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 衡量模型生成图片质量的指标
  • 代码大全2 第一章 与第二章
  • 第二十一天
  • 面试谈薪资指南:掌握主动权的关键策略