跳到主要内容
KRYOTO / FIELD NOTE / ONCHAIN

Gas 费是什么,为什么有时候贵得离谱

林致远 · 链上操作 · 发布于 2026 年 8 月 19 日 · 更新于 2026 年 9 月 9 日 · 约 9 分钟
Kryoto 独立指南,非 OKX 官方网站
一枚指针从绿色区域摆向红色区域的仪表

Gas 费,说白了就是你让区块链帮你干活要付的加工费。

你发起的每一笔转账、每一次代币授权、每一次跟智能合约的互动,都要用 Gas 结算这笔加工费。它不是固定价格,更像打车软件的动态定价:网络越堵,你出的价就得越高,不然你这笔交易会被晾在后面迟迟没人处理。

Gas 到底是什么,怎么算出来的?

Gas 费的公式很简单:实际消耗的算力单位数(gas used)乘以你愿意为每个单位支付的价格(gas price),价格通常以 gwei 报价——1 gwei 等于该链原生代币的十亿分之一(完整的 Gas 机制说明可参考 ethereum.org 官方文档)。钱包最后弹出来的那个「预计手续费」,就是这两个数字相乘、再折算成法币估值给你看的结果。

gas used 这部分不是你说了算,是由这笔操作的复杂程度决定的:一笔最简单的原生代币转账消耗的算力最少,跟一个智能合约交互(比如授权、闪兑、铸造 NFT)就要多绕几道逻辑判断,消耗的算力自然更多。可以类比成快递计费:同城平信便宜,加急带保价的包裹就贵,区别在于这单活儿有多麻烦,不是快递员心情好坏。

gas price 才是你能实际掌控的部分:钱包一般会给你一个默认建议值,你也可以手动往上调或往下压,调得越高,你的交易被打包的优先级就越靠前。

举个例子帮你建立手感:以太坊上一笔最基础的原生代币转账,消耗的算力大约是一个固定的数量级,协议层面早就定死了这个数字,不会因为你转多转少而变化,变化的只有 gas price。假设网络比较空闲,你按默认建议值发出去,费用可能只是几毛钱人民币的量级;换到网络拥堵、大家都在抢着上链的时段,gas used 完全没变,gas price 却可能被抬高数倍甚至数十倍,总费用自然跟着水涨船高。

同一个操作,不同时间点体感差异能有这么大。

gwei 这个单位本身也不是随口起的名字,是「giga-wei」的简写,wei 是这条链上能拆分到的最小计价单位,gwei 相当于十亿个 wei——知道这层换算关系就够用了,不用死记具体数值。

Gas 费为什么会突然贵得离谱?

本质是竞价:一个区块能装下的交易数量有限,谁愿意出的价高,矿工或验证者就优先把谁的交易打包进去,越多人挤在同一时间抢,价格就被抬得越离谱——热门 NFT 开售、某个代币消息突然引爆的那几分钟最典型。

以太坊在 EIP-1559 升级之后,Gas 费被拆成了两块:base fee(基础费)和 priority fee(小费)。base fee 是网络根据上一个区块的拥堵程度自动算出来的底价,这部分会被直接销毁,不会进任何人的口袋;priority fee 才是你额外塞给验证者、请对方优先处理你这单的小费。网络越忙,base fee 涨得越快,你要付的总额自然水涨船高。当下的 base fee 具体多少,Etherscan 的 Gas Tracker 上能直接查到。可以理解成机场的起降费加小费:起降费是机场统一定的、随繁忙程度浮动,小费是你自己加的、想让地勤优先安排你。

priority fee 不是必须给的,理论上你可以设成接近零,但网络稍微一忙,这样的交易就会被排到很靠后,甚至长时间卡在待处理状态动都不动。大多数钱包会替你算一个当下相对合理的小费建议值,不太懂行情的话,跟着默认值走通常比自己瞎猜靠谱。

不同链的 Gas 差别有多大?

