Gas,字面意思瓦斯、汽油,是一种燃料。当用户在以太坊区块链上进行交易、执行智能合约或支付数据储存费用时,整个计算过程需要消耗网络资源,用户需要为此支付一定的燃料费即Gas费。只有这样,才有矿工愿意为你的交易打包。
换言之,在以太坊网络上,更准确说在以太坊虚拟机(EVM)上,每一个操作都有一个相对应的Gas成本,作为计算工作量的计数单位,而Gas费用完全用以ETH来支付。Gas高低如何界定呢?这当然要根据链上操作的复杂程度而言,其实不难理解,这就和开车一样,跑的路越多自然消耗的越多。
在这里,要提到以太坊网络中的两类账户,外部账户(Externally Owned Account)和合约账户(Contract Account)。外部账户即普通账户,是指用户们所使用的账户,由私钥持有者控制;合约账户不难理解,指带有应用逻辑的智能合约,由合约代码控制,通常比较复杂。
一般而言,普通的转账交易会调用外部账户,所需要的Gas数量是固定的,即21000;但如果涉及到DeFi,就需要调用到合约账户,当用户的账户和DeFi 项目的智能合约进行交互时,由于复杂程度不同(处理交易所占用的资源),所需要消耗的Gas也就越多。