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

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

作者: 吉祥在成长 | 来源:发表于2019-03-07 21:45 被阅读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

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/wrohpqtx.html