以太坊转账为啥要交费用?

很多人可能不知道,以太坊在转账的时候为什么需要费用? 以太坊是 V 神提出的一个能运行任意形式 (图灵完备) 的应用程序,也是一个类似比特币网络的 P2P 网络平台,以太坊项目提出了包括只能合约,基于账户的交易,和燃料等等新概 念。它的智能合约运行在以太坊虚拟机中,它也是一个公链,任何人都可以接入并参与网络中数据的维护,提供运行以太坊虚拟机的资源。也正因为以太坊网络交易的多样化,以及系统的复杂化,所以以太坊也更容易受到攻击。 以太坊 网络在降低网络攻击方面核心的思想是通过经济激励来防止攻击。主要在两方面来限制 

1. 所有的交易都要提供交易费用,避免 Ddos 攻击。Ddos 是 Dos 攻击的一种升级版,DDOS 是通过很多的“僵尸主机”向以太坊虚拟机发送大量的看似合法的数据包,从而造成网络阻塞或者我们以太坊主机资源耗尽,让正常交易无法进行。 DDOS 攻击的核心是发送没有成本的数据包,从而达成目的,但是假如每一笔交易需要一定的费用,那就会让攻击者望而却步。统计了一下,假如你要成功的执行一个 DDOS 攻击,花费的价值或许超过了以太坊的价值。除非你真的有钱又没 事做,才会去干这种事情。这就确保了攻击者试图消耗网络中的以太坊资源的时候,需要付出很大的代价。 

2. 其实出现最多的是出现恶意的只能合约,这里牵涉到一个概念:燃料(gas),燃料是控制某次交易执行指令的上限。没执行一条合约指令会消耗固定的燃料,当某一个交易还没有执行结束,而燃料已经消耗完时,合约执行终止并回滚 状态。程序指令消耗的费用超过设定上限时就会被取消,从而避免了恶意合约。正因为以太坊的交易或合约调用的每个运算步骤都需要收取 GAS 费用,限制了很多的滥用情况。

燃料费用设计的初衷就是为了防止太坊网络发生蓄意攻击或滥用的现象,每一次交易,会设置一个燃料费限制,燃料限制只是一个预估值,所以许多用户会超额支付燃料来保证他们的交易会被接受,因为万一你只设置了上限是 0.01 个以太坊,但是打包并未成功,那么你这次转账是不成功的,而且燃料费用是照收的。特别是在网络阻塞的时候,你的燃料费用限制设得太低了,转账成功的机会会少很多。