主页 > 苹果下载imtoken教程 > 一个故事告诉你,EIP-1559解决了什么问题?
一个故事告诉你,EIP-1559解决了什么问题?
用户故事
假设你是以太坊的新用户。 您刚刚安装了 Coinbase 钱包并提交了您的第一笔 Uniswap 交易。 Coinbase Wallet告诉你交易将在几分钟内确认什么是以太坊汽油费,所以你需要耐心等待。 然而,当几分钟过去了,没有任何变化时,您一定认为出了什么问题。 于是你关闭所有程序再试,但是同样的问题又出现了,你的交易还是卡在pending状态。
沮丧的是,你认为你正在使用的应用程序一定有问题,所以你切换到另一个以太坊应用程序并尝试发送交易。 不幸的是,同样的问题再次发生。 然后你有了一个绝妙的主意,通过给自己发送一些以太币来测试问题是否出在 Coinbase 钱包上,但可惜的是,这种方式也会卡住。
最后你碰壁了,你决定寻求帮助。 首先,你尝试联系 Coinbase,但他们的支持响应时间很长,所以你决定转到你最初尝试使用的应用程序的 Discord 服务器。 在描述了你的问题并与工作人员分享了你的以太坊地址后,他们向你解释说你有六笔待处理的交易,随后的几笔交易在第一笔交易完成之前不会提前完成。 他们告诉你这是一个可以解决的问题,并询问你使用的是什么钱包。
当告诉工作人员你正在使用 Coinbase Wallet 时,他们的回答是肯定的,很遗憾地告诉你 Coinbase Wallet 没有提供必要的工具来纠正这种情况。 你唯一的选择是等待并希望 gas 价格下降,或者转而使用其他更高级的钱包,如 MetaMask。 这是你第一次听说“汽油价格”,你问工作人员那是什么,这导致了 10 分钟的长谈,但最后你也没有真正理解。
然后你去安装 MetaMask,它会询问你的助记词。 工作人员告诉你从Coinbase钱包里放助记词,但是Coinbase钱包给了你很明确的指示,千万不要把你的助记词给任何人! 你的助记词是什么? 你联系你的信任网络,几个小时后能够验证 MetaMask 是合法的,将你的助记词放入 MetaMask 是非常安全的,但你可能应该在这件事结束后创建一个新钱包。
设置MetaMask后,它会告诉你给自己发0个以太币,然后进入高级gas设置(你还是不明白这个名词),设置为70。support给你发一个显示一些数字的网站链接每 15 秒左右更改一次,他们会告诉您在提交交易之前将 MetaMask 中的汽油价格设置为网站上的第一个数字。
您仔细按照这些说明操作,您的交易就成功了! 然后,你检查你的账户余额,看看是否一切正常,你发现你的 ETH 比你预期的少很多,你也注意到,你试图做的事情都没有发生。 工作人员耐心地解释说,当堵塞被清除后,你的其他交易都将立即完成。 他们告诉你,每笔失败的交易都会花费你一些 gas(又是你不太理解的术语!),这就是你的 ETH 余额下降的原因。
你被告知你的账户现在可以正常工作,你可以再次尝试你的交易,但显然你应该观看该网站。 无论您想做什么交易,您都应该先将“gas prices”设置为与它显示的数字相匹配。
只是一次性的问题?
不幸的是,上述情况在用户中很常见,虽然很容易责怪 Coinbase,但几乎所有钱包的用户都会遇到同样类型的问题,包括 MetaMask 等高级钱包。 这个问题在拥堵加剧的时期最为常见(当钱包估计错误的 gas 价格时),尽管由于 gas 价格估算软件中的错误,在拥堵较少的时期也会出现类似的问题。
一个圆满的结局
现在想象一下,如果我们生活在一个不需要预测未来以太坊区块空间需求的世界里。 用户只需要设置自己愿意支付的最高金额就可以将交易包含在内,无需担心支付过多。 用户不必在等待交易时将用户送入无休止的绝望深渊,用户可以简单地表明他们愿意支付的最高金额以包括在交易中,并且他们可以相信他们永远不会支付超过这个数额。 这是一个不需要了解/预测天然气价格的市场。
这就是 EIP-1559 提供的。 它使 Coinbase Wallet 能够可靠地确保其用户的所有交易都包含在区块链中,而无需客户支付过高的费用或开发先进的交易和预测算法以准确估算费用。
它允许 MetaMask 让用户指定他们愿意支付的最高费用,而不是让他们预测未来。
它可以防止用户陷入需要专家才能摆脱的境地。
它使用户最终不会在高昂的汽油费上浪费很多钱。
它避免了用户界面因为一个简单的错字而无缘无故地花费大量金钱。
什么地方出了错?
在上面的用户故事中,Coinbase 试图向用户隐瞒 gas 价格,因为这是一个非常复杂的话题,绝大多数用户都不了解。 相反,他们代表用户估算天然气价格,这在大多数情况下都很有效。 但是,当 gas 价格波动很大时,他们的算法有时会出错(不是他们的错),此时用户的交易就会陷入僵局。 一旦交易被阻止,它就会阻止所有未来的交易,直到交易通过,无论这些未来交易的 gas 价格如何。 这就是导致用户通过尝试自己解决问题而将自己越挖越深的原因。
不幸的是,一旦挖了洞什么是以太坊汽油费,就没有灵丹妙药可以让你脱身了。 您可以使用带有自定义随机数(假设您的钱包支持助记符)的高级工具,如 MetaMask 来清除这一笔交易,但随后您的所有其他交易(可能包括重复交易、过期交易等)将泛滥和浪费天然气成本。 相反,您可以按相反的顺序取消所有交易,但这对最终用户来说是一个非常复杂的过程,需要专门的支持人员与您坐在一起 10-15 分钟来指导您完成该过程。 即使在这种情况下,您仍然会花费 gas 成本,只比您在取消所有其他交易之前清理阻塞的交易所花费的要少。
过去的表现并不能保证将来的结果
这里问题的根源是天然气价格真的很难估计。 有很多工具试图操纵它,但这最终是一个无法解决的问题,因为未来的 gas 价格是区块空间需求的函数,并且每时每刻都在变化。 有些事件可以预测需求的增加,例如 ICO 启动、新的热门项目启动、预言机价格更新等,但几乎不可能跟踪所有这些事件。 即使您进行了跟踪,也不可能对任何特定事件会带来多少需求有强有力的保证。
最后,天然气价格的估算者一般依赖历史数据,并在此基础上对未来的天然气价格进行预测。 这种方法在某些时候非常有效,但在汽油价格上涨或下跌时就不起作用了。 更糟糕的是,即使您高估了汽油价格,您也必须始终支付您估计的全部汽油价格! 这意味着每个人都有强烈的愿望试图压低 gas 价格以期获得一笔好交易。 即使您不想降低价格,您通常也希望至少不要多付很多钱,因此您会选择一个中等范围的数字,让您快速进入范围。
解决办法是什么?
EIP-1559。 大多数人知道这个 EIP 是因为以太坊供应量减少,但在我看来,1559 的真正价值在于增加了以太坊的可用性。 在以太坊包含 EIP-1559 的世界中,这类问题几乎会完全消失。 虽然仍然有可能让自己陷入这样的“漏洞”,但钱包更容易帮助您从一开始就避免这种情况。
有了 EIP-1559,Coinbase 和其他钱包不需要极其准确地猜测未来对以太坊的需求,也不需要在用户计算错误时导致用户支付不必要的费用。 取而代之的是,可以增加大多数矿工可以接受的固定矿工贿赂(大概在 1 纳米币数量级),费用上限可以设置为当前基本费用加上矿工贿赂的 2 倍。 通过这些设置,用户的交易不会被包含在接下来的 6 个区块中的唯一方法是,如果接下来的 6 个区块中对区块空间的需求比当前区块增加一倍,那么所有区块都将被阻止。 包括!
EIP-1559 的重大胜利在这里是微妙的,这一点经常被忽视,但却是至关重要的。 如果您高估了区块的基础费用,无论您高估了多少,您仍然只需为您包含的区块支付基础费用! 这意味着如果你将费用上限设置为 1000,矿工贿赂为 1,但你被包含在基本费用为 10 的区块中,你将只支付 11 的汽油费。这与今天的以太坊形成了鲜明对比,如果你设置 gas price 为 1000,你将支付 $1000/gas,即使是 11 也会让你被包含在区块中!
另一个可用性难题是,平均而言,区块将是半满的,这意味着几乎总是有空间供任何支付基本费用的交易使用。 所以几乎没有区块空间的竞争,理论上即使是 pending pool 也应该大部分时间是空的。
这意味着那些希望从最终用户钱包中提取汽油价格(一个勇敢的目标)的人可以这样做,而不必成为猜测汽油价格的专家(即使是最熟练的以太坊专家有时也会失败)。 以太坊 gas 价格的这种相当小而微妙的变化使得以太坊新用户最常见的挫折点之一几乎完全消失了。 我们终于可以实现以太坊的梦想,最终用户无需担心或考虑 gas 价格。