当前位置: 首页 > 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.hn-smt.com/news/533/

相关文章:

  • 示性函数引入
  • 2025.10.27
  • 《程序员修炼之道:从小工到专家》笔记3
  • Day5div与span标签以及字体实体
  • CCUT应用OJ题解——贪吃的松鼠
  • Java流程控制——Scanner进阶使用
  • 结对编程心得
  • AI概念
  • 做题记录 #4
  • 20251027——读后感2
  • DeepSeek-DSA讲解
  • MCP和Function Calling的区别
  • CentOS7安装Miniconda
  • P14322 「ALFR Round 11」E 空崎ヒナ 题解 (markdown)
  • [题解]P7074 [CSP-J 2020] 方格取数
  • 二分查找边界
  • P3232 [HNOI2013] 游走
  • 软件工程学习日志2025.10.27
  • 深入解析:TCP/IP 四层模型协作流程详解
  • Windows全版本激活教程(仅供测试)
  • 10月27日
  • javascript构造对象数组向服务器端传输
  • 10.25 CSP-S 模拟赛
  • 鲜花10/27
  • 读《程序员的修炼之路:从小工到专家》有感
  • 想让默认头像不再千篇一律,就顺手复刻了一下 GitHub 的思路
  • java(3)基础规范
  • 读书日记3
  • Tuack 生成 OI 比赛题目 PDF 笔记
  • 数据库三大范式、Union和Union all的区别