BSC交易费用机制深度分析:Legacy vs DynamicFee 交易对比

概述

本文通过实际测试,分析了BSC网络中 Legacy 交易和 DynamicFee 交易的费用机制。

核心机制

交易池过滤逻辑

 
 

有效小费计算公式

  • Legacy 交易min(UserGasPrice, UserGasPrice - BaseFee)

    UserGasPrice:用户给我的GasPrice

  • DynamicFee 交易min(GasTipCap, GasFeeCap - BaseFee)

    GasTipCap:用户给的消费上限

    GasFeeCap:用户给的总费用上限

测试结果分析

场景1:系统配置GasPrice = 100 gwei, 系统BaseFee = 200 gwei

Legacy 交易测试结果

Legacy 交易要求UserGasPrice >= BaseFee + SystemGasPrice = 300 gwei

用户 GasPrice 有效小费计算 结果 说明
100 gwei min(100, 100-200) = -100 ❌ 不打包 有效小费为负数
200 gwei min(200, 200-200) = 0 ❌ 不打包 有效小费为0
300 gwei min(300, 300-200) = 100 ✅ 打包 有效小费 = 100 gwei
400 gwei min(400, 400-200) = 200 ✅ 打包 有效小费 = 200 gwei

 

DynamicFee 交易测试结果

DynamicFee 交易要求min(GasTipCap, GasFeeCap - BaseFee) >= SystemGasPrice

GasTipCap GasFeeCap 有效小费计算 结果 说明
100 gwei 100 gwei min(100, 100-200) = -100 ❌ 不打包 有效小费为负数
100 gwei 200 gwei min(100, 200-200) = 0 ❌ 不打包 有效小费为0,小于系统配置GasPrice
100 gwei 300 gwei min(100, 300-200) = 100 ✅ 打包 有效小费 = 100 gwei
100 gwei 400 gwei min(100, 400-200) = 100 ✅ 打包 有效小费 = 100 gwei
200 gwei 200 gwei min(200, 200-200) = 0 ❌ 不打包 有效小费为0,小于系统配置GasPrice
200 gwei 300 gwei min(200, 300-200) = 100 ✅ 打包 有效小费 = 100 gwei
200 gwei 400 gwei min(200, 400-200) = 200 ✅ 打包 有效小费 = 200 gwei
300 gwei 300 gwei min(300, 300-200) = 100 ✅ 打包 有效小费 = 100 gwei
300 gwei 400 gwei min(300, 400-200) = 200 ✅ 打包 有效小费 = 200 gwei
400 gwei 400 gwei min(400, 400-200) = 200 ✅ 打包 有效小费 = 200 gwei

 

场景2:系统配置GasPrice= 200 gwei, 系统BaseFee = 100 gwei

Legacy 交易测试结果

Legacy 交易要求UserGasPrice >= BaseFee + SystemGasPrice = 300 gwei

用户 GasPrice 有效小费计算 结果 说明
100 gwei - ❌ 直接报错 要求 GasPrice >= 200 gwei
200 gwei min(200, 200-100) = 100 ❌ 不打包 有效小费 < 系统配置GasPrice
300 gwei min(300, 300-100) = 200 ✅ 打包 有效小费 = 200 gwei
400 gwei min(400, 400-100) = 300 ✅ 打包 有效小费 = 300 gwei

 

DynamicFee 交易测试结果

DynamicFee 交易要求min(GasTipCap, GasFeeCap - BaseFee) >= SystemGasPrice

GasTipCap GasFeeCap 有效小费计算 结果 说明
100 gwei - ❌ 直接报错 要求 GasTipCap >= 200 gwei  
200 gwei 200 gwei min(200, 200-100) = 100 ❌ 不打包 有效小费 < 小于系统配置GasPrice
200 gwei 300 gwei min(200, 300-100) = 200 ✅ 打包 有效小费 = 200 gwei
200 gwei 400 gwei min(200, 400-100) = 200 ✅ 打包 有效小费 = 200 gwei
300 gwei 300 gwei min(300, 300-100) = 200 ✅ 打包 有效小费 = 200 gwei
300 gwei 400 gwei min(300, 400-100) = 300 ✅ 打包 有效小费 = 300 gwei
400 gwei 400 gwei min(400, 400-100) = 300 ✅ 打包 有效小费 = 300 gwei

 

关键发现

1. Legacy 交易限制

  • 严格限制UserGasPrice >= BaseFee + SystemGasPrice
  • 无法利用 EIP-1559: 无法动态调整费用
  • 成本较高: 必须支付至少 BaseFee + SystemGasPrice

2. DynamicFee 交易优势

  • 灵活定价: 可以分别设置 GasTipCap 和 GasFeeCap
  • 动态适应: 可以根据网络拥堵情况调整
  • 成本可控: 有效小费 = min(GasTipCap, GasFeeCap - BaseFee)

3. 交易池过滤机制

  • 统一标准: 所有交易类型都使用 EffectiveGasTipIntCmp 进行过滤
  • 基于有效小费: 不考虑交易类型,只看有效小费是否满足要求
  • 实时过滤: 在交易池的 Pending() 方法中进行过滤

配置建议

对于用户

  1. 推荐使用 DynamicFee 交易: 更灵活,成本可控
  1. Legacy 交易: 确保 GasPrice >= BaseFee + SystemGasPrice
  2. 监控网络状态: 根据 baseFee 调整交易费用

对于矿工

  1. 合理设置 SystemGasPrice: 平衡收益和交易量
  1. 监控交易池: 确保有足够的交易可打包
  1. 动态调整: 根据网络拥堵情况调整最小小费要求

结论

EIP-1559 通过统一的交易池过滤机制,强制 Legacy 交易支付更高的费用,从而鼓励用户迁移到 DynamicFee 交易类型。这种设计既保证了网络的向后兼容性,又促进了网络的升级和优化。
posted @ 2025-08-01 18:12  若-飞  阅读(24)  评论(0)    收藏  举报