作者:SašaMilić
译者:@blcold
翻译机构:DAOSquare
背景介绍:以太坊交易(如果你对以太坊很熟悉,可以跳过这一部分)。)
像所有的计算机一样,以太坊区块链是一个状态机¹,任何给定的以太坊状态都是由地址和账户状态之间的"简单"映射--账户状态只是一个账户存储的数据(如账户余额、合约代码等),而该账户是由一个唯一的地址控制。
交易是改变这个全局状态的东西。交易指定了一个指令序列,通过以太坊虚拟机(EVM)的执行来改变全局状态。(更准确地说,EVM是以太坊的状态转换功能的实现形式,在定义任何状态机时都是必要的。)
一个非常简单的状态机。其中圆圈代表状态,箭头代表状态转换。当然,以太坊的状态机要复杂得多,许多状态转换类型以操作码的形式实现,并可能有无限的状态¹。
交易的创建者必须指定gas限额和gas价格。
(注意:这篇文章中的所有引用都来自最初引用的文章
。)
交易创建者支付:gaslimit×gasprice。
一个区块是一个有序的交易序列和一些相关的元数据(重要的是,还包括一个指向前一个区块的引用/指针;这就是为什么叫它区块链)。
©PNGWing
最大区块大小是任何区块可以包含的计算量的上限(由交易中的gas总量表示)。目前,其上限设置为12.5Mgas;因此每个区块交易的理论上限约为1000笔(尽管在实践中要少得多)。矿工负责选择交易并将其排序到区块中并提供工作量证明。
以下对于理解本文的其余部分很重要:
当前的交易费用
当前以太坊网络交易采用最高价拍卖机制²。
这将导致"许多矿工将区块打包到最大区块大小,贪婪地优先处理gas价格最高的未决交易"。
EIP-1559:核心思想
在此可以找到正式以太坊改进提案(EIP)#1559()。
燃烧与历史相关的基础费用
每个区块都有一个由协议计算的底价(每单位gas),称为基本费用。支付基本费用是加入区块的前提条件。
基本费用只是前一个区块的一个函数。
所有来自基本费用的收入都被燃烧,也就是说,从ETH的流通总量中永久销毁。
可变区块大小
最大的区块大小翻倍(例如,gas上限制从12.5M增加到25M),此时旧的最大区块(例如,12.5Mgas)将作为目标区块大小。
只要最新区块的大小分别大于或小于目标区块大小,就向上或向下调整基本费用。
提示
现在的交易不再是单一的gas价格,而是包括小费和费用上限。只有当交易的费用上限达到区块的基本费用时,交易才会被打包进入区块。
谁支付什么费用?如果基础费用为r的区块中,包含小费为δ、费用上限为c、gas限制为g的交易,则交易创建者需支付g·min(r+δ,c)ETH。
谁收到这笔款项?来自基础费用的收入被销毁,剩余部分转移给区块的矿工。
有趣的是,在阅读这些关键想法时,人们可能会认为它们是相当随意的,并且/或者这些"关键想法"中的一些与其他想法有点正交。事实并非如此。嗯,不是真的。这些想法是有内在联系的,正如你将在本帖的其余部分看到的那样。
有趣的是,在读到这些核心思想时,人们可能会认为它们相当随意,并且/或者其中一些“核心思想”与其他思想有些矛盾。当然,事实并非如此,这些想法有着内在的联系,正如您将在本文的其余部分看到的那样。
可变区块大小作为需求的代表
第一点:这些想法是有内在联系的,是动态调整块大小的概念。为什么要这样做?有一个简单的答案:当区块大小是动态时,开采的区块的实际大小可以被用作需求的代表。
公式的更新
建议更新每个区块的基本费用的公式为:
也就是说,在最大区块(即目标大小的两倍)之后,基本费用最多增加12.5%,在一个空块之后最多减少12.5%。⅛的系数是相当随意的,一个"好"的系数可以使基本费用以适当的速度调整,以适应需求的下降/上升的峰值。
十大要点在此,我将重述Roughgarden论文中的"十大要点",并对其背后的原因进行解读。
[1.]任何交易费用机制,无论是EIP-1559还是其他机制,都不可能大幅降低平均交易费用;持续的高交易费用是一个可扩展性问题,而不是一个机制设计问题。
下图是以太坊网络中计算(以gas衡量)的供需图的一个代表性例子⁴。
Roughgarden认为,所有(合理的)天然气价格机制都可以被视为"为这个理想而努力"。也就是说,努力达到一个最接近该最佳交点的天然气价格。而这个交点完全由供求关系决定--与天然气价格机制无关。
注意,这完全独立于gas价格机制。供需线的交点是市场清算价格,即gas需求总量等于可用供应量时的价格。
Roughgarden认为所有(合理的)gas价格机制都可以被视为“为这个理想而努力”,即努力达到最接近该最佳交点的gas价格。而这个交点完全由供求关系决定--与gas价格机制无关。
[2.]EIP-1559应该通过可变区块大小的灵活性来减少交易费用的差异和用户所经历的延迟。
就像前面的"要点"中提到的,只要需求超过供应,交易费用就会很高。
从本质上讲,作者认为EIP-1559的主要好处是改善用户体验(UX),通过他称之为“用户激励兼容性(UIC)”的东西将用户体验正式化。为了使这篇博文相对“轻松”,我将跳过这种形式主义的细节,但论文中也提供了一个很好的直观类比:
从本质上讲,当前的Gas价格竞价系统在市场上造成了很多“混乱”(从而导致市场效率低下),因为交易创建者通常不会诚实地说出他们愿意的出价,并且他们的决定通常会受到其他人(或他们认为其他人)的影响。坦率地说,设定价格更直接,从而减少市场的混乱和低效率。
[3.]EIP-1559应该通过简单的费用估算来改善用户体验,除去需求快速增长的时期之外,以“明显的最佳出价”的形式。
论文中证实这一点的部分相当复杂,但本质上归结为证明所谓的“用户激励兼容性”。本节(6.3)中的证明表明1559机制通常用作“貼价机制”(如前面给出的亚马逊示例)。需要注意的是,这在需求快速增长的时期并不成立,因为:
也就是说,在需求急剧上升期间,1559看起来就像当前系统并无差异。
[4.]在EIP-1559下,矿工按预期执行协议的短期激励与最高价竞拍拍卖一样强烈。
"按照预期"意味着:
矿工没有动机去制造虚假交易
矿工没有动机与链外用户勾结
这些论点在第6.2和6.4节中得到了正式证明。
[5.]在EIP-1559框架下,双花攻击、审查攻击、DOS攻击和长期收入最大化战略(如操纵基本费用)的博弈论障碍似乎与最高价竞拍一样强大。
对此的解释在第7.5节中有相当简洁的说明,但基本要点是:在EIP-1559下,"主要"攻击载体并不比目前的gas价格机制更容易被利用,因为它们是"可检测的,理论上是脆弱的,或两者兼而有之"。
[6.]EIP-1559至少应该通过燃烧交易费来适度降低ETH的膨胀率。
显然,更多的燃烧意味着更少的ETH流通。
[7.]面对链外协议带来的威胁,简单的费用估算和费用燃烧这两个看似正交的目标变得密不可分。
有意思的是,燃烧基本费用是1559机制的必要组成部分,否则(即如果矿工只是简单收取费用),整个1559机制将等同于最高价竞拍;也就是现在这样。也就是说,如果对1559机制进行修改,使矿工赚取基本费用,那么将减少现行的gas价格机制。
我认为这是一个关键点,因为我已经多次看到别人的论点,认为EIP-1559与目前的机制相同,但情况并非如此,特别是由于燃烧的引入。
另外,有一个论点表明,基本费用在这个设计中也是必要的,因为简单地从最高价竞拍中燃烧费用被证明是次优的(由于链外协议变得有利可图)
[8.]备选设计方案包括向未来区块的矿工提前支付基本费用收入,而不是燃烧它们;以及用固定的小费取代用户设定的可变小费。
这点也是非常重要的。作者表明,研究论文中为EIP-1559提出的所有论据对其他几个备选设计也是成立的。
我将特别提到的一个备选设计方案是:向前支付基本费用。由于提议的费用燃烧机制,对EIP-1559的最大阻力来自矿工(见下面的注意事项部分)。
这种对EIP-1559的替代/修改可能会影响矿工的意见。我有兴趣听到更广泛的讨论/辩论。
[9.]EIP-1559的基本费用更新规则有点武断,应该随着时间的推移进行调整。
关于基本利率更新函数,我已经在上面提到过(“⅛系数是相当随意的”)。2倍的最大区块大小也是一个有点随意的"好"数字。更一般的,1559机制只需要满足几个条件,即:
与历史相关的基本费用,以及
烧掉或以其他方式扣留区块矿工的收入
关于过冲的插图。这张图片来自维基百科上关于过冲的文章,本意一个来自信号处理的话题,只是与目前的话题有点关系,可以用来辅助解释)
此外,Roughgarden还概述了基本费用更新规则所需的几个额外条件:
在需求突然激增(或下降)后,合理地迅速向上(或向下)调整。
调整速度足够慢,以避免对小的或非常短暂的需求变化作出过度反应。
不能由用户和/或矿工组成的卡特尔以博弈理论从容操控。
攻击者的成本很高。
[10.]可变大小的区块使一个新的(但昂贵的)攻击载体成为可能:用一连串最大区块来压倒网络。
存在的一种可能性是,"攻击性的矿工卡特尔"创造一连串最大区块,以创造需求冲击,然后推动用户增加小费。这种情况成本很高,也可以通过使用更大的区块来缓解。
注意事项愤怒的矿工
似乎大多数矿工(至少是矿池)一直反对EIP-1559。⁶这是因为他们认为燃烧会损失他们一部分利润,这是可以理解的。这带来了许多问题,最关键的可能是:如果大多数矿工拒绝包含EIP-1559的升级,那么这个更新能否真正实施?这是否会导致网络中的另一个分叉?
还有一些攻击载体是"脆弱的游戏"--例如,将区块大小保持在一定水平,人为地减少供应--然而,只要被激怒的矿工足够多并且成功地串通起来,就有可能实施这种本来"脆弱"的串通策略。
然后总有人问有一个问题:这对更广泛的社区有什么影响?我不认为更广泛的区块链社区会以积极的态度看待协议变更的纷争和分叉。
我想借此机会再次强调TimRoughgarden建议的EIP-1559的变体:"预付基本费用",也许这可以提供一个亟需的中间地带?
结论EIP-1559可能不会导致平均gas价格下降。
EIP-1559可能会通过简单的费用估算和较少可变的gas价格来改善用户体验(即交易创建者的体验)。
从传统博弈论的角度来看,EIP-1559提供了与当前天然气价格选择机制在某些假设下相同的安全保证。
这方面的注意事项是:由足够多的心怀不满的矿工引起的更大的矿工勾结可能会破坏这些结论所依据的一些更传统的博弈论假设。足够多的对手能否破坏我们的博弈论假设?并成功实施否则“脆弱”的勾结策略?
我们能否对Roughgarden的EIP-1559的变体:"预付基本费用"进行广泛的讨论?也许这可以提供一个亟需的中间地带(在用户和矿工之间)?