欧易 OKX 手续费页「提币」标签的表格截图,搜索 USDT 后的结果:币种 USDT 一行展开十六条网络,含 Aptos、Arbitrum One (USDT0)、Avalanche C-Chain、Berachain (USDT0)、Ethereum (ERC20)、Monad (USDT0)、Optimism、Optimism (USDT0)、Plasma (USDT0)、Polygon (USDT0)、Solana、Tempo、The Open Network (TON)、Tron (TRC20)、Unichain (USDT0)、X Layer (USDT0),每条各有最小提币数量与网络费用两列;网络费用从 Plasma 的 0.0000064 到 Tron (TRC20) 的 1.5,以太坊主网是 0.3、Solana 是 0.28,同一个币在不同链上差了好几个数量级
欧易 OKX 手续费页「提币」标签,搜索框输入 USDT 后的结果(桌面视口,浅色主题)· 这里的「网络费用」是交易所替你付给链的那笔,和链上实时 Gas 不是一回事 · 本站 2026-09-09 采集 · 未登录,看到的是公开费率页 · 费率会变(VIP 等级、活动、主网拥堵都会影响),以你操作当天页面显示的为准 · 本站非欧易官方

同样是转一笔钱,在以太坊主网上花了三十多块,换到一条 Layer2 上可能只要几毛钱——这不是夸张,是很多新手第一次切链时的真实落差。

差别是数量级上的,这也是很多人把日常操作转去 Layer2 做的直接原因,想具体了解怎么把资产跨过去,可以看跨链桥怎么用这篇。

Layer2 便宜的原理不复杂:它把大量用户的交易先在自己这条链上处理、打包压缩,再统一整批提交回以太坊主网结算一次,相当于很多人拼单摊薄了本该各自单独支付的那部分主网成本。你能感觉到的是「这条链手续费便宜」,背后其实是「一堆人的账单被合并成了一张」。至于 BSC、Solana 这类不依赖以太坊结算的独立公链,费用高低更多取决于它们各自的设计取舍和当下的网络负载,不能一概而论。

不同网络的 Gas 量级对比
网络Gas 量级(相对水平)适合什么场景
以太坊主网(L1)偏高,拥堵时段可能是平时的数十倍大额结算、对安全性要求最高的操作
Layer2(如 Arbitrum、Optimism、Base 等)偏低,常态下往往只是主网的一个零头日常小额转账、频繁交互
其他独立公链(如 BSC、Solana 等)低到中,具体看这条链的设计和当下负载生态本身就在那条链上时

以上为相对量级的粗略概括,不是精确报价。各网络实时 Gas 水平请以对应链的区块浏览器或实时看板为准,本文表述查证于 2026 年 7 月。

什么情况会白白烧掉 Gas?

只要交易被节点打包处理过,不管最后成功还是失败,Gas 费都已经付出去了——失败的交易一样消耗了计算资源,费用不会退。

常见的几种「白烧」场景:闪兑时把滑点容忍度设得太紧,价格稍微一动交易就被回滚;Gas 上限(gas limit)设得比实际需要低,执行到一半算力不够,直接 out of gas 失败;跟某个合约交互但触发了它内部的限制条件(比如授权额度不够),逻辑判断没通过,也会被回滚。这几种情况钱包一般会在你确认前跳出估算失败的提示,别手滑跳过。

还有一种更隐蔽的情况:合约本身没问题,但你要交互的那个池子或活动名额已经被抢完了,你的交易被打包进区块之后才发现「条件不满足」,一样按失败处理、Gas 照扣。热门活动开抢的那几分钟,这种情况尤其常见——想清楚这笔 Gas 就算抢不到也要付,再决定要不要冲。

Gas 上限不是越高越保险:调高 gas limit 只是给交易留更多「允许消耗」的空间,不会让它更快被打包,也不会让失败率下降;真正决定优先级和成功率的是 gas price(尤其是 priority fee)和你的交易逻辑本身能不能顺利执行完。

Gas 费怎么省着花?

