主页 > imtoken钱包下载2.0安卓版 > 你知道以太坊 EIP-1559 可能不稳定吗?

你知道以太坊 EIP-1559 可能不稳定吗?

imtoken钱包下载2.0安卓版 2023-01-17 05:00:51

编译:陈一万峰

在本文中,我们将使用基础 gas 价格来反映 EIP-1559 的性能。使用 EIP-1559,交易有一个新字段,并使用新格式进行序列化。费用不是指定唯一的 gas 价格,而是指定为要支付的最高 gas 价格和矿工小费(称为“优先费用”),它决定了将支付给矿工的金额高于基本 gas 价格。由于小费必须是正数,因此要支付的 gas 价格将始终高于或等于基本 gas 价格。处理交易时,总费用(价格乘以消耗的gas)分为两部分:基础金额被烧毁,矿工小费金额支付给区块矿工。

当大部分区块链协议需要销毁原生币时,一般都是为了惩罚一方的不当行为。如果行为不端的一方得到奖励,行为不端的一方可以谴责自己,以免受到他人的谴责。在这些协议中,无论谁谴责,各方的一系列行为总是导致硬币被烧毁。但是,在 EIP-1559 的情况下,如果令牌以不同的顺序或时间发生,导致令牌被销毁的相同操作可以恢复令牌。与 MEV 类似,如果所有相关方都能合作,代币可以共享收益。

以下是对协议参与者的短期激励:

1.矿工希望从用户那里收取更多费用或通过降低基本汽油价格。

2.希望通过降低小费或降低基本汽油价格来减少支付费用的活跃用户。

3.被动用户希望基础 gas 价格高,以便更多代币被烧毁,代币价值上升。

所有活跃方都将受益于基础汽油价格的降低。主要问题是活跃用户和矿工联合行动以降低基础gas价格很难实现。这些是协调的障碍:(1)两个组都是匿名和动态的,(2)活跃用户的数量很高,(3)协调需要一些初始时间或金钱努力,(< @4)叛逃者可能会破坏计划,并且(5)剩余用户可以利用这种情况,以较低的费用进行交易,并在不参与共同努力的情况下提高基础 gas 价格。

虽然 EIP.-1559 驳回了协调,但 EIP 可能没有预见到当今存在的降低基础 gas 价格的巨大激励措施。今天,优先小费仅占基本汽油价格的 6%。换句话说,矿工可以通过降低基本费用从交易费用中赚取 16 倍的收益。 Eric Voskuil 的密码经济学书解释说,交易费用是抵制审查的成本,而以太坊目前为此支付的费用太少。这意味着,至少在理论上,所有交易都可以很容易地被抑制。对交易的抑制导致基础 gas 价格迅速降至零,随着钱包适应变化,矿工收入增加。

如果基本 Gas 价格降至零,用户和矿工都可以将他们的储蓄 50/50 分成 50/50 用于未来的交易。用户将以 50% 的折扣进行交易,但矿工将从交易费用中赚取 8 倍。这导致支付的区块奖励增加了 50%,因为支付的交易费用(已销毁 + 未销毁)已与区块补贴持平。由于电力和其他运营成本,矿工的净收入只是奖励的一小部分,即使新收入的 50% 与用户分享,这个新的收入来源也可能代表净收入增加 300%。这显然是一个非常不稳定的情况。如果只有以太坊区块链可以调和这两个群体,或者如果交易可以被审查,那么 EIP-1559 就完蛋了。

为什么要销毁以太坊

如果交易的基础 gas 价格通过完美协调的系统神奇地瞬间降至零,更多用户将尝试交易,将交易费用推回与以前相同的水平。但是,假设存在矿工之间的协调系统,则潜在的 gas 价格可以永远保持为零。矿工将拥有比以前高 400% 的稳定净收入。

