首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Preconf 方案如何加快以太坊的交易确认速度?

6 月 30 日,Vitalik 发布新文章讨论了以太坊在交易确认速度方面的问题。Vitalik 提到以太坊相比五年前已经有了很大的改进,得益于EIP-1559(动态调整交易费用)和合并后稳定的区块生成时间,用户在 L1 上发送的交易通常在 5-20 秒内得到确认。然而,这个时间还可以进一步改善,对于一些明确要求几百毫秒甚至更短延迟的应用程序来说,进一步缩短确认时间非常有意义。为了实现这一目标,以太坊社区和研究人员提出了一些实际的解决方案,其中之一是预确认(Preconfirmations)。

什么是预确认?

Preconfirmations(preconf)是交易在被正式确认之前的一种预确认状态。具体来说,是指交易在被矿工包含进区块并且正式上链之前,由节点进行的一种临时确认,这种临时确认意味着多个节点验证交易的有效性,并暂时将其存储在内存池中。这样可以让用户在短时间内获得交易被接受的信号,从而即时获得反馈减少等待时间,提高用户体验。这种预确认并不是最终的确认,仍然有可能被撤销(比如区块重组),但这种情况相对较少。

通常情况,在预确认机制中提议者作为提供预确认服务的角色。用户可以通过支付额外的费用,获得其交易将被包含在下一个区块中的签名承诺。如果提议者未能履行其承诺,他们将面临经济惩罚。

具体实现方案:Based Preconfirmations

以太坊基金会研究员Justin Drake一直在推广一种以太坊预确认机制的方法:Based preconfirmations,通过具体的激励和惩罚机制,提供快速交易确认。

在 Based preconfs 机制中为了减少交易因各种原因而未能被打包进区块的风险,需要有额外的提议者惩罚和强制包含:

提议者惩罚(proposer slashing):L1 提议者必须选择加入额外的惩罚条件才能成为预确认者(preconfer)。这点可以通过重质押相关机制实现。

提议者强制包含(proposer forced inclusions):L1 提议者必须能够强制将交易包含在链上,即使在经济性不高或其他提议者不合作的情况下。这点可以通过 inclusion lists 实现。

L1 提议者通过选择加入以下两个预确认惩罚条件,成为预确认者。预确认者向用户发出签名的预确认承诺,承诺在指定时间段内将交易包含在区块中,并为兑现承诺获得用户支付的小费。

活跃惩罚(liveness slashing):如果预确认者未能在指定时间段内包含预确认交易,将面临惩罚。

安全惩罚(safety slashing):如果预确认者的承诺与实际包含的交易不一致,将面临惩罚。

此外,预确认者会根据在提议者前瞻中的位置来进行优先级的排序,以更快的执行预确认交易。提议者前瞻机制是一种用于确定未来一段时间内哪些提议者将有机会打包区块的机制,会给每个未来的提议者分配一个位置编号,这个编号表示他们在未来区块提议中的顺序。预确认者根据他们在提议者前瞻中的位置再进行一个排序,位置编号越小的预确认者优先级越高。假设某个交易得到了预确认者 B 的承诺,那么在 B 之前的位置编号更小的提议者(预确认者 A)可以立即将该交易打包,减少了用户的等待时间,不必等待轮到 B 作为提议者的那个时间段。如果 B 前面提议者未能及时打包交易,预确认者 B 需要在其时间段内确保这些交易被包含,否则将面临惩罚。

通过以上这些条件和设定,Based preconfs 可以给 L1 提供更快速地确认交易。如果 rollup 是 based 的(L2 的排序交给 L1 负责),也就是所有的 L2 区块在逻辑上被视为 L1 的交易,那么可以利用相同的机制来为 L2 提供预确认。

社区的讨论

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OvBihlEpx1pOuv5HWf1FO4Mw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券