链上手续费(Gas)是怎么算的:一笔转账的钱到底花在哪

链上转账的手续费从来不是一个固定数字。同一笔 ETH 转账,在深夜可能只要几毛钱,在热门活动开始的那几分钟却可能要几十美元。要弄清楚这笔钱是怎么来的,只需要看懂两个数:Gas 用量和 Gas 单价。

链上手续费怎么算
同一笔操作,Gas 用量不变,变的是单价。

一、Gas 是”用量”,不是”价格”

Gas 是衡量一笔操作消耗多少计算量的单位,它本身没有价格。你真正付出去的钱 = Gas 用量 × Gas 单价,单价以 Gwei 计价,1 Gwei = 10^-9 ETH(即 0.000000001 ETH)。关键区别在于:同一个操作无论什么时候执行,Gas 用量几乎不变;真正在变的,永远是单价。

二、一笔操作要多少 Gas

同一个钱包、同一个网络,不同操作的 Gas 用量差别很大。下面这张表是常见的量级,可以用来判断一笔手续费到底”贵在用量还是贵在单价”。

操作 典型 Gas 用量
ETH 普通转账 21,000
授权 approve 约 46,000
ERC-20 代币转账 约 45,000-65,000
DEX 兑换 swap 约 100,000-200,000 或更高
NFT 铸造 mint 视合约而定,常超过 150,000
常见链上操作的 Gas 用量对照
手续费 = Gas 用量 × Gas 单价:高峰期涨的是单价。

三、EIP-1559 之后:base fee 与 priority fee

2021 年 8 月以太坊完成伦敦升级(EIP-1559)后,手续费被拆成两部分:base fee(基础费)和 priority fee(优先费,俗称小费)。base fee 由协议根据上一个区块的拥堵程度自动调整,并且会被销毁,不进入验证者的口袋;priority fee 才是给验证者的”插队费”,出得越高,越早被打包。以太坊每个区块的 Gas 上限约为 3,000 万,目标值约为 1,500 万——实际用量高于目标值,base fee 就上升;低于目标值,就下降。

四、为什么高峰期会突然变贵

区块空间是有限的:一个区块只能装下约 3,000 万 Gas,而区块大约每 12 秒产生一个。热门铸造、空投领取或行情剧烈波动时,所有人都在抢同一小段区块空间,于是自然变成了拍卖——出价低于当时 base fee 的交易会被直接拒绝,或者长时间排队等确认。

五、其它链与二层网络

不同链的计价方式并不一样。以 Solana 为例,费用以 lamports 计价(1 SOL = 10^9 lamports),最基础的转账费是每笔签名 5,000 lamports,并不会随拥堵成倍上涨。二层网络(L2)则把大量交易先在链下打包、再把结果批量提交回主网,因此单笔手续费的量级通常比主网低一到两个数量级。

六、省钱与避坑的五个要点

下面五条都是可以直接操作的,不需要额外工具。

  • 分清 Gas limit 与 Gas price:前者是上限,后者是单价。把上限留足不会多付钱,单价才是决定要等多久、花多少的关键。
  • 避开拥堵时段:热门活动开始的第一时间通常最贵,等几分钟往往能省下大半手续费。
  • 不要一味选”最低”档:出价低于当时 base fee 的交易可能长时间不确认,甚至被丢弃。
  • 用完的授权记得撤销:approve 不会自动过期,闲置授权是常见的风险来源。
  • 提现或跨链前先核对目标链、地址与费用规则,链选错无法撤回。

七、主网之外:什么时候该等,什么时候该换网络

如果同一笔操作在多个网络都能完成,先比较手续费与到账时间,再决定走哪条链。主网拥堵时,把操作放到二层网络通常能省下一到两个数量级,代价是跨链桥接本身也要花手续费、也需要等待确认时间。

还有一种容易被忽略的差价:从交易所提现时,平台一般按固定的提现费收取,这个数字与链上实际手续费并不相等。提现前先看清楚费率、支持的链和最小提现额,比事后追问客服省事得多。

同理,需要批量执行的操作(例如领取多个空投、批量授权)可以等 Gas 回落再一起做,或者使用合约的批量调用功能把多笔操作合并成一次。等待的成本通常远低于在高峰硬冲。

常见问题

问:为什么转同样的金额,有时贵二十倍?

答:金额本身不影响 Gas 用量。贵二十倍通常是因为 Gas 单价在高峰期上涨,跟转账数额无关。

问:手续费被”销毁”是什么意思?

答:EIP-1559 之后,base fee 部分由协议永久销毁、退出流通,这部分不归验证者所有。

问:Gas limit 设高一点会多付钱吗?

答:不会。你按实际用量付费,未用完的部分会退回;但上限设得太低会导致交易失败,且失败也要消耗部分 Gas。

问:代币转账为什么比 ETH 转账贵?

答:代币转账需要调用合约、更新合约内的余额记录,计算步骤更多,Gas 用量自然更高。

问:二层网络为什么便宜这么多?

答:L2 把大量交易在链下打包,再批量提交回主网,单笔分摊到的成本因此大幅下降。

问:为什么钱包显示的手续费和区块浏览器不一样?

答:钱包给的是估算值,按当时的 base fee 与建议优先费计算;实际扣费以交易被打包那一刻的单价为准,所以两者常常有出入。

问:交易失败也扣手续费吗?

答:会。只要交易被广播并执行到失败点,已经消耗的 Gas 不会退回,只有未使用的部分会退给你。这也是把 Gas limit 留足的原因之一。

本文只做机制说明,不构成任何投资建议。链上手续费随网络状况实时变化,具体金额请以钱包与区块浏览器显示的为准。

相关阅读

发表评论