在本文中,我们展示了几种协调降低基本汽油价格的方法(有些方法很便宜)。虽然其中一些协调机制可能不完善,一开始可能会失败,但通常说漏洞只会变得更糟。人们将完善协调系统以实现目标。唯一存在这么多实现协调的方法表明了 EIP-1559 下以太坊网络目前的脆弱状态。

本文提出的研究显然缺乏对以太坊钱包费用管理代码的分析。预计该钱包将正确处理基本汽油价格的降低,并恢复到任意增加小费以确认交易,就像之前的 EIP-1559 钱包一样。但是,钱包可能会实施健全性检查,以防止旧的费用市场再次运作。深入分析需要查看大多数现有钱包的源代码,以了解符合 EIP-1559 的钱包是否有硬编码限制,以防止小费高于基本汽油价格。

同样重要的是,PoS 合并越紧密,PoW 矿工个人和集体行动的动力就越大。

没有“经典”51% 攻击的矿工协调

我们假设大多数矿工(比如 60%,就哈希率而言)愿意合作降低基础 gas 价格。我们称之为协调多数(CM)。 CM 具有任意增加或减少块气体限制的能力,我们的第一个协调方法将利用这种能力。

EIP-1559 将 CM 组的存在与 51% 攻击进行比较。但事实并非如此,经典的 51% 矿工攻击是丢弃少数矿工的区块以增加多数矿工的利润。在 CM 中,大多数矿工为少数人提供利益。从矿工的角度来看,这与攻击、捐赠相反。从矿工理性的角度来看,所有矿工都被激励在幕后与 CM 合作,即使他们出于政治原因不加入 CM。

这为我们带来了绕过基本天然气价格控制机制的第一种方法。当前区块 Gas 限制为 30M Gas。如果 60% 的矿工创建消耗 15M gas 的区块,而其他矿工将其填充到 120M gas,这相当于 57M gas/block 的吞吐量。我们可以假设对 gas 的需求将满足这个提议,因为 BSC 链的区块 gas 限制为 80M,并且会填满它的一些区块。因此,如果 CM 决定将区块 gas 限制提高 4 倍至 120M,并且 CM 人为地将其自身区块消耗的 gas 限制为 15M,则所有矿工获胜。即使天然气价格的下降与吞吐量的增长成反比,这也是正确的。

为了说明为什么这种策略对所有矿工都有利,我们可以看到,如果少数几个完全消耗了区块中所有可用的 gas,每个非 CM 区块将增加 12.5% 基础 gas 价格(最大增加协议允许)。每个以 1500 万 Gas 为目标的 CM 区块将导致基本 Gas 价格下降 10.9%。由于 CM 开采了 60% 的区块,结果是基础天然气价格持续净下降。需要 190 个区块才能将基础 gas 价格降低 90%。

为什么要销毁以太坊

攻击需要一个准备阶段,CM 将 Gas 上限提高到 120M为什么要销毁以太坊,这需要 1422 个区块(约 6 小时)。在这么短的时间内,社区将没有机会协调响应,更不用说硬分叉了。但在天然气供应快速扩张期间会发生什么还不清楚。如果在准备阶段需求与供应不匹配,则基本汽油价格可能会下降。有可能仅仅通过扩大供应,基本gas价格就会变为零,并且小费也会减少,从而导致矿工奖励的净减少。 CM 可以将其视为对未来回报的投资,但以今天的以太币价格(6 小时收入),“投资”可能是 800,000 美元。不过,我们会想出更好的协调机制。

51% 攻击的矿工协调

如果我们假设区块限制提高到 120M Gas,但 CM 开始从消耗超过 15M Gas 的非 CM 矿工那里孤立区块(51%“攻击”),那么只需 24 个区块即可降低基础 Gas 价格为原值的 10%。为避免与其他矿工的公开孤儿战,CM= 将提前为所有矿工提供一行代码补丁(甚至可能是配置更改),以便矿工人为地将他们的区块限制为 15M。

最终结果是,在 6 小时内,区块 gas 上限可能会提高到 120M,网络封顶至 15M gas 区块,并且所有矿工在每个区块中收集超过 2 个额外的 ETH,收入翻倍。

