区块链中的Gas是什么意思

区块链

581人已加入

描述

在发起ETH转账时,你会看到,Gas Price 和 Gas Limit,在区块链浏览器上还会找到Gas Used 。这些有关Gas的术语都是什么意思呢?今天我们来将他们逐一击破!

1.Gas

在以太坊中,交易、执行智能合约,或是支付数据储存费用,都需要消耗 Gas(燃料)。

Gas 是存在于以太坊虚拟机内部,作为计算工作量的计数。它一方面作为对矿工打包区块的奖励,另一方面,为恶意交易抬高门槛,维护以太坊网络正常运作。 Gas 是以太坊中的燃料,它保证了以太坊生态的运作。正如汽油对于汽车的作用, Gas 不可或缺。

Gas Price:是用户愿意为每个 Gas 支付的价格,一般单位为 Gwei 。1 ETH = 1,000,000,000 Gwei

Gas Limit:是用户愿意为执行某个操作或确认交易支付的最大 Gas 量。

区块链

Gas Used:是执行操作消耗的 Gas 总量

老样子,我们举个例子,这次以同样需要 Gas 的汽车为例。

小星驾车从 S 地到 P 地需要消耗 30L 汽油,从 P 地到 A 地需要 40L 汽油,从 A 地到 R 地需要 50L 汽油。火火驾车前往四地需要消耗 120L 汽油。

同样的,以太坊中每一步运算也都需要消耗 Gas 。不同的是汽车的油箱是汽车厂商设置的,油价也不是车主制定,而 Gas Price 和 Gas Limit 都是交易发送方自己设定的。

2. Gas Limit 设置过低

如果小星的汽车油箱容量为 100L ,那么从 A 地前往 R 地的途中,小星就会面临油耗用尽的困扰,加油的费用也不退还。

同样,如果 Gas Limit 设置过低,无法保证计算完整运行,系统将会提示“ out of gas ”,这笔交易依然被打包到区块中,交易金额被退回,交易费用作为奖励发放给打包这个区块的矿工。

3. Gas Limit 设置过高

既然 Gas Limit 设置过低会导致交易失败,那将 Gas Limit 无限调高,岂不是没有这个困扰?

正如交易有 Gas Limit ,区块也有 Gas Limit 。每个区块在打包的时候都会确定当前区块的 Gas Limit 总量,以此来确定单个区块所能打包的交易数量,所以矿工在打包每笔交易的时候都会判断当前的 Gas 量够不够打包当前交易。

例如现在有 3 笔交易, A 交易 Gas Limit 为 10 , B 交易为 20 , C 交易为 30 ,如果区块 Gas Limit 为 30 ,那么 A 交易和 B 交易将被打包。由于矿工有权力选择哪些交易被打包,因此另一名矿工选择将 C 交易打包进这个区块。但是如果将 ABC 交易同时打包, Gas Limit 达到 60 ,超过区块 Gas Limit ,这个区块会被网络拒绝。

4. Gas Price 的高低

矿工总是希望获得更多的挖矿奖励,在打包交易的同时,交易费用越高,越容易被打包。

交易费用 = GasPrice * GasUsed

因此,Gas Price 越高,矿工将会优先打包,交易会被更快确定;如果 Gas Price 设置过低,矿工的报酬降低,交易的确认时间将会延长。

这些复杂的术语小编终于理清楚了,你呢?

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分