第十五课-以太坊的Gas机制|《树哥解读以太坊》笔记

2019-03-07  本文已影响0人  吉祥在成长

新生大学2018年10月份推出了区块链技术系列课程之《树哥解读以太坊》,由树哥主讲。本简书文集记录我的学习笔记。


以太坊的Gas可以类比生活中的汽油。平时开车需要汽油,在以太坊上执行程序也需要汽油 (也就是Gas)。

一、Gas的意义

以太坊的Gas机制 ,即Gas使用规则。目的是引入经济规律,避免过多消耗网络资源。
它可以:
1、计算资源价值
以太坊上有很多的应用,它们需要存储、计算数据等,要消耗资源,因此需要支付费用。这些费用通过Gas来计价。
2、资源稀缺、避免浪费
都来使用以太坊网络资源的话,会造成区块链拥堵,因而使用资源就得支付一定的费用,防止恶意消耗。

二、为什么用Gas,而不是直接用ETH?

因为ETH的价格波动太大。程序中,执行某一个操作所需要的Gas是确定的,通过价格来调整实际花费的以太币。而如果各个操作都用固定的以太币,人们就会只在币价低的时候执行操作,币价高的时候不操作。因此不宜直接用ETH计价。

三、费用的计算

执行操作的花费 = 燃料代价 × 燃料单价

燃料代价:gas cost
燃料单价:gas price

举例:执行某操作,燃料代价为1000 gas,燃料单价为123 Gwei,那么,该操作需花费 123000 Gwei 。

(其中,1 ETH = 10^9 Gwei)

燃料代价跟执行操作的难度有关,难度大的代价大。

以太坊中,由开发者设置燃料单价。设置低了,操作得不到执行,设置高了,浪费金钱。因此需要合理设置单价。

程度参数中,有一个燃料限额的概念,Gas limit 。当所有的操作执行完,所花费达不到限额时,剩余的会退还给你。如果超出了限额,操作回滚到初始状态,燃料不退还。因此,燃料限额不能太小,要高于实际的花费。

四、串联一下Gas使用过程

1、报价,设定最大愿意支付的燃料限制;
2、报价低,矿工不打包,代码不执行,无损失;
3、报价合理或偏高,矿工打包,等待执行;
4、执行代码有燃料代价,累计就是总花费燃料开销;
5、燃料限额合理,代码执行之后,剩余的gas退回给你的账户;限额太低,燃料消耗完,代码回到初始。

小结:
为了避免恶意程序消耗宝贵的区块链资源,以太坊平台的gas机制将经济规律引入到平台生态,要想消耗平台资源,必须使用以太币购买gas,极大地提高了攻击以太坊平台的经济成本,让攻击变得无利可图。
Gas机制避免了使用以太币作为内部消耗的弊端,以太币价格波动太大会让用户的执行成本剧烈波动损害平台生态。通过以太币购买gas的模式也会极大促进以太币的使用场景和建立对以太币的刚需,让整个生态更加活跃昌盛。


|
|
|
|
|
|
|
|
|
|
|

课程大纲

吉祥
2019年03月07日21:46:16

上一篇下一篇

猜你喜欢

热点阅读