LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 透析以太坊gas机制

透析以太坊gas机制

2019-12-23 币迷 来源:区块链网络

我们说,以太坊网络相当于一部巨型计算机,在这部巨型计算机上,对于用户来讲,不管身处何地,只要有以太坊账户,均可以享受这台巨型计算机所能带来的服务,如转账、部署智能合约、开发DAPP等,天下没有免费的午餐,享受服务,花费费用,理所当然。

对于旷工来讲,遍布世界的旷工,通过提供矿机,打包交易、确认区块等来维护着这部计算机网络的正常运转,这是需要耗费成本的,他们不是做公益,报酬是必须的。

无论是用户的花费还是旷工的报酬,都需要一个计量单位,便于量化衡量,Gas机制由此而生。

1、什么是gas?

gas是以太坊网络中的一个计量单位,是为了对算力消耗进行量化而设计的指标,也就是说有了gas这个计算单位,我们可以方便的计算出用户完成一笔交易需要支出多少gas费用,矿工完成一个区块的打包确认能收到多少gas报酬。

Gas的中文意思是“燃气”,若把gas想像成“燃气”话,可以这么理解:

做个西红柿炒蛋,需要耗费0.1升燃气,这里的0.1升的燃气完成这项服务上(西红柿炒蛋)需要的花费,这个花费有自己的计量单位(升),以太坊系统里的gas,就像做饭用的燃气一样,其计量单位是gas,如完成一笔基本的转账,用户需要支付21000gas,在现实世界里,我们用现金购买燃气,在以太坊网络中,我们用ETH来购买gas,无论是交易、执行智能合约、启动 DApps,还是支付数据存储费用等发起者均需要消耗 Gas,流向那些贡献算力去验证确认和维护eth网络的旷工,让旷工劳有所获。

菜想要做的越多,所需消耗的燃气越多,在以太坊,对于用户来说,进行的运算越多,则需要支付的Gas也越多,验证确认该交易的旷工的所能获得的报酬就越多。

2、关于Gas的两个指标。

在以太坊白皮书里,关于gas有两个指标:Gas Start和Gas Price。

tsx18wzolegzftHJYri17OPZ6N0CdLb2fV0PgieQ.png

如何理解这两个指标,我们以以太坊网络上几分钟前刚刚完成这笔交易为例,进行说明:

MlRb8eA5dfpNROhEKgeCVdlHZLJ4rZ9vyGluSu3K.png

1)Gas Limit(Gas Start):用户为此次交易愿意支付的最大gas量。例子为标准ETH转帐,默认金额为21,000gas,在这笔交易中用户选择的是默认金额。

2)Gas Price:用户准备为每个单位gas支付的ETH金额。 本例子中用户选择为每个gas单位支付100 Gwei。(注:1ETH=1e9GWei=1e18Wei)。

3)Gas Used:即 Gas Used by Txn ,用于执行每交易的实际gas量,例中,由于这是标准转移,故等于默认金额为21,000gas。---实际gas量会根据每个交易的不同而不同。

4)Fees:即Actual Tx Cost Fee,这是用户将为以Ether值进行的交易支付的实际费用金额。 本例子中是: Fees=Gas Used * Gas Price=0.0021ETH,按当前eth价格结算为0.28美元。

在这个过程中,有两点需要注意:

1)在这个过程中, Gas Limit, Gas Price这两个指标,用户是可以自行设置,如果GasPrice太高,会增加自己转账的成本,太低矿工不愿意打包,交易就会一直显示Pending。

GasLimit也一样,设置太低可能会导致燃料消耗殆尽,矿工将停止执行交易的工作,区块链会将交易记录为“失败”,此时你转账的币会退回你的以太坊账户,但是手续费不会退回,因即使交易失败了,但矿工也为验证并执行你的事务付出了劳动,因此你也必须为该计算付费。

这一点不同银行转账,手续费多少,是由银行决定,如何设置,才能快速到账还能省钱,是一门学问,本文暂不详述,后续专写一文探讨此问题。

2)GasLimit是个很巧妙的设定,因为很多时候,你无法确切知道执行一笔交易需要消耗多少Gas,或者是你的智能合约中有永远跳不出的死循环bug,假如没有GasLimit,这就会导致你账户的余额被消耗殆尽,所以GasLimit也是一种安全机制,可以防止因为错误估算或bug而导致消耗账户中所有的ETH。

3、Gas存在的意义?

以太坊采取使用者付费的模式,主要意义在于:

一是能够避免资源的滥用:因每笔交易和智能合约的运行都需要向以太坊网络支付一定的费用,为减少开支,开发者会尽可能的将代码写的简洁高效,这将有助于提高代码质量,保证以太坊网络较少频次的被滥用。同时,因gas limit的设定,可以有效避免可能发生的无限循环,因一旦达到设定的gas limit值,交易执行将停止。

二、防止粉尘攻击:因gas的存在,通过大量小额或无效运算消耗占用网络资源的方式进行攻击机的概率将会大大降低,因需要付出成功,且攻击不成功,将产生大量的沉没成本。

三、辅助激励:区块链系统的一个共同特点:旷工越多,算力越充足,系统越安全快速。

为了吸引更多的矿工进入以太坊网络,需要使以太坊对矿工具有更有诱人的报酬,Gas的引入,对旷工的报酬也有了一个更为量化可控的计算方式。

—————————————

币迷,写于北京,每周一到周五,静候您的光临。

—-

编译者/作者:币迷

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...