真正管用的就三个方向:挑网络不忙的时段操作、能用 Layer2 就别硬挤主网、把参数设得合理而不是瞎往高了拉。

同一天不同时间段的 Gas 水平可能差出不少,大额或不急的操作可以先看一眼实时 Gas 看板,等相对空闲的时段再动手,比盯着屏幕干等着感觉便宜了靠谱。如果你的操作本身能在 Layer2 完成(比如日常小额转账、跟某些 dApp 的高频交互),直接切过去往往比死磕主网划算得多,代价是需要先把资产桥过去,这一步本身要付一次 Gas。下手前也可以先用Gas 费估算工具粗略估一下这笔操作大概要花多少,心里有个数再确认,别等扣完钱才发现比想象中贵。

不把「周末一定便宜」当规律:每次发送前都重新检查当前 Gas 看板和钱包估算,再根据这笔操作的紧急程度决定现在发还是等待。如果钱包支持自定义 gas price 上限,只在理解等待和失败风险的前提下设置,不用过往体感代替当前数据。

钱包给的「预计手续费」准不准?

钱包弹出的那个「预计手续费」,你有没有发现有时候和实际扣款对不上?

只能算参考,不是最终成交价。

钱包在你确认前给出的那个数字,是按当下这一刻的网络状况估算出来的,从你点确认到交易真正被打包,中间哪怕只隔几秒,行情也可能已经变了。

大多数钱包会把这个预估值和一个「上限」区分开:预估值是它认为大概率够用的价格,上限是你愿意为这笔交易最多支付的价格,两者之间留出一定余量,是为了应对打包瞬间的小幅波动。如果实际执行时网络价格冲得比预估值高很多、超过了你设的上限,交易通常会一直卡在待处理状态,而不是按更贵的价格强行帮你成交——这时候要么等,要么手动把价格调高重新发一笔替换掉原来那笔卡住的交易。

钱包里没有原生代币,是不是就转不动了?

对,而且这是新手最容易踩的坑之一:不管你想转的是哪种代币,支付 Gas 用的永远是那条链自己的原生代币:在以太坊上转 USDT,一样得用 ETH 付 Gas,USDT 本身付不了。

很多人从交易所提币到自己钱包时只顾着提要用的那个代币,结果钱包里代币余额一堆,却因为一点原生代币都没有,连一笔转账都发不出去。稳妥的做法是提币时顺手留一点点原生代币当「Gas 备用金」,数额不用大,够应付日常几笔操作就行。

这两年也出现了一些「代付 Gas」的方案,原理大致是让某个第三方合约先垫付这笔 Gas,再从你交易的代币里换算扣回来,理论上能绕开「必须先有原生代币」这道门槛。这类方案目前还在逐步普及,支持的钱包和场景有限,新手阶段不建议把它当成主要依赖,该留的原生代币备用金还是老老实实留着更省心。

转出代币前做一次原生币备用金检查:确认目标链用什么原生币付 Gas、钱包当前余额是否足够完成至少一次后续操作,并在转账金额里预留这部分。只有代币、没有目标链原生币时,后续授权、兑换或转出都可能无法发送。

两个高频疑问

Gas 费和交易所收的手续费是一回事吗?

不是一回事。交易所手续费是平台收走的,进的是平台自己的账;Gas 费付给的是处理区块链交易的网络本身,跟任何平台无关。哪怕不经过交易所,钱包对钱包直接转账也照样要付。

为什么同一个操作,不同时间点付的 Gas 费能差好几倍?

因为 Gas 价格是实时竞价出来的:网络越拥堵,愿意出高价插队的人越多,费用就被抬得越高;网络空闲的时候同样的操作可能便宜不少。具体价位建议查实时 Gas 看板,以当下行情为准。

配套工具

林致远|编辑复核:Kryoto 编辑组|事实处行内标注来源与查证日期,发布前经四个维度独立复审。|站内注册教程可能含已披露的推广链接,使用时本站可能获得佣金。