TRON 的 Bandwidth 和 Energy 到底有什么区别?
前几周一个朋友给我发消息,问他的交易为什么失败。他刚质押了一些 TRX,本来想着可以盖住他的 USDT 转账。结果收到一个 "bandwidth points not enough" 之类的错误。
问题是?他质押错了资源。
太多人栽在这个上,所以我决定专门写一篇。Bandwidth 和 energy 听起来很像——都是 TRON 上的"网络资源"——但混淆它们要花真金白银。
我能想到最清楚的解释
Bandwidth 是你信封上的邮票。无所谓里面装的什么,每封信都要贴一张才能寄出去。
Energy 是工厂收到你的信之后,运转机器要的电。只有当收件方是工厂(智能合约)、并且需要对你的信做点什么时,才会用到。
所以如果你只是把 TRX 从一个钱包转到另一个——只需要 bandwidth。没有工厂参与。贴邮票,结束。
如果你转的是 USDT、USDD、JST 或任何 TRC-20 代币——bandwidth 和 energy 都要。因为代币本身并没有"动",是智能合约在更新"谁拥有多少"。这就是工厂那部分。
没人用的免费每日额度
有一件事我用 TRON 用了快一年才知道:每个账户每天有 600 点免费 bandwidth。24 小时一刷新。不用质押,什么都不用做,直接给。
600 点大概够 2 次简单的 TRX 转账。或者投个票。不多,但免费。
但 energy 没有对应的免费配额。默认 0 能量。这就是为什么你第一次发 USDT 那么扎心——你有 0 能量,网络直接从你余额里抓 TRX 烧掉。我在 为什么 USDT 手续费这么高 那篇里深入讲过这个机制。
各项操作到底要多少?
一些我自己交易的大概数字,都可以在 TronScan 上查证:
TRX → TRX 转账:约 268 bandwidth,0 energy
USDT 转账(收款人已经有 USDT):约 345 bandwidth,约 64,285 energy
USDT 转账(收款人是新钱包):约 345 bandwidth,约 130,000 energy
在 SunSwap 上交换:600+ bandwidth,200,000+ energy
NFT 铸造或合约调用:变化很大,通常很费能量
注意到 bandwidth 哪怕复杂操作也很小?因为 bandwidth 主要取决于你交易数据的大小,不取决于它做了多复杂的事。一笔 USDT 转账数据大概 345 字节,无论触发的合约跑了一千次操作还是一次。
Energy 正相反。纯粹是计算成本。合约要"思考"得越多,烧的能量越多。
怎么获得它们
获得 bandwidth 两种方式:用每天的 600 免费额度,或者质押 TRX(技术上叫 "freeze")生成更多。质押几百 TRX,普通使用够用了。
Energy 麻烦一些。可以:
质押大量 TRX(几千起),每天生成能量
让网络在每笔转账时自动从你钱包烧 TRX
从市场上租能量,付一笔小费用
第一种适合你有闲置 TRX、并且至少 14 天用不到的情况。第二种是默认方案,长期来看最贵。第三种是我现在的做法——我用我自己的服务(EnergyTRX),但市面上有几家不错的。可能一次转账 3-5 TRX,而不是 27。
一个常见的误解
以前对重度 USDT 用户来说,质押 TRX 换能量是显而易见的选择。然后几年前网络改了公式,现在你要锁住明显更多的 TRX,才能拿到同样的日能量。我记得好像是 Stake 2.0 那次更新——具体日期记不清了。
结果对大多数普通用户来说,质押的资金占用已经不划算了。你可能要质押 5,000-8,000 TRX 才够覆盖每天几笔 USDT 转账。如果不是天天高频转,那笔资金冻在那里其实可以做别的。
每周转 2-3 次 USDT 的人,租赁在数学上更划算。每天发 100+ 笔 USDT 的企业用户,质押可能还是有意义的。
新用户怎么办?
如果你刚开钱包,我会这么建议你考虑:
留一点点 TRX 余额(10-15 TRX 足够)应付简单操作的 bandwidth 烧。不用为 bandwidth 质押——免费的 600 比大多数人想象的够用。USDT 方面,要么租能量,要么前几笔就接受烧 TRX,同时观察自己的使用模式。
如果你完全没碰过 TRON,整个事情都很模糊,我写过一篇 给新手的网络入门讲解,先讲基础再讲资源管理。
最后一点
Bandwidth 和 energy 不会在钱包之间转移。它们绑定的是质押所在的那个地址。所以如果你在钱包 A 里质押 TRX,然后从钱包 B 转 USDT,钱包 B 还是 0 能量,照样烧 TRX。
写出来看好像挺显然的。我是用蠢办法学到的。