第三方协调

EIP-1559 的目标是将所有区块填充到大约 50%,除非在高需求期间。 EIP-1559 的特性之一是,如果所有奇数块都是空的,并且所有偶数块都 100% 填充 30M 的 gas(实现相同的平均目标吞吐量),则基本 gas 价格会继续下降。在仅仅 300 个交替的空块和完整块之后(大约 1.25 小时),基本 gas 价格达到其原始值的 10%。请注意,没有必要 100% 的矿工决定创建空的奇数块。如果只有 30% 的矿工创建空的奇数块,那么在 300 个区块之后,基本 gas 价格会降低 50%,然后在 1000 个区块(约 4 小时)之后再降低 90%,我们发现大多数矿工都不需要。

请注意,如果少于 47% 的区块被所有矿工填满,则基础 gas 价格也会下降并在 316 个区块后达到 10%,但吞吐量略有下降 1.5%。

补偿矿工因开采空块而造成的任何临时损失的收支平衡点是 1.25 小时前。只有 40% 的矿工参与,而在短短 15 分钟(60 个区块)内,基础 gas 价格可以降低 20%,这足以补偿他们因空区块造成的任何损失。基准气价格的螺旋式下降已被触发。

现在我们将邀请第三方帮助达到收支平衡点。假设有一个名叫 Charles 的隐藏协调者愿意投资奖励创造空奇块 15 分钟的矿工,补偿每个人在创建空块时的潜在损失,外加 10% 的奖金。假设每 15 秒一个块,Charles 的最大成本对应于可以在 60 个块中支付的小费(空块生产者为 30 个小费)乘以 1.1 以提供奖金。假设以太币价格为3200美元/以太币,每个区块包含2.12以太币,用户支付费用,其中2以太币被烧毁。

为什么要销毁以太坊

假设 Charles 使用过去 15 分钟的平均小费作为参考,这将产生 1.$30,000 的预算。只有 40% 的参与,如果市场通过提高小费金额来响应 gas 供应上限,那么仅仅 15 分钟后,所有矿工总共赚取了高达 40,000 美元的费用,防止他们被烧毁。 40% 的参与者多赚了 16,000 美元。

Charles 可以接受链上捐赠来为持续的偶数/奇数挖矿模型创造激励,但这不是必需的。

Charles 可以说,只有不到 40% 的人参与挖掘空奇数块时,才会支付奖金。这意味着矿工永远不会赔钱:他们要么得到查尔斯的补偿,要么得到支付更高gas价格的用户的补偿。由于最有可能的结果是矿工参与,因此查尔斯可以保存赏金并将其重新用于下一轮。在矿工意识到他们有能力降低基本汽油价格后,即使查尔斯离开,矿工也很可能会继续挖掘空的奇数块作为新的谢林点!螺旋式下降已经开始。

通过智能合约进行协调

如果您不相信可以达到新的谢林点,或者可以信任第三方来协调它,我们表明智能合约的力量可以实现相同的目标:我们可以通过带来矿工们一起打开和保护智能合约。我们称它为收藏家。矿工将直接与 Gatherer 交互,而不信任任何外部实体。只要矿工理解合约,任何矿工都可以引发连锁反应,增加矿工收益。

显然可以在以太坊中构建一个 Gatherer,使用 BLOCKHASH 操作码来获取过去 15 分钟或更长时间的块的哈希值。 Gatherer 必须为用户或矿工向 Gatherer 合约提交完整的区块头信息提供一定的激励,Gatherer 会检查这些信息是否与安全获得的区块哈希相匹配。通过区块头,合约可以了解其过去区块的所有信息,并发现哪些矿工创建了空的奇数块并相应地补偿它们。检测空块很简单,因为交易根哈希对应于一个空的 trie 哈希。毕竟,协调是以太坊的好处。

