主页 > imtoken钱包怎么激活 > 科普 | 以太坊中Gas和手续费是什么关系?

科普 | 以太坊中Gas和手续费是什么关系?

imtoken钱包怎么激活 2023-10-22 05:07:35

智能合约,顾名思义,是指计算机代码可以自动执行的合约; 以太坊虚拟机用于执行智能合约; 智能账户是可以执行智能合约的载体。 也就是说,智能账户,这个“账户”可以被以太坊虚拟机控制,根据什么控制,根据智能合约。

世界上没有免费的午餐。 智能合约的功能好到没白来。 在以太坊进行交易时,您还必须支付矿工费。 那么在以太坊系统上,你要支付的费用是怎么回事,Gas和手续费是什么关系呢?

1. 什么是以太坊气体?

Ethereum Gas 类似于汽车燃料,由智能合约驱动,需要 Ethereum Gas。 Gas是一个英文单词,中文意思是:煤气,汽油,这个东西是日常生活中的消耗品。 以太坊为什么要生产“燃料”? 以太坊中的 Gas 是什么意思? 事实上,以太坊的 Gas 与交易费用密切相关。 以太坊交易需要手续费,这个Gas就是以太坊手续费的计算模型。

在以太坊的设定中,交易手续费类似于一种加密燃料,即Gas,可以驱动智能合约的运动。 以太坊在区块链上执行交易时,会按照特性规则逐渐消耗gas。 从这点来看,Gas真的和它的初衷一样,就像汽车燃料一样,要启动汽车,就必须要有燃料。

2. 以太坊 Gas 和比特币交易费用有什么区别?

说到手续费,大家可能都不陌生。 世界上没有免费的午餐。 以太坊和比特币都需要手续费,但两者的手续费模型不同。 比特币直接支付比特币作为转账手续费,但以太坊不是这样的。

以太坊本质上是一个虚拟机。 这个虚拟机是分散的。 由来自世界各地的人控制的虚拟机联合起来组成一个“世界级计算网络”。 当你在区块上发送代币、执行合约、转账以太坊或做其他事情时,计算机在处理交易时需要进行计算,而这个计算过程会消耗网络资源。 这样,你就必须支付“gas费”(即Gas),才能让电脑为你工作,让矿工为你处理交易。

一般来说,发送方愿意支付的 gas 价格越高,矿工从交易中获得的价值就越大,矿工选择该交易的可能性就越大。 这样,矿工可以自由选择交易。 为了给发送方设置gas价格作为参考,矿工可以直接提出执行交易所需的最低gas价格。

3. Ethereum Gas消耗量如何计算?

以太坊虚拟机在处理交易时,虚拟机会根据交易中确定的操作指令,对它们进行一项一项的处理,每条操作指令都有明确规定的Gas消耗量。

以太坊系统规定了两种账户:一种是普通账户,一种是智能账户。 那么对于普通的转账交易,即调用普通账户,所需的Gas固定为21000; 调用智能账户时,由于智能合约的复杂程度不同,所需的Gas不同,交易占用的资源也不同。 越多(计算、内存等)需要的Gas越多,例如:执行一个加法运算会消耗3个Gas,如果执行更复杂的运算,会消耗更多的Gas。

那你可能会问一个问题:当一个用户的交易涉及到一个恶意的智能合约,这个合约超级复杂,这个合约的执行消耗无限的燃料,怎么办? 以太坊系统的解决方案是:为了避免恶意智能合约造成的无限Gas消耗,用户需要在发送交易时设置允许消耗的Gas Limit,即GasLimit。 这样,即使存在恶意智能合约以太坊gasUsed有上限吗,最坏的情况也只是消耗 GasLimit 规定范围内的燃料。

4. 以太坊 Gas 和交易手续费有什么关系?

在以太坊上,您支付的交易费用等于:GasPrice 乘以 GasUsed。

你可以把GasPrice理解为燃料的单价,GasUsed理解为汽车需要多少升的燃料。 对于汽车来说,如果汽油是20元一升,10000升汽油就是200000元。 对于以太坊来说,每个Gas是20GW(GW是以太坊的数量单位),10,000 Gas是:20乘以10,000,等于200,000 GW,20,000 GW等于0.0002 ETH,也就是说,交易手续是0.0002个以太坊。

(注:以太币数量的基本单位是“Wei”,以太币的单位是“Wei、Finney、Ether”,其中“Ether”用于普通交易;“Finney”用于微交易; “Saab”和“Wei”用于收费和合同执行。)

由此我们可以发现,Gas不是以太坊,它是一个独立的系统,它的兑换率与以太坊是按一定比例兑换的,经过按比例兑换后,最终形成交易手续费。

Gas的价格和以太坊的价格都是由市场自由调节的,但又有所不同。 它们之间的区别在于,以太坊的价格根据市场情况波动,而 Gas 的价格则由矿工决定。 如果价格低于矿工要求的最低价格,矿工将拒绝处理交易。 Gas 和 Ethereum 是分开的,这可以保护系统免受 Ethereum 价格快速变化可能带来的波动的影响。

大多数矿工会首先选择利益。 在处理交易时,他们会按照gas price从高到低的顺序排列,gas price高的优先处理。 如果你急于交易,你需​​要提高 gas 价格,让矿工更早地看到你; 如果你不担心,你只需要设置一个 gas 价格,这个价格高于矿工设置的 gas 价格的底线。

5.如何获得Gas?

实际上,Gas 就是从矿工那里购买的以太坊。 用户自己账户中的以太坊可以向矿工购买Gas。 以太坊客户端会根据指定的交易最大支出限额自动使用以太坊购买Gas。

6. Gas最后去了哪里?

对于每笔交易,交易发起者必须设置交易的Gas limit和Gas price。 不同的操作会产生不同的 Gas 成本。 当Gas用完后,矿工将停止执行,使用完的Gas将奖励给挖矿的矿工。 ,这涉及到几种情况:

第一种情况是如果有剩余的Gas,剩余的Gas会退还给交易发起者或者智能合约创建者。 比如我发1个以太币给依依,我设置的Gas limit是50000,正常需要消耗的Gas是21000以太坊gasUsed有上限吗,那么剩下没消耗完的29000会退还给我。

第二种情况是,如果我设置的Gas limit太低,或者我账户中的以太坊不足以支付我的Gas消耗,那么交易就会因为Gas不足而被取消,用于计算的Gas将不会足够了。 会退回我的账户。

第三章的情况是,如果交易失败,我还必须为已经占用的计算资源支付手续费。

七、总结

本文主要介绍以太坊的Gas和手续费: Gas相当于燃料,当你在以太坊虚拟机上处理交易时,会消耗计算资源,即Gas。 在以太坊上,你支付的费用等于:GasPrice 乘以 GasUsed,即:Gas 的单价乘以消耗的 Gas 总量。 根据操作的复杂程度,产生的 Gas 成本也不同。 当Gas用完后,矿工将停止执行,所使用的Gas将作为奖励奖励挖矿的矿工。 矿工将优先考虑 Gas 价格较高的交易者。