原文作者:Conflux
近日,随着 ETH 价格突破年内新高一度甚至超过 400 美元(截稿日前价格),ETH2.0 多客户端测试网 Medalla 即将启动,流动性挖矿(Yield Farming)热潮持续火爆等多重利好,让很多重仓 ETH 的朋友喜笑颜开,不过涨势更加「喜人」的 Gas 费也让一众 DeFi 用户叫苦不迭。
有资深用户「吐槽」道,「为了把我的 15 美元抵押进 Curve,我已经花了 14 美元的 Gas 费!」他道出了很多DeFi玩家的无奈:「每周我可以通过 SNX 的收益赚到 0.079 美元之多,只需要『短短』 177 周我就可以实现收支平衡(当然这还不包括平仓需要的 Gas 费)。」
玩笑归玩笑,Gas 费的暴涨,一方面预示着以太坊的大繁荣,但另一方面也反应出以太坊的拥挤已经成了阻碍以太坊生态发展最大的障碍。
Gas 费暴涨 7 倍,以太坊网络利用率高达 95%
在探究 gas 费暴涨的「秘密」之前,首先我们先了解一下什么是 Gas 费(对 Gas 费比较了解的小伙伴可以直接跳过这部分内容)。
Gas 顾名思义它类似于汽车的燃油,汽车依靠燃油驱动和驾驶,以太坊生态系统则需要 Gas 来操作和处理交易。Gas 费的单位通常以 gwei 表示(1ETH = 1,000,000,000 Gwei)。
众所周知,以太坊本质上是一个虚拟机,这个虚拟机是去中心化的,全世界的人都可以在上面操作,联合起来形成一个「世界级的计算网络」。当你发送 token,执行智能合约、转移 ETH 或者其他 ERC-20 token 时,以太坊「计算机」在处理这笔交易,需要进行计算,这个计算过程需要消耗网络资源。这样一来,你必须支付「燃料费」(也就是 Gas),才能让计算机为你工作,让矿工为你打包交易。
Gas 费用受区块链需求的影响,矿工优先处理 Gas 价格最高的交易。因此,随着以太坊区块链上的活动增加,Gas 的使用也会增加。
据 etherscan 数据显示,自今年 5 月上旬以来,以太坊 Gas 费呈现指数增长趋势,平均 Gas 费维持在 50-100 gwei 之间,而整个 2019 年,以太坊的 Gas 费基本维持在 10-20 gwei。6 月 11 日,Gas 费创近三年新高,达到 709 gwei。7 月下旬以来,Gas 费基本维持在 70-100 gwei 之间。
造成 Gas 费用上涨的根本原因,是以太坊网络利用率不断升高,处于严重的拥堵状态。同样根据 etherscan 显示,以太坊网络利用率已经从年初的不到 60% 上升至 90% 以上;特别是近两个月这个数字始终在 95% 左右徘徊。据 txstreet 网站显示,截止8 月 1 日以太坊网络处于极度拥堵状态,未处理交易高达 75000 笔。
网络利用率的上升,也就意味着剩余可利用空间的下降。在空间有限的情况下,对矿工而言,首先会选择打包那些高 Gas 费用的交易,一些低 Gas 费的交易就只能等待。过去几天,以太坊网络中未处理交易始基本维持在 15 万笔左右,最高时达到 167,386 笔。
交易量不断上涨,导致 Gas 费居高不下
前文中我们也提到了造成 Gas 费不断上涨的根本原因,是以太坊网络利用率不断升高,处于严重的拥堵状态。那么问题来了,为什么以太坊网络会如此拥挤?根本原因在于以太坊交易量在不断上涨,这点我相信各位应该都深有感触。
笔者认为,促成以太坊交易量不断上涨的推手,则来自 3 个方面:
1. 流动性挖矿(Yield Farming)兴起,DeFi 锁仓资产总值创历史新高
6 月 16 日,Compound 首推借贷挖矿,各个抵押协议竞相模仿,掀起「流动性挖矿(Yield Farming)」发币浪潮,上周末 DeFi 聚合收益协议 yearn.finance 发行的治理代币 YFI 爆拉超 100% 的消息更是刷爆了微信各大社群和朋友圈,再次将 DeFi 代币推上舆论的风口浪尖上。
ETH 是用户进入 DeFi 的入场券,流动性挖矿进一步热潮刺激了市场对 ETH 的需求激增。Defipulse 数据显示,过去一个月整个 DeFi 链上锁定 ETH 数量激增,从 261.8 万上涨至 420 万个,涨幅达到 60%,创下历史新高。
当然,过高的 Gas 费也为 DeFi 市场带来了一些负面效应。
首先,它严重阻碍了 DeFi 领域复杂智能合约的创新和使用。例如 Uniswap 因其 Gas 费在同阶产品中最少,所以日活一直霸占 DEX 榜首,前段时间与其同台竞争的去中心化交易平台 Balancer 虽然在数学模型的设计和使用上更为灵活和通用,却因其 Gas 费高昂而无法突出其创新优势。
更为讽刺的是,作为 Uniswap 的头号竞争对手,Balancer 的平台币——BAL 在 Uniswap 上的流动性甚至超过了 Balancer。
其次,Gas 费过高也导致了一些早期 DeFi 项目难以完成冷启动,虽然 Yield Farming 可以帮助一些中小级别 DeFi 项目完成冷启动,但是在个过程中也出现了一些不可避免的问题,比如散户 FOMO 情绪过重、平台用户没有粘性、用户交易量太小不足以覆盖 Gas 费等问题。所以对于一些早期 DeFi 项目来说,即使有了 Yield Farming 的 buff 加持,也不一定能够成功完成冷启动,最终流动性还是会向头部 DeFi 项目聚拢,毫无疑问如此局面非常不利于整个 DeFi 的生态发展。
2. ETH2.0 即将到来
毫无疑问,关注区块链/币圈的朋友都会发现,今年以来看多 ETH 情绪高涨,很大程度上自一个那个让我们期盼了很久的重大利好:ETH2.0 阶段零信标链(Beacon Chain)即将正式上线。以太坊 2.0 的目标是提高以太坊的可扩展性、安全性和可编程性。不同于以太坊 1.0 只能达到 15 TPS 的吞吐量,以太坊 2.0 每秒可处理上千至上万笔交易(甚至更多),同时不用降低其去中心化程度。
而信标链是 ETH2.0 的主链,信标链之于 ETH2.0 的重要性就像人体的心脏对于人的重要性而言一样,它可以让以太坊系统在和谐与共识中有序运行。遥遥无期而又触手可及的 ETH2.0 不断的刺激着我们的神经。
不过,8 月 1 日,据以太坊官方数据,以太坊 2.0 多客户端测试网络 Medalla 已满足启动要求,启动进度已完成 100%,官方数据显示,当前已有 557824 枚 ETH 被发送至以太坊 2.0 测试网进行抵押。
3. 稳定币的增发
曾几何时,大家最喜欢调侃就是以太坊最大的使用场景就是「发币」,而在 ICO 热潮崩溃后,随着 DeFi 市场的强劲增长,价值数十亿美元的稳定币在以太坊上发行,以太坊网络自然而然地出现了拥堵。
ethgasstation 数据显示,过去 30 天,USDT 是以太坊网络上 Gas 费的最大贡献者,累计花费 7000 余个 ETH,远超其他应用。
据不完全统计,在刚刚过去的四、五月份,USDT 一共增发了 33 亿美元,四月最大增发 18 亿美元,创下新的历史记录。其中,有 15 亿美元的 USDT 都是在以太坊上发行的。据 DAppTotal 数据显示,今年 2 月以来,以太坊网络中 USDT 的流通总量出现显著增长趋势,由年初的 23 亿美元迅速增长至目前的 64 亿美元。
让人望而却步的 gas 费还有救么?
6 月 19 日,以太坊矿工投票决定将每个区块的 gas 限额从 10000000 增加到 12500000,但是很遗憾的是 gas 费用仍然居高不下。
后来 V 神 和业内的其他开发者提出了以太坊改进协议 1559(EIP-1559)。该协议提出了一个将会消除目前用于决定交易费用的「低效」且不稳定的拍卖模式的系统。EIP-1559 还会废止矿工修改 Gas 上限的权利;相应地,Gas 费上限的调整将通过硬分叉实现。
也有人提出扩容方案来解决 Gas 过高的问题,对于扩容开发者们有两个不同的研究方向:
· 一种是 Layer1,强调单个节点不必并行处理每个操作,这也是分片(sharding)背后的理念,由以太坊 V 神和其他科研人员所提出。所谓分片,即一个区块链被分成许多不同的「片」,每个「片」都可以独立处理交易。分片一般是指 layer1 的扩容方案,因为它是在以太坊的基层协议上实现的。以太坊 2.0 在阶段一将引入分片理念。
· 另外一种是 Layer2,即减少链上主网交易,将一些其他操作扩展到链外,让链外互动成为可能,这些互动在需要的时候仍然可以返回到主链。相关设计包括 状态通道(state channels)、Plasma 和 Truebit。
虽然方向不一样,但最终殊途同归,近期 V 神也公开表示,Layer 2 扩展初步部署「基本」成功,剩下的是细化完善和部署。
除去把希望寄托于以太坊之外,作为普通用户的我们,有没有办法「主动出击」节约 Gas 费呢?答案自然是肯定的,对于我等小额用户来说可以选择北京时间的凌晨 3 点到早上 9 点这个时间段进行操作,节约 Gas 费支出。至于原因么,说破了也没什么稀奇的,就是因为这个时间段中国人还在睡梦中而老外也下班了:),这个办法配合周末早上一起服用效果更佳。
Conflux 是如何解决问题的?
相比之下,Conflux 则希望用「代付费机制」来解决问题,方便新用户用最简单、便捷的方式体验区块链。简单来说,Conflux 从协议层面设计了一个为调用智能合约的交易代付交易费的赞助者(Sponsor)机制,从而允许余额为 0 的账户直接调用智能合约。
对于账户余额非 0 普通账户而言,Conflux 设计了一个「智能合约交易费赞助机制」来为用户代付交易费,该机制里包含以下四个角色:
· 赞助者(Sponsor):记录提供了当前赞助金的提供者
· 赞助金余额(Sponsor balance):记录了当前赞助金的余额;
· 单笔交易资助金额上限(Sponsor limit per transaction):这是赞助者愿意为每笔交易提供的资助上限;
· 用户白名单(Whitelist):这个名单记录了合约愿意资助的账户列表,也可以设置为资助所有账户。
如果用户 A 发起了一笔调用合约 C 的交易,A 在 C 的受助者白名单里,且交易费不超过合约 C 的赞助金余额和单笔交易资助金额上限,则交易费的来源将是合约 C 的赞助金,而非 A 的账户余额(无论 A 的余额是多少)。于是遇到这样的交易时,矿工只需检查被调用的合约 C 是否愿意且有能力为这笔交易付费即可决定是否打包。
这样做的好处是,用户在使用区块链服务及应用时,可以完全忽视数字货币的存在,即便用户不持有任何数字货币,依然可以在 Conflux 网络中体验开放开源、保护隐私的区块链应用,真正的实现建立起一个「能用、好用」的区块链生态,用技术普惠众生的目标。