Gatherer 可以轻松决定支付赏金或再花 15 分钟,因此最有可能的结果是 Gatherer 只需要 1.$30k 的初始投资,这将永远持续下去。如果由于气体供应较短而需要更多时间来改善提示,则可以延长赏金和赏金时间。这是一个参数化问题,但不是可行性问题。

少量矿工和私人用户的协调

EIP-1559 的理想特性之一是用户可以更好地估算交易费用并避免多付。但与此同时,基础汽油价格必须迅速适应拥堵。目前,基础gas价格在一天内上涨100%的情况并不少见。

为什么要销毁以太坊

巨大的费用可变性促使用户与矿工协商固定费率。正如我们将展示的,我们称为 Mina 的矿池可以通过挖掘空块为用户提供更低的交易价格,同时获得巨大的收入增长。 EIP-1559 提出了这个问题并忽略了它:不开采空块的矿工将破坏 Mina 的计划。然而,我们的模拟表明情况并非如此。

这就是 Mina 的经营方式:Mina 为用户提供统一费率合同,我们将其称为 Mina 的“私人客户”。该产品在区块编号给出的截止日期前有效,如果私人客户试图在截止日期之前双花给定的交易,他们同意受到处罚。

惩罚机制由我们称为 Penelope 的智能合约完成。私人客户存入的抵押品大致等于两笔 Penelope 交易的成本。当客户端向 Mina 发送一个带有 nonce N 的私人交易 T 时,它还签署了一条消息 M,声称他将在截止日期 D 之前避免创建任何双花 T'。要签名的消息如下:“nonce N will为事务 TxId(T) 保留,直到块 D"。私人交易 T 将指定低于(即 3%)当前基本 Gas 价格的最高费用,该价格由私人客户和 Mina 协商确定。如果私人客户双花 nonce N,那么 Mina 会将证明发送给 Penelope 并收取赏金。请注意,Mina 的私人客户更有可能是大型加密货币交易所。

Mina 现在可以根据同一协议自由地从其他客户那里收集尽可能多的其他私人交易。请注意,如果 Mina 已经收集了足够多的承诺(例如她可以填充一个完整的区块),那么这也意味着她已经从市场上移除了需要消耗的 gas,并且将填充更少的区块,并且基础 gas 价格更低,甚至之前米娜挖掘空块。

目前在以太坊中,平均小费不到基本汽油价格的 6%。为了简化我们的解释,我们假设基本汽油价格是 100 个代币,平均小费是 6 个代币。 Mina 的私人客户的交易支付给她最多 103 个代币(比 106 少了大约 3%),但他们指定了 15.5 个代币的小费(比其他 6 个代币高得多)。 Mina 不能滥用这些私人交易,因为它们在基本 gas 价格为 100 的区块中是无效的。Mina 将等待。让我们假设所有区块都是半满的并且基础gas价格是稳定的。假设区块的气体限制是 30 个单位的气体。现在我们将解释 Mina 如何通过挖掘空块从这些私人合约中受益。

一旦 Mina 收集到一个充满交易的区块,她就会开始挖掘空区块。她每挖一个空块,base gas price 下降 12.5%,base gas price 变成 87.5 个币。如果她碰巧在空块之后挖了一个块,她可以通过私人交易将其填满,每花费一个 gas 单位即可获得 103–87.5=15.5 Token。由于她将区块完全填充到 30M Gas,因此她获得了 15.5*30=465 个代币。每次她挖出一个空块,她就会损失大约 6*15=90 个代币的收入。这意味着,只要米娜每 5 个街区连续创造两个街区,她就可以获得正回报。

算力为 45% 的矿工更有可能连续挖出两个区块,而不是每 5 个区块挖出一个。因此,假设大多数矿工需要从降低基本汽油价格中获利是错误的,因为我们表明 45% 的矿工实际上可以获利。

我们在这里考虑的是,在一个空块被挖出后,剩余的矿工将填满他们的块来消耗之前没有消耗的所有gas,但情况可能并非如此。如果不是所有的 gas 都被消耗掉,Mina 的策略可能会触发基本 gas 价格的持续下跌,而总体交易成本保持不变,以使所有矿工受益。在实践中,实际发生的情况取决于钱包如何编程以在确认延迟的情况下增加小费。

