⑴ 以太坊基金会:ETH将在未来几个月转向PoS 能源消耗至少减少99.95%
长话短说:以太坊在合并完成后的能源消耗至少能减少99.95%。
以太坊将在接下里的几个月完成向权益证明(PoS)共识机制的过渡,这带来了无数种已被理论化的改进。但既然信标链( Beacon chain)已经运行了几个月的时间,我们实际上就可以深入研究具体的数字了。我们很高兴 探索 的一个领域涉及新的能源使用估算,因为我们将结束在共识上花费一个国家所耗能源价值的过程。
截至目前,还没有任何关于能源消耗(甚至使用什么硬件)的具体统计数据,因此下面是对以太坊未来能源消耗的粗略估算。
由于很多人都在运行多个验证器,因此我决定使用可存款的独立地址的数量,来作为今天有多少台服务器的代理数。很多质押者可以使用多个 ETH 1.0地址,但这在很大程度上抵消了那些冗余设置。
在撰写本文时,有来自16405个独立地址的140592个验证器。显然,这是由于交易所和staking质押服务造成的偏差,因此移除它们会导致有87,897个验证器被假定是在家里质押的。作为一个健全的检查,这意味着平均每个家庭质押者运行了5.4个验证器,这对我来说似乎是一个合理的估计值。
能源要求
运行一个信标节点(BN)、5.4个验证器客户端(VC)以及一个以太坊1.0全节点需要多少能量?以我的个人设置为基础,大约是15瓦。Joe Clapis(Rocket Pool开发者)最近运行了10个验证器客户端(VC),1个Nimbus信标节点(BN)以及1个10Ah USB电池组的Geth全节点,然后运行了10个小时,这意味着这个设置平均为5瓦。而一般的投资人不太可能运行这样的优化设置,所以我们取100 瓦作为参考数。
将其与之前的87000个验证器相乘,就意味着家庭质押者的消耗电量约为1.64兆瓦。估计托管质押者所消耗的能源会更多一些,他们运行了成千上万个具有冗余和备份的验证器客户端。
为了简化计算,我们还假设他们每5.5个验证器使用100瓦。基于我所接触过的基础设施团队,这是一个粗略的高估值。真正的答案要少50倍左右(如果你是一个质押托管团队,并且每个验证器消耗电量超过5瓦,我相信我可以为你提供帮助)。
因此,总的来说,采用权益证明(PoS)的以太坊网络会消耗大约2.62兆瓦的电量。这不是一个国家的用电规模,也不是省甚至城市的用电规模,而大约是一个小镇(约2100个美国家庭)的用电规模。
作为参考,当前工作量证明(PoW)以太坊网络所消耗的能量相当于一个中等国家的能源,但这实际上是保持PoW链安全所必需的。顾名思义,PoW达成共识的基础是哪个分叉在这方面做的“工作”最多。有两种方法可以提高“工作”完成率,一是提高挖掘硬件的效率,二是同时使用更多的硬件。为了防止区块链被成功攻击,矿工必须比攻击者更快的速度“工作”。由于攻击者很可能拥有类似的硬件,矿工必须保持大量高效的硬件运行,以防攻击者挖出它们,所有这些硬件都会消耗大量的能量。
在PoW共识机制下, ETH 价格与算力正相关。因此,随着价格的上涨,在均衡状态下,网络消耗的电力也会随之增加。而在PoS共识机制下,当 ETH 价格上涨时,网络的安全性也会提高( ETH 的价值更高),但对能源的需求保持不变。
一些比较
据数字经济学者估计 ,以太坊矿工目前每年要消耗44.49太瓦时的电量,这意味着,根据上述保守估计,PoS的能效提高了约2000倍,这反映了总能源使用量至少减少了99.95%。
如果每笔交易的能耗高于你的速度,则约为35Wh/tx(平均约60K gas/tx)或TV约20分钟的耗电量。相比之下,以太坊PoW每笔交易使用相当于一栋房子2.8天的能量,比特币的每笔交易则消耗相当于一栋房子38天的能量。
展望未来
尽管以太坊目前仍在使用PoW共识机制,但这种情况不会持续太久。在过去的几周里,我们看到了第一批用于合并的测试网的出现(注:The Merge合并是以太坊从PoW切换到PoS时的名称)。几个工程师团队正在加班加点地工作,以确保合并尽快到来,同时又不影响安全性。
扩容解决方案(例如rollup和分片)将通过利用规模化经济来帮助进一步减少每次交易消耗的能量。
以太坊网络超级耗电的日子屈指可数了,我希望这个行业的其他部分也是如此。
⑵ 计算以太坊中 发送交易/调用合约方法 需要消耗多少gas
普通交易所需的gas
> eth.estimateGas({from:eth.accounts[1], to: eth.accounts[2], value:50000000000000})
21001
> eth.gasPrice
20000000000
如上,显示这笔account[1] => account[2] 的交易需要21001 gas, 当前的gasPrice为 20000000000,下面来验证一下
给账户1解锁,发送这笔交易,并开启挖矿打包
⑶ Token经济模型:Gas费的好处与坏处
无论是比特币还是以太坊,亦或是 NEO、ONT 等其他公链,都需要节点充当交易的验证者,整个验证过程包括了计算资源和存储资源的调用,Gas 费就是付给节点的报酬,并且对于某些公链而言,手续费甚至会成为矿工的主要收益来源,例如 BTC,现阶段矿工的主要收益来源于获得区块确认权的奖励,但是随着时间的流逝,可挖到的币会越来越少,Gas 费将作为矿工的主要收益来源。
区块链的网络中总是存在着大量的网络冗余,一个节点的状态的更新经过验证后就需要被同步到全网,并且本身区块链的大小也有一定的限制,因此网络会希望尽量只进行一些简单的任务,例如一个简单的的逻辑验证或者存储一个最终的状态,有了 Gas 费就可以防止用户进行一些复杂的操作使得网络超负荷而瘫痪,这也对上层应用的开发人员提出了要求,开发出的 Dapp 需要对链上链下的复杂度进行平衡。
Gas 费的存在在一定程度上可以防止 DDOS 攻击,如果没有 Gas 费,攻击者就可以构造一种自己给自己发币的交易,并且这是无限制的,持续的占用网络带宽和计算资源导致网络瘫痪;Gas 费存在还可以防止无限循环的交易,在以太坊之后,出现的公链基本大多都具备图灵完备的特性(图灵完备是指在这个系统中一切可计算的问题都能计算,图灵完备最大的特点就是支持循环)。当允许循环的时候,假如没有 Gas 费,就会出现一类攻击者发起一个包含无限循环的交易,这个时候网络就会陷入一个死循环使得网络瘫痪,有了 Gas 费,攻击者就需要衡量自己恶意攻击的收获和 Gas 的消耗,通常这种攻击是不值得的。
无 Gas 费的 Dapp 交易桐兆刷量问题和 DDOS 原理相近,多出现于抵押模式的公链之中,当交易不需要 Gas 费的时候,Dapp 便可以通过操控大量账号实现大量的交易和活跃。
Gas 费模式创造了用户购买购买、持有公链代币的需求,一方面交易需要 Gas 进行支付,一方面,假如 Gas 费是可以分红给代币的持有者,那么会激励用户持续的长期持有公链代币,使得用户对于代币长期的价值增长保持预期。
在以太坊网络为例,当整个网络出现大量拥堵的时候,用户会试图提高自己的 Gas Price 使自己的交易被优先确认,这会导致整个网络的 Gas Price 大幅增长,今年7月份 Fcoin 交易挖矿的火爆似的大量用户在 Fcoin 上转账,结果以太坊的 Gas 费暴涨数十倍,此次Gas危机不仅对以太坊本身造成了巨大的影响,同时也波及了一批基于以太坊开发的 Dapp,面对拥堵,开发者不得不一再推迟计划,甚至考虑换链。
对于开发人员来说,使用网络上的带宽、算力和存储资源是需要持续的消耗代币的,相比于抵押模式开发者成本更高,抵押模式开发者的成本则可以视作局空租为投资;对于用户来说,使用网络上的服务,则无需经历繁琐的代币亏侍购买流程,这极大的降低了用户的准入门槛,除此之外,互联网的免费服务模式深深的烙印在用户的心里,当两条链性能、用户体验相近时,无 Gas 的模式则会更加吸引用户。
⑷ 以太坊gas limit什么意思
一、智能合约这么好,可不是白用的
智能合约,顾名思义,是指计算机代码可以自动执行的合同;以太坊虚拟机是用来执行智能合约的;智能账户是智能合约能够被执行的载体。换句话说,智能账户,这个“账户”是可以被以太坊虚拟机操控的,依据什么操控呢,依据智能合约来操控。
天下没有免费的午餐,智能合约这个功能这么好,可不是白用的,你在以太坊进行交易的时候也要付给矿工手续费的,那么在以太坊系统上,你要付出的手续费是怎么回事,
Gas和手续费之间又有什么关联呢?
二、以太坊 Gas 是怎么回事?
以太坊Gas类似于汽车燃油,智能合约的驱动,需要以太坊Gas。Gas是一个英文单词,中文意思是:瓦斯、汽油,这个东西在日常生活中,是一种消耗品。以太坊为什么会产生“燃料”呢?
以太坊里面的Gas是什么意思呢?其实,以太坊的Gas和交易费息息相关。以太坊交易需要手续费,这个Gas就是以太坊手续费的计算模式。
在以太坊的设定中,交易费类似于一种加密的燃料,也就是Gas,这个东西可以驱动智能合约的运动。当以太坊在区块链上执行交易时,燃料将按照特点的规则而逐渐被消耗。
从这一点看呢,Gas真的是和它的本意一样,像汽车燃油一样,想要发动汽车,必须需要燃油。
三、以太坊 Gas 和比特币交易费有哪不同?
说到手续费,大家可能很熟悉。天下没有免费的午餐,无论是以太坊,还是比特币,都需要手续费,但是二者的手续费模式是不一样的。比特币是直接支付比特币作为转账手续费的,以太坊却不是这样的。
以太坊本质上是一个虚拟机,这个虚拟机是去中心化的,全世界各国人民各自掌控的虚拟机,联合起来形成一个“世界级的计算网络”。当你发送token,执行合约、转移以太坊,或者在区块上做其他事情时,计算机在处理这笔交易时,需要进行计算,这个计算过程需要消耗网络资源。这样一来,你必须支付“燃料费”(也就是Gas),才能让计算机为你工作,让矿工为你处理交易。
通常情况下,发送方愿意支付的Gas价格越高,矿工从交易中获得的价值就越大,矿工们也就越有可能选择这个交易。通过这种方式,矿工可以自由地选择交易。为了给发送者设置Gas 价格做参考,矿工们可以直接提出他们执行交易所需的最低Gas 价格。
四、以太坊 Gas 的消耗量该如何计算?
以太坊虚拟机处理交易时,虚拟机会根据交易中确定的一个一个的操作指令进行逐个处理,而每个操作指令都有明文规定的Gas消耗量。
以太坊系统规定了两个账户:一个是正常账户,一个是智能账户。
普通的转账交易,也就是调用“正常账户”,所需要的Gas是固定的21000;
而调用“智能账户”的的话,因为智能合约的复杂程度不同,使得所需要的Gas也不同。处理交易占用的资源(计算量、内存等)越多,那么所需要的Gas也就越多,比如:执行一次加法运算将消耗 3Gas,如果执行更复杂的运算,那么消耗的Gas就更多。
那么大家可能会问一个问题:当用户的交易涉及一个恶意的智能合约,这个合约超级复杂,执行这个合约要消耗无限的燃料,怎么办呢?以太坊系统的方案是:为了避免恶意
智能合约引起无限的Gas消耗,用户需要在发送交易时设定允许消耗的燃料上限,即
GasLimit,这样一来,就算有恶意智能合约,最坏情况也只是消耗 GasLimit 所规定的燃料范围之内。
五、以太坊 Gas 和交易手续费有什么关系?
以太坊上,你所支付的手续费等于:GasPrice 乘以GasUsed。
你可以把 GasPrice 理解为是燃油单价, GasUsed 理解为汽车所需多少升燃油。
对于汽车,假如说每升汽油是20块钱,一万升汽油就是20万块钱。对于以太坊,每
Gas是20吉伟(吉伟是以太币的数量单位),一万个 Gas 就是:20乘以一万,等于20 万吉伟,2万吉伟等于0.0002以太坊,也就是说,本次交易手续为 0.0002以太坊。
具体的兑换值见下表:
图
(注释:以太币数量的基础单位是“伟”,以太币的数量单位有“伟、芬尼、以太”,其中,“以太”被用作普通交易;“芬尼”被用作微交易;“萨博”和“伟”被用作进行关于费用和合约实施。)由此我们可以发现,Gas并不是以太坊,它是一种单独的体系,它的汇率与以太坊成一定的比例,经过了比例兑换,最终形成交易费。
具体的汇率查询,可以查看以下网站:
https://jin10086.github.io/etherconVerter/
Gas价格和以太币价格都是由市场自由调节的,但是二者是不一样的,他们的不同之处在于:以太币的价格是根据市场情况波动,而Gas的价格由矿工决定的,如果燃料价格低于矿工们的最低要求,矿工就会拒绝处理交易。Gas和以太坊分离,可以保护系统免受随着以太坊价格的快速变化而可能出现的波动。
通常来讲,大部分矿工都会选择利益优先,处理交易时候,他们会按Gas价格从高到底排列,优先处理Gas价格高的,如果你很着急交易 ,就需要提高Gas价格,让矿工早点看到你;如果你不着急呢,你只需要设定一个Gas价格,这个价格在矿工设置的Gas价格底线之上就行了。
六、Gas 是怎么获取的呢?
实际上,Gas就是从矿工那里购买的以太币,用户自己账户中的以太币就可以向矿工购买Gas,以太坊客户端根据指定的交易最大支出限额,自动用以太坊购买Gas。
七、Gas 最后去了哪里?
每笔交易,交易发起方都要设置交易的Gas限定和 Gas价格,不同的操作会产生不同的Gas成本,Gas用完时矿工将停止执行,使用的Gas会作为奖励,奖励给挖矿的矿工,这将涉及到几下几种情况:
第一种情况是,如果有剩余Gas,那么这些剩余的Gas会退还给交易发起方或智能合约创建者,比如我发送1个以太坊给依依,我设置的 Gas limit 是 5万,正常需要消耗的Gas是21000,,那么,剩下没有被消耗的29000会返还给我。
第二种情况是,如果我设置的Gas limit太低,或者我账号中的以太坊不足以支付我的Gas消耗,那么,这笔交易会因为Gas不足而被取消,并且用于计算的Gas不会退回到我的账户。
第三种情况是,如果交易失败,我也必须为已经占用的计算资源来支付手续费。
八、怎么设置合理的 Gas 价格?
每次交易之前,可以查询这个网站来确认需要设置的Gas价格: https://ethGasstation.info/总结一下,这篇文章我们主要介绍了以太坊的Gas和手续费:Gas相当于燃油,你在以太坊虚拟机上处理交易,会消耗计算资源,也就是Gas。在以太坊上,你所支付的手续费等于:GasPrice 乘以GasUsed,也就是:Gas的单价乘以消耗掉的Gas总量。操作的复杂程度不同,产生的Gas成本也不同,Gas用完时,矿工将停止执行,使用的Gas会作为奖励,奖励给挖矿的矿工,矿工会优先选择Gas价格出的高的交易者。
⑸ 以太坊GasLimit的计算方法
以太坊黄皮书上说的gasLimit的计算方法:
gasLimit = Gtransaction + Gtxdatanonzero × dataByteLength
需要注意的是这只是静态的gas消耗,实际gas消耗还需要加上合约执行的开销。
计算 IntrinsicGas的源码位置 core/state_transition.go
相关源码位置:internal/ethapi/api.go
EstimateGas 采用二分查找法获取要评估交易的gas值。二分查找的下限是 param.TxGas , 如果 args 参数指定 Gas 大于 param.Gas ,那么二分查找的上限就是 args.Gas ,否则以当前pending块的block gas limit(后面简称BGL)作为二分查找的上限。 doCall 函数模拟智能合约的执行,经过多次尝试找到智能合约能够成功运行的最佳gas值。
由于二分查找的上限和BGL有关,而BGL和不是固定不变的,因此每次gas评估的结果不一定都是相同的,可能每个区块周期就会变动一次。
在实际进行gas评估的时候,可能会出现类似下面的错误
该错误出现的最可能是合约执行中出错。
How do you calculate gas limit for transaction with data in Ethereum?
⑹ gas费预估失败什么意思
gas是用于测量在以太坊区块链上执行特定操作所需的计算工作量的单位。
这个名字本身并不是偶然选定的。gas其实类似于汽油,后者作为汽车的能量保证汽车可以正常行驶,以太坊网络上的gas为交易行为进行“加油”,并允许用户执行不同的操作。
在以太坊区块链上的每一个操作,或者准确地说在以太坊虚拟机(EVM)上的每一个操作都有一个相对应的gas成本。例如:将两个数字相加要花费3个gas;获取账户余额会花费400个gas;发送一笔交易花费21000个gas。
智能合约通常包括多个操作,这些操作加起来甚至可以花费数十万gas。
有趣的是,gas价格本身并不能告诉我们在某笔交易中需要支付多少钱。要计算交易费用,我们必须将gas的乘以gas价格。
gas的价格单位为gwei,,gwei的单位比ether要小,1 gwei等于0.000000001 ETH。我们可以把它们之间的关系看成是美分和美元。
⑺ 以太坊,什么式异常会消耗可用的gas
不同操作。,对以太坊虚拟机的不同操作都将消耗不同值的Gas,基础,因此是不同操作。以太坊(英文Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether,简称“ETH”)提供去中心化的以太虚拟机(EthereumVirtualMachine)来处理点对点合约。
⑻ 1分钟搞清Gas/ Gas Price/ Gas Limit
好多朋友第一次接触以太坊的时候,都会搞不清什么是Gas,更搞不清Gas Price和Gas Limit是什么。 本文将逐一介绍并理清这三者之间的关系,相信你看完后就会理解这三个gas相关的概念了。
Gas
Gas对应于一个交易(Transaction)中以太坊虚拟机(EVM)的实际运算步数。 越简单的交易,例如单纯的 以太币转帐交易,需要的运算步数越少, Gas亦会需要的少一点。 反之,如果要计算一些复杂运算,Gas的消耗 量就会大。 所以你提交的交易需要EVM进行的计算量越大,所需的Gas消耗量就越高了。
Gas Price
Gas Price就是你愿意为一个单位的Gas出多少Eth,一般用Gwei作单位。 所以Gas Price 越高, 就表示交易中每运算一步,会支付更多的Eth。
大家可能对Gwei 这个单位感到陌生,Gwei 其实就是10 ^ -9 Eth,也就是说1 Gwei = 0.000000001 Eth。 所以,当你设定Gas price = 20 Gwei ,就意味着你愿意为单步运算支付0.00000002 Eth。
说到这里,聪明如你就会意识到以太坊的手续费计算公式很简单:
1交易手续费(Tx Fee) = 实际运行步数(Actual Gas Used) * 单步价格(Gas Price)
例如你的交易需要以太坊执行50步完成运算,假设你设定的Gas Price是2 Gwei ,那么整个交易的手续费 就是50 * 2 = 100 Gwei 了。
Gas Limit
Gas Limit就是一次交易中Gas的可用上限,也就是你的交易中最多会执行多少步运算。 由于交易复杂程度各有不同, 确切的Gas消耗量是在完成交易后才会知道,因此在你提交交易之前,需要为交易设定一个Gas用量的上限。
如果说你提交的交易尚未完成,消耗的Gas就已经超过你设定的Gas Limit,那么这次交易就会被取消,而 已经消耗的手续费同样被扣取 —— 因为要奖励已经付出劳动的矿工。 而如果交易已经完成,消耗的Gas未达到Gas Limit, 那么只会按实际消耗的Gas 收取交易服务费。 换句话说,一个交易可能被收取的最高服务费就是Gas Limit * Gas Price 了。
最后值得一提的是Gas Price 越高,你提交的交易会越快被矿工接纳。 但通常人们都不愿多支付手续费, 那么究竟应该将Gas Price设置为多少,才可以在正常时间(eg 10 mins)内,确保交易被确认到区域链上呢? 这个网站 可以帮到你。 写这篇文章时候,1 Gwei的Gas Price 就可以确保 交易在50 秒左右被接纳。
⑼ 以太坊的gas费被谁赚了
gas主要是被消耗了,收益比较少。
Gas费的组成主要有以下几个要素:GasFeeCap、GasPremium、GasLimit、GasUsed、BaseFee。
GasLimit是消耗资源的最大限制,GasFeeCap是用户所能支付给矿工的最大单价限额。在Filecoin链上,在打包前要检查账户是否有足够的余额,不然交易不会被打包。所以GasLimit和GasFeeCap可以得到用户的最高能支付的费用,是用户自主设置的。但要注意的是,GasLimit不要随意设置,多余的GasLimit会被燃烧一部分,这是和ETHGas费机制最大的不同点。
BaseFee相当于一个基础价位,同样用汽车燃料费来看,可以理解为政府根据整个市场的交易情况设置了一个油价,这个价位会浮动,因此这里起到的类似于一个宏观调控的作用。同样也可以比喻为出租车的起步价,如果用户不愿意支付起步价,司机就不愿意载人,因此如果用户想要乘车就必须接受起步价,而这个起步价在FilecoinGas费中就是BaseFee。当然在Filecoin中这个起步价是动态的,当总GasLimit超过某个区块(网络拥塞信号)的GasLimit目标时,它将增加;低于GasLimit目标时将降低。换句话说,在区块拥堵或者区块交易不够的情况下,BaseFee都会按照12.5%进行相应的调节。
GasPremium在这个机制里被描述为小费,即在网络拥堵的情况下支付给矿工的小费,这个也意味着矿工有优先选择权。如果你支付了GasPremium,矿工就会优先打包你区块的数据。最终给到矿工的酬劳是小费(GasPremium)*最大消耗量(GasLimit)