以太坊区块链收费
摘要:
以太坊的收费机制核心是 Gas(燃料),理解了 Gas,就理解了以太坊的费用系统,核心概念:Gas可以把 Gas 想象成是驱动以太坊网络这台“虚拟计算机”运行所需的“燃料”,无论是... 以太坊的收费机制核心是 Gas(燃料),理解了 Gas,就理解了以太坊的费用系统。
核心概念:Gas
可以把 Gas 想象成是驱动以太坊网络这台“虚拟计算机”运行所需的“燃料”,无论是发送一笔简单的转账,还是部署一个复杂的智能合约,都需要消耗一定的 Gas。
Gas 的单位
- Wei: 最小的单位,1 ETH = 10^18 Wei。
- Gwei: 最常用的单位,1 Gwei = 10^9 Wei = 0.000000001 ETH,用户在钱包里看到的 Gas 费通常就是用 Gwei 表示的。
- ETH: 最终支付的货币单位。
简单类比: 想象一辆汽车行驶。
- 距离: 就像你的交易或智能合约操作(转账、写入数据)。
- 每公里油耗: 就像 Gas Price (你愿意为每单位 Gas 支付的价格)。
- 总油耗: 就像 Gas Limit (你为这次旅程最多愿意消耗的燃料量)。
- 油费: 最终的总费用 =
Gas Limit×Gas Price。
Gas 的三个关键要素
任何一笔以太坊交易的费用都由以下三个要素决定:
Gas Limit (燃料上限)
- 定义: 你愿意为这笔交易支付的最大 Gas 量,这相当于你给油箱设定的最大容量。
- 作用:
- 控制成本: 它是你能承受的最大费用,即使网络拥堵导致 Gas Price 飙升,你的实际花费也不会超过
Gas Limit × Gas Price。 - 防止无限循环: 智能合约代码中可能存在无限循环,Gas Limit 为这种循环设定了一个“燃料上限”,当 Gas 耗尽时,交易会失败(称为“Out of Gas”),但已消耗的 Gas 费仍然会被扣除,以防止恶意攻击。
- 控制成本: 它是你能承受的最大费用,即使网络拥堵导致 Gas Price 飙升,你的实际花费也不会超过
- 如何设置:
- 简单转账: 通常固定为 21,000 Gas。
- 智能合约交互: 复杂程度不同,Gas Limit 也不同,钱包通常会根据合约的复杂性给出一个建议值,但用户可以手动调整。
Gas Price (燃料单价)
- 定义: 你愿意为每单位 Gas 支付的价格,通常以 Gwei 为单位,这相当于你愿意支付的“油价”。
- 作用:
- 决定交易优先级: 在以太坊网络中,矿工(现在是验证者)会优先打包那些 Gas Price 更高的交易,因为他们能获得更高的手续费,Gas Price 越高,你的交易被确认的速度就越快。
- 动态变化: Gas Price 是由市场供需决定的,当网络拥堵(很多人同时交易)时,Gas Price 会上涨;当网络空闲时,Gas Price 会下降。
Gas Fee (总燃料费)
- 计算公式: 总费用 = Gas Limit × Gas Price
- 这是你最终从钱包里扣除的 ETH 数量。
费用结构:基础费用 + 优先费用
在 以太坊合并(The Merge) 之后,以太坊从工作量证明转向了权益证明,其 Gas 费用模型也进行了重大改革,引入了 EIP-1559 升级,现在的总 Gas Fee 由两部分组成:
基础费用
- 定义: 这是固定且销毁的费用,每一笔交易都必须支付这部分费用,但它不会被矿工(验证者)拿走,而是直接从网络中销毁。
- 作用:
- 抑制网络拥堵: 当网络非常拥堵时,基础费用会自动、快速地上涨,使得昂贵的交易让一些人望而却步,从而缓解拥堵。
- 通缩机制: 销毁 ETH 使得总供应量减少,对 ETH 价格有支撑作用。
- 特点:
- 由网络根据当前区块的使用情况自动计算。
- 你无法直接控制基础费用,它取决于你提交交易时的网络状态。
- 它会根据区块的“满载程度”动态调整(目标每个区块使用量是 50% 的 Gas Limit)。
优先费用 / 小费
- 定义: 这是可选的费用,用于支付给打包你交易的验证者,作为对他们处理交易的“小费”或“奖励”。
- 作用: 这是你用来控制交易速度的唯一手段,你支付的小费越高,验证者就越愿意优先打包你的交易。
- 特点:
- 由用户自由设定。
- 如果网络不拥堵,很多钱包会建议一个非常低的优先费用(如 1 Gwei),因为基础费用已经足够让交易被快速确认。
- 如果你想让你的交易在几秒内被确认,就需要手动提高优先费用。
总费用计算公式(当前)
总费用 = 基础费用 + 优先费用
这个 基础费用 + 优先费用 的和,就是你钱包界面上显示的 Gas Price(燃料单价)。
最终你支付的总金额仍然是: 总支付金额 = Gas Limit × (基础费用 + 优先费用)
实际操作场景
发送 ETH 转账
- Gas Limit: 通常为 21,000。
- 基础费用: 取决于网络状态,可能在 10-30 Gwei 之间波动。
- 优先费用: 在网络不忙时,可以设置为 1-2 Gwei。
- 举例:
- 基础费用 = 20 Gwei
- 优先费用 = 2 Gwei
- 总 Gas Price = 20 + 2 = 22 Gwei
- 总费用 = 21,000 × 22 Gwei = 462,000 Gwei = 0.000462 ETH
与智能合约交互(在 Uniswap 上兑换代币)
- Gas Limit: 变化很大,可能从 100,000 到 300,000+,具体取决于合约的复杂程度。
- 基础费用: 同样取决于网络状态。
- 优先费用: 同样由用户决定。
- 举例:
- Gas Limit = 150,000
- 基础费用 = 30 Gwei
- 优先费用 = 3 Gwei
- 总 Gas Price = 30 + 3 = 33 Gwei
- 总费用 = 150,000 × 33 Gwei = 4,950,000 Gwei = 0.00495 ETH
如何查看和设置 Gas 费?
- MetaMask 等钱包: 在发送交易前,会显示一个“Edit”或“高级”选项,你可以看到:
- 当前网络的基础费用(通常不可编辑)。
- 建议的优先费用(钱包根据当前网络状况给出)。
- 你可以手动调整优先费用,选择“慢速”、“平均”或“快速”,或者直接输入具体数值。
- 区块浏览器: 像 Etherscan 这样的网站有 Gas Tracker,可以实时查看当前网络的平均 Gas Price、基础费用和拥堵状况,是设置费用的绝佳参考。
特殊情况
- 交易失败 (Out of Gas): 如果你的 Gas Limit 设置得太低,导致在交易执行过程中 Gas 耗尽,交易会失败,但你已经消耗的 Gas 费(基础费用 + 优先费用)仍然会被扣除,并且这些费用也会被销毁。
- 返还的 Gas: 如果你的交易成功,并且没有用完设定的 Gas Limit,那么未使用的 Gas 会返还给你,你设置了 50,000 Gas Limit,但交易只消耗了 40,000,10,000 Gas 对应的费用会退回你的账户。
| 概念 | 作用 | 谁决定? |
|---|---|---|
| Gas Limit | 设定最大成本,防止无限循环 | 用户 |
| 基础费用 | 固定销毁,抑制网络拥堵 | 网络自动 |
| 优先费用 | 支付给验证者,决定交易速度 | 用户 |
| 总费用 | 最终支付的金额 | Gas Limit × (基础费用 + 优先费用) |
理解这三个要素及其相互关系,就能自如地应对以太坊网络的各种费用情况,既能保证交易速度,又能有效控制成本。
文章版权及转载声明
作者:咔咔本文地址:https://www.jits.cn/content/25502.html发布于 02-06
文章转载或复制请以超链接形式并注明出处杰思科技・AI 股讯
还没有评论,来说两句吧...