如果你最近要花很多钱,你就得在产品上花很多钱。现在支付以太坊交易几十到几百美元是正常的。按照目前的速度,只有“巨鲸”交易才能盈利。忘记“无限银行”或“建立一个惠及大众的非自由金融基础设施”的崇高目标吧。以太坊成了富人的天堂。
小额交易费用有时高达10%
交易成本居高不下的背后是区块链的可扩展性。这个问题众所周知,甚至还有专门的****页面。可扩展性是目前区块链发展的**局限。此外,还存在确定性时间长、抢占式事务、跨链互操作等问题。
我们想创造一个代币世界,所有价值都可以自由流动,但是区块链的局限性阻碍了我们实现这一使命。这就是为什么0x实验室成立了一个工程师团队来尝试解决这些限制。通过我们的研究,我们希望探索以太坊的局限性,以及它对dif用户的影响。此外,本文还将简要讨论下一代区块链。在未来,我们还将撰写文章来探索不同的解决方案,即第2层,并展示我们满足DeFi需求的策略。
首先,以太坊事务的大小是用gas计算的。事务被分块收集,大约每13秒一个块。每个区块的交易数量是有限的,这被称为“气顶”目前,每个区块约有1200万个天然气交易空间。一个纯ERC-20代币转账大约需要5万汽油。也就是说,每个块最多可以容纳240个代币传输,大约每秒18个传输。Defi传输通常涉及多个代币传输和记账,使交易成本加倍,并限制块吞吐量。“气顶”和阻塞时间意味着交易所需的天然气需要持续供应。
首先,让我们看看在以太坊的历史上,天然气的供应和使用是如何增长的。
气体使用
每天从以太坊挖矿出约6000个天然气区块。主要是由于“气顶”的增加,天然气交易的数量也随着时间的推移而变化和增加。同时,随着以太坊交易量的增加和增加,交易所消耗的煤气费总额也会随之增加。
回顾以太坊的气体供应(灰色)和消耗(黑色)的整个历史,下图显示:
从上图可以看出,以太坊是一个企业应用程序,因为办公时间是最广泛使用的
在此之前,冰川分为两部分,即拜占庭冰川和拜亚米尔冰川。这是以太坊的“难度**”(也称为“冰河时代”)的影响。
“冰河期”生产时间明显增加,导致区块日产量下降,供气量减少。当然,这种情况非常不得人心,迫使网络硬分岔进行调整。其目的是迫使硬分岔带来升级和改善,防止创新停滞。伊斯坦布尔的硬分岔并没有重置“难度**”,因此穆尔冰川硬分岔得以迅速实施。即将到来的柏林硬分叉将考虑改变这一机制(EIP 2515)。
根据消费量(黑色),自2017年ICO热潮以来,天然气消耗量始终占以太坊的60%以上。之后,“气顶”翻了几番,每次提高后用气量都成比例增加。在过去的几个月里,以太坊的使用率一直保持在95%。
要了解以太坊气体的使用为什么不超过95%,我们需要了解空块和ommer块的概念。
“空街区”和“街区叔叔”
在以太坊的历史上,无论需求有多高,天然气消耗量从未超过95%的上限。令人惊讶的是,剩下的5%被浪费在完全空的区块中。这些空块经常出现,大约每20块中就有一块。有交易要进包进块,为什么会有人想挖出块来?让我们从以下数据开始:
空块率随时间稳步增加,现在是5%。所有池中的空块率是相等的,所以挖矿空块的并不是恶意的矿工。相反,真正的原因可能太快了。如果挖矿时间少于6秒,获得空块的概率将以几何方式增加。
一种解释是,一旦矿工们得到新的矿段,他们就开始在整个矿段打包之前挖矿下一个矿段。这种操作在比特币中被称为SPV挖矿,允许矿工在不完成块验证的情况下开始寻找下一块,但只能添加空块。新块完全打包后,可以添加下一个完整块并切换到dig。
这一解释的进一步证据是,如果同一个矿工快速连续挖矿两个区块,空块率将降低25%。
另一种挖空块体的方法是在挖出块体的同时加工新块体。这导致多个区块同时开挖。如果发生这种情况,以太坊将选择一个主干块并将其他块标记为“ommer”挖出“树快”的矿工仍能获得少量奖励。这种情况的比率是稳定的:
2018年用气高峰期间,“三级区块”利用率也创下新高,但之后占全部采出区块的比例降至5%。这与矿工此时可能改变挖矿策略,导致空块率上升的事实是一致的。
空阻塞率对以太坊可伸缩性的损害并没有立即显现出来,但确实如此。自从拜占庭对eip-100方案进行升级后,调整了难度,使主干网和“三级网”保持一定比例。因此,高“叔块”率意味着“叔块”的浪费增加,主链中增加的块数减少。结果表明,延长了区块日产时间,降低了日产气量。(挡位时间延长的另一个原因是“难度**”)
“叔叔块”或“空块”是以太坊网络的重要健康指标。任何指数的增长都意味着用于交易的天然气总量每天都在减少。“三级区块”费率分析是支持EIP 2028和1559研究的主要部分(见1、2、3)。令人惊讶的是,两个EIP都没有提到空块率,而且研究中存在方法上的缺陷。采用Logistic回归和其他适当的统计方法对“三级阻滞”率和空闭塞率进行分析,以便更严格地分析。
有一些方法可以降低空块率和“第三块”率。假定的根本原因是由于网络和处理延迟,没有可用池的**状态。一个简单但不太令人满意的解决方案是使资金池更加中心化,最近的状态将中心化在一起。
更去中心化的解决方案是在池之间创建专用连接,如bloxroute。受间谍挖矿的启发,这个水池可以提前分享目前正在挖矿的区块。其他水池将准备后续可能开挖的区块。在矿池成功挖矿出自己的区块后,它已经知道了哪些区块可以稍后挖矿,并立即切换。在栈顶,改进后的节点通信协议和处理算法也是有效的,而且还有改进的空间。**,通过降低空区率和“大叔堵”率,供气量可在一天内最多增加5%。
所以似乎有95%的天然气上限,但如果有人想使用超过95%的天然气怎么办?
天然气价格
当以太坊的气体极限达到上限时会发生什么?矿工可以自由选择一揽子交易(稍后详述),但事实上,矿工根据“高GAS FEE优先原则”打包交易,因为这是**利润。这导致了可用天然气的**价格拍卖。
天然气价格已成为“完全非弹性供应”的教科书模。随着管网利用率超过80%并升至95%,天然气价格大幅上涨。潜在需求的任何增加只会使价格上涨,直到价格将需求推回到同一水平。
增加天然气供应或降低天然气价格的唯一途径。不过,近期天然气上限的提高不足以有效降低天然气价格。
乍一看,对以太坊的兴趣增加,只会推高价格,而不会带动消费的增加。事实上,高价值的使用会淘汰低价值的使用,而廉价的游戏类异类代币(NFT)的交易将会减少,而大规模的DeFi交易将会更多。
EIP 1559提案旨在使天然气供应在短期内更加灵活。在需求高峰期,区块产能可增加(高达2000万天然气)。这有助于保持天然气峰值价格稳定,并加快打包交易。但这并不能改变长期以来供应缺乏弹性的问题。
根据EIP-1559提案,长期来看,天然气的发行利率仍然是固定的,这意味着天然气价格将继续上涨,直到需求足够小。EIP-1559仍然鼓励在同一区块内优先打包支付保费(假设池继续按原始顺序挖矿区块)。这意味着先发制人的交易、天然气招标和矿业公司的利润仍然存在。
图中的数字表示下一个区块中可打包交易的***格。你愿意等待的时间越长,油价就越低。历史数据显示,如果你愿意等两分钟或更长时间,价格将非常低。Eip-1559有助于降低保险费并加快交易处理速度。
因此,天然气上限推动天然气价格上涨。我们如何提高上限?
气体上限
瓦斯的上限是由矿藏决定的。下面简要介绍矿工和水池的工作原理:几乎所有矿工都将计算资源汇集在一起。矿工们没有独自前往下一个区块,冒着长期无法收割的风险,而是聚集资源以获得稳定的收入。验证每一个矿坑矿工的贡献,然后继续挖矿下一个区块,这就促进了矿坑的发展。大水池最终会挖出更大份额的地块。
让我们看看以太坊在矿石池中的份额发展情况
星火、以太胺、玉池获得主区块。
除了硬分岔外,泳池运营商还有一项重要的治理责任:他们可以设置以太坊的天然气上限。不同于区块时间和天然气价格(新特性),天然气上限由每个区块确定。新的气顶限制在前一个区块的0.1%,因此每个区块只能制造一个小浮子(黄皮书47号公式)。如果三个矿同意快速复利滚动和单边浮动,瓦斯上限可以在两个半小时内翻番或减半。如果存在分歧,则气体上限为池大小的加权平均值。
目前,由于缺乏关于矿工实际操作的详细资料,我们将采用一种简单的方法:投票制。[…]我们希望在将来我们可以软分叉,变成一个更精确的算法。
以太坊设计原则(2015年3月**添加)
在以太坊早期,矿工设定瓦斯上限的方法是“充液”许多“填充解决方案”足以成为备用参数。EIP1559推荐了一种不同的机制,目前正在讨论柏林分岔。在此之前,石油储备运营商可以像欧佩克控制石油产量一样控制天然气供应。
以太坊池操作员
最近,这两个矿决定将天然气产量增加25%,这是一个有争议的问题。其目的是通过增加天然气供应,缓解交易成本高的压力。目前,交易需求增速快于气顶增速。这将导致价格暂时放缓,最终会上涨。
提高气体上限将给以太坊安全带来极大隐患。如上所述,气体上限增加了“三级阻塞”率和空阻塞率。在正常交易量下,这种增长是很小的。但说到安全,我们不在乎正常的行为,只在乎不好的行为。Perez和livshits(2019)研究了这种不良情况,结果是在相同的天然气成本下,不良交易比正常交易慢100倍。块填充事务需要90秒。这导致节点同步滞后,挖矿“叔叔块”和空块。到这个草案发布时,这个问题已经得到缓解,但还不足以避免。阿列克什耶夫的决定导致了阿列克什耶夫对盖斯的批评。
因此,天然气上限促进天然气价格上涨。看来我们不应该盲目地增加煤气量。我该怎么办?它能降低交换所需的天然气成本吗?
煤气费
交易的天然气成本主要由电动汽车运营成本构成。交易由多个EVM操作组成,每个操作的成本由EIP和硬分叉决定。在过去几次硬分岔中,一些业务的天然气成本增加了(EIPs 150、160、1884),而其他业务的天然气成本则下降了(EIPs 1108、2028、2200)。计划中的柏林硬分岔路口也在考虑改变某些特定业务的天然气成本。
所有变更的目标是使成本更准确地反映运营的真实成本。这意味着,随着计算机和算法变得更快,计算成本将降低。
存储操作的成本是不同的。存储和检索的成本取决于链上的状态大小,而以太坊的状态大小继续增加。改进存储设备或数据库并不能抵消状态大小的增加。
这意味着对于DeFi应用程序来说,存储仍然是一个很大的成本。创建一个新的平衡需要20000个气体,修改一个现有的平衡需要5000个气体。转账时余额必须至少修改两次,兑换时至少修改四次。DeFi交易所需的身份费更高。似乎没有简单的方法来减少相关存储量。如果有需求,仓储费会上涨。好的一面是,第2层扩展解决方案由于其轻量级的存储和高计算负载似乎更有优势。
**,随着天然气上限的提高,同样的安全问题也出现了:恶劣的环境会产生很大的影响。对于局部优化气体,要达到当前操作的平均成本是危险的。
这就说明了为什么以太坊的可伸缩性如此困难。在给出解决方案之前,有必要提及以太坊对DIF用户造成伤害的另一个限制。
矿工赚钱
封隔器遵循共识规则。共识规则保证了交易选择和排名的重要自由。对于普通的代币转账来说,没有什么大问题。但对于交易所和其他DFI交易而言,抢占交易具有很高的经济价值。如果目标交易双方都受到攻击,将会有更复杂的获利行为。Daian等人。(2019)称之为“矿工可采价值”
该池似乎并没有恶意利用自己的交易指令自由,但仍可以用于牟利。池可以使用gETH按天然气价格对交易进行排序(见1,2)。这将导致天然气价格拍卖,**出价交易优先权。这将产生负面影响,任何人都可以通过高出价进行预交易。竞争激烈的贸易商继续竞价提高天然气价格,直到交易利润完全抵消GAS FEE用。目前,所有利润都将成为交易成本,落入矿工腰包。
在其他情况下,只有下一个交易才有价值,例如价格预测器更新后的第一个清算头寸。这被称为“背井离乡”,因此,矿工们受益匪浅。
巨大的价差、价格偏差、高昂的手续费和更多的失败交易最终会损害dif的用户,为矿工们谋取利润。为了获得更好的devi体验,这个问题必须得到解决。为了解决这一问题,必须限制交易排序的自由,例如要求区块内天然气价格**的交易具有优先权。
我们现在已经完全意识到以太坊的局限性,以及它们对devi的影响。当然,所有致力于可伸缩性的明星团队最终都会解决这个问题,对吧。
强化底层,聚焦Layer2
有许多**的团队致力于不同的可伸缩性解决方案。有两种解决方案:第一层和Layer2。第1层解决方案的目标是建立一个更具可扩展性的以太坊,而第2层解决方案则是在以太坊的基础上建立一个更具伸缩性的基础设施。
从最明显的问题开始:提高现有以太坊的性能—这就是ETH1x所做的。为了提高以太坊客户端的性能,还有很多改进。不幸的是,ETH1x几乎没有得到应有的支持,所有进展都很缓慢。
要了解ETH1x可以达到什么性能,请看一下Solana。以太坊的吞吐量可以提高1000倍以上。这种方法的主要缺点是运行整个节点的硬件要求很高。
大多数其他解决方案有三个共同点:
使用web组装作为虚拟机、最简状态架构和最重要的切分。目前,以太坊上的所有事务都是按顺序执行的。交易顺序无疑是区块链的关键。这种模式的缺点是难以并行处理,因此不容易通过投入更多的资源来解决可伸缩性问题。这就是下一代区块链ETH2.0需要解决的问题。
通过改变事务执行方法,可以并行处理事务。该方案通过将区块链划分为多个松散连接的域来实现,这些域被称为“碎片化”处理器。片中的事务仍然按顺序排列,但它们在片之间异步执行。这允许所有分区并行运行,根据片的数量扩展网络。
要分离的域不一定与分区匹配。同一个分区可以有多个域,甚至可以迁移域来实现负载平衡。为了深入了解切片技术,读者可以浏览near protocol的“夜影”文件。
下一代区块链主链在何时何地划分域取决于具体情况。第二代区块链可以看作是从细粒度(许多微域)到粗粒度(少量大域)的光谱。
两个项目占据了粒度谱的两侧:dUnity位于细粒度的一侧,每个**都有自己的域,并且每个**的交互是异步的。near协议没有那么细粒度,每个契约都有自己的域。更准确地说,它的一个端部叫做“一个平行的颗粒链的端部”从DAPP开发人员的角度判断以太坊2.0还为时过早。ETH1ee(ETH2上的ETH1执行环境)将是粗粒度的,边界与碎片一致,当前的以太坊将成为一个碎片。细粒度解决方案的优点是透明性;无论是否跨越切分边界,契约之间的调用看起来都一样。这反过来又允许契约在片之间移动,以轻松平衡负载。
缺点是跨域事务不再是原子化的,而是成为并行的,其中一些事务是不可逆的。在dfinity和near中,契约之间的调用是异步的,返回契约是等待等待的。等待期间发生的所有事务都写入链。之后,其他人的交易可以叠加。此时,所有以前的交易都不能取消。等待**确认后,合同调用成功或失败的指令都可以返回。为了避免这种情况和进行交叉破碎雾化,有许多建议,但也有缺点。接受非原子化似乎是一个自然的结果。
对于DeFi来说,来自调用的异步传输是一个很大的挑战。想象一下双方之间的简单交易。爱丽丝和鲍勃想和埃思和戴做生意。基本合同应为:
但现在我需要处理错误。如果第一笔交易失败,我们可以停止交易。如果第二个事务失败,则需要将一个ETH返回给Alice。问题是,鲍勃可能花了太多钱。解决这个问题的一个方法是托管。
就这样。没有人会输。但现在鲍勃有权选择爱丽丝的交易。Alice的代币是托管的,不能保证与Bob的交易会成功。为了解决这个问题,违规者可以受到惩罚。虽然DeFi的交易很昂贵,但很难确定多少处罚是适当的。为了解决这一问题,市场各方都需要通过存款合同将资金托管。这样,它将变得中心化,而不需要碎片化。
另一件要注意的事情是这些并发问题有多复杂。在实际事务中,还需要更新订单的填充状态,这使得协议更加复杂。与并发漏洞相比,困扰以太坊1.0的重入攻击漏洞不足为奇。并发漏洞是不确定的,不会在测试中出现。从上面提到的简单事务来看,要解决这个问题,我们需要重新思考基础设施,唯一可靠的方法就是推翻它。
交易是DEFI建设的基础和一系列的处理程序。我们已经知道交换簿是如何构成挑战的。自动做市商交易相对简单,因为有托管准备金,但准备金余额形成了阻碍平行操作的瓶颈。即使在最快的传统交易所,结算也不是并行的(尽管会有冗余),而是在单一匹配引擎排序中完成。为了进一步了解传统交易所是如何运作的,布莱恩·尼吉托的演讲非常精彩。
这并不意味着这些问题没有解决办法。最简单的解决方案是在每个片段中部署所有这些协议的一个单独实例,这样套利者就可以彼此保持同步。可以获得一个单独的同步碎片,它具有足够的性能来包含所有DeFi事务,这样就不必担心并发性。
本文讨论了以太坊在扩展DeFi应用中的局限性。如上所述,这个问题很复杂,不可能一蹴而就。之后,我们将写另一篇文章来探讨第2层的具体解决方案,并演示X本身的策略。
参考资源
Daniel Perez和Benjamin Livshits(2019年)。“断米:攻击EVM中的资源计量。”
Daian等人。(2019年)。flashboys 2.0:去中心化交易所中的前置运行、交易重组和一致性不稳定性
Brian Nigito(2017年)。“如何建立交易所。”
丹尼·瑞安(2020年)。“埃塞俄比亚州,2020年6月。”
Scott Shapiro和William Villanueva(2020年)。“ETH 2第2阶段WIKI。”
近协议分片设计
文章标题:带您了解以太坊高昂的天然气费导致的区块链可伸缩性问题
文章链接:https://www.btchangqing.cn/102438.html
更新时间:2020年12月02日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。