我们尚未评估 Mina 的策略对剩余用户(与 Mina 没有私人合同的用户)的影响。了解 Mina 的策略后,愿意交易的用户可能会决定等到创建一个降低基础 gas 价格的区块,然后立即广播他们的交易,以较低的基础 gas 价格竞争区块空间,设置较低的最高费用。使用我们之前示例中的数字,一种可能性是小费 10 个硬币,最高费用为 100 个硬币,成功节省 6 个硬币。这种策略有利于所有矿工,包括 Mina。在一个空区块之后,矿工的收入几乎翻了一番。因此,他们的动机仍然是保护米娜​​,即使他们不是米娜的一部分。

为什么要销毁以太坊

自主挖矿和 EIP-1559

想要预售区块空间但不希望搭便车者跟随他的空区块的矿工可能会尝试自主挖矿,尝试连续创建两个私有区块并将它们一起发布。如果这是不可能的,那么第一个区块将被释放,然后作为叔集被包括在内,损失至少 1/8 的区块补贴。目前,如果将 80% 的费用从基础 gas 价格转移到优先小费上,该费用将提供比区块补贴更高的收入,这意味着自主挖矿可能成为算力占比较高的矿工的合理策略同样,一旦触发了基础 gas 价格的下降,最终可能会导致基础 gas 价格为零。

“合并”PoS 后的 EIP-1559

EIP-1559 在以太坊 PoS 共识中的一个问题是矿工提前知道他什么时候能够连续挖出两个区块。矿工可以预售低于平均gas价格的区块空间,当轮到他们连续开采两个区块时,开采一个空区块,然后开采一个私人填充区块。由于领导者选择的开放性,以太坊 PoS 还使矿工可以轻松地与之前或之后的矿工协调行动,以降低基础 gas 价格。

解决方案

我们找不到 EIP-1559 激励问题的完美解决方案。我们提出的解决方案是只烧掉一部分基础费用(即 20%),剩下的交给矿工,这比矿工池更可取。

一些变化会降低协调的动力。最简单的补丁是将基本 gas 价格的变化率从 12.5%/block 降低到 3%/block 左右,但这会改变 EIP-1599 向用户传达拥塞的属性。尽管如此,仍无法阻止通过智能合约进行的长期协调。另一个部分解决方案是将块体积的硬限制设置为 30M(几个 EIP 尝试这样做)。

由于 EIP-1559 已将交易审查成本降低到可接受的水平以下,如果不降低消耗成本,EIP-1559 就无法保存。时间会证明 EIP-1559 是稳定的还是在没有建议的更改的情况下变得不稳定。社区对矿工的压力可以降低风险,即使他们不绕过 EIP-1559 是不合理的。

总结

虽然 EIP-1559 旨在造福以太坊社区,尤其是被动的以太坊持有者,但我们认为它不稳定。当所有活跃的参与者都可以从协调中获得高度收益,并且协调成本很低时,只需一个火花即可触发将 EIP-1559 恢复到之前状态的更改。一连串的事件可以迅速收敛到一个新的倒数谢林点为什么要销毁以太坊,以消除基本汽油价格。问题的根源在于,底层的gas价格可以通过交易审查来改变,以太坊的审查成本变得非常低。如果平均吞吐量保持在 1500 万/块,以当前以太币价格抑制奇数块交易的成本仅为 77,000 美元/小时。

在本文中,我们展示了六种不同的方法来在一些玩家可能会背叛的对抗情况下实现协调,但协调可以取得进展。我们还展示了如何使用智能合约的以太坊协调能力来促进消除 EIP-1559 的共同利益。 EIP-1559 有利于非活跃用户而损害活跃用户这一事实使其不稳定,因为非活跃用户在开始合作移除 EIP-1559 时可能并不关心区块链的状态。