首页  >  文章  >  Vitalik 支持路线 Epoch and slot:为以太坊提供更快交易确认时间

Vitalik 支持路线 Epoch and slot:为以太坊提供更快交易确认时间

WBOY
WBOY原创
2024-07-01 19:10:02699浏览

作者 : Vitalik编译 :南枳,Odaily星球日报一个好的区块链用户体验的重要属性之一是快速的交易确认时间。如今,以太坊相比五年前已经有了很大的改进。得益于EIP-1559和转PoS(The Merge)后稳定的区块时间,用户在L1上发送的交易通常可以在5-20秒内确认,大体与使用信用卡支付的体验相当。然而,进一步改善用户体验是有价值的,某些应用甚至要求数百毫秒甚至更短的延迟。本文将探讨以太坊(改进交易确认时间)的一些实用选项。现有想法和技术的概述单槽最终性目前,以太坊的Gasper共识使用单个槽(Slot)和Epoch的架构。每12秒一个槽,一部分验证者会对链的头部进行投票,并在32个槽(6.4分钟)内,所有验证者都有机会投票一次。这些投票然后被重新解释为一种类似于PBFT的共识算法中的消息,在两个Epoch(12.8分钟)之后,给予一种称为最终性的非常强的经济保证。过去几年中,我们对当前的方法越来越不满意。主要原因有两点,首先这种方法很复杂,槽对槽投票机制和Epoch对Epoch最终性机制之间存在许多交互错误,其次12.8分钟太长了,没人愿意等那么久。单槽最终性(Single Slot Finaty,SSF)通过一种类似于Tendermint共识的机制取代了这种架构,其中块N在块N+1生成之前被最终确定。与Tendermint的主要区别是我们保留了“非活跃泄漏(inactivity leak)”机制,这允许链在超过1/3的验证者离线时继续运行并恢复。(注:inactivity leak 是 PoS 中的一种机制,旨在惩罚长时间不活跃的验证者,一旦被标记为不活跃,将持续罚没其质押的 ETH。Tendermint 是一种高效且安全的拜占庭容错共识算法,允许快速达成交易确认,并确保区块链系统在部分节点恶意或离线的情况下仍能正常运行。)单槽最终性的主要挑战是,这意味着每个以太坊质押者每12秒需要发布两条消息,这对链来说是很大的负载。有一些巧妙的想法可以缓解这个问题,包括最近的Orbit SSF提案。虽然这显著加快了“最终性”来提升用户体验,但并未改变用户需要等待5-20秒的事实。(注:最终性与交易被打包进区块并确认并非同一事件,交易已确认但未实现最终性的情况下,可能出现分叉或回滚。)

Vitalik 支持路线 Epoch and slot:为以太坊提供更快交易确认时间

Rollup 预确认

过去几年,以太坊一直遵循以 rollup 为中心的路线图,设计以太坊基础层(L1),以支持数据可用性和其他功能,然后这些功能可供 L2 协议(如 rollups、validiums 和 plasmas)使用,能够在更大规模上为用户提供与以太坊同等水平的安全性。

这在以太坊生态系统内造成了关注点的分离:以太坊 L1 专注于抵审查、可靠、稳定,以及维护和改进某个基础层核心功能,而 L2专注于通过不同的文化和技术更直接地接触用户。但如果沿着这条路径前进,一个不可避免的问题出现了:L2 希望为用户提供比 5-20 秒更快的确认。

到目前为止,至少在理论上,创建自己的“去中心化排序器”网络是 L2 的责任。一小群验证者可能每几百毫秒就为区块签名一次,并在这些区块后面投入他们的质押资产。最终,这些 L2 区块的头文件会发布到 L1。

Vitalik 支持路线 Epoch and slot:为以太坊提供更快交易确认时间

1. L2 验证者集存在“欺诈”风险:先签署区块 B1,再签署冲突的区块 B2 并优先提交到链上。
  1. Rollup 在实现去中心化排序网络方面进展缓慢。
  2. 要求所有 L2 去中心化排序是不合理的,等于要求 rollup 做与创建新 L1 相同的工作。
  3. Justin Drake 提出使用基础预确认机制,允许所有 L2(和 L1)共享以太坊范围内的预确认。

基础预确认

基础预确认假设以太坊提议者是与 MEV 相关的高度复杂的参与者。方法通过激励提议者接受提供预确认服务的责任来利用这种复杂性。

Vitalik 支持路线 Epoch and slot:为以太坊提供更快交易确认时间

该方法的基本思想是创建一个标准化协议,用户可以提供额外费用以确保交易会被包括在下一个区块中的即时保证,以及对执行该交易结果的声明。如果提议者违反了对任何用户做出的任何承诺,他们可以被罚没。

如所述,基于预确认为 L1 交易提供保证。如果 rollups 是“基于”的,那么所有 L2 区块都是 L1 交易,因此相同的机制可以用于为任何 L2 提供预确认。

(注:Ethereum proposers 能够通过费用机制,将一系列交易捆绑为 bundle 并打包至区块中,确保了交易执行以及顺序。例如众所周知的夹子,通过其确保了在某笔交易前买入并在之后卖出。Vitalik 此处所提方案概念上一致,通过这一 proposers 提前锁定交易结果,加快执行。)

我们实际在看什么?

假设我们实现了单槽最终性。我们使用类似于 Orbit 的技术来减少每个槽签署的验证者数量,但不会减少太多,以便我们也可以在减少 32 ETH 质押最低限度的关键目标上取得进展。槽时长(slot time)可能会增加到 16 秒,然后我们使用 rollup 预确认或基础预确认,为用户提供更快的确认。最后我们获得了什么:一个epoch-slot架构。fenyeepoch-and-slot 架构的哲学原因

epoch-and-slot 架构如此不可避免的原因在于,与达成某事的经济最终性协议相比,达成大致共识所需的时间更少。

节点数量和时间开销

节点数量是一个关键因素:

  • 近似共识只要求少数节点,而经济最终性要求大部分节点参与。
  • 节点数量超过一定规模后,收集签名的耗时会增加。

在以太坊中优化 slot 时间

以太坊中 12 秒的 slot 时间可划分为三个子 slot:

  • 区块发布和分发
  • 出块证明
  • 证明聚合

通过减少证明者数量和利用专业化节点子集,slot 时间可降至约 2 秒。

epoch-and-slot 架构的改进

epoch-and-slot 架构是合理的,但值得探索更优化的设计:

  • 关注点分离,减少机制之间的耦合。

L2 的策略

L2 目前有三种合理的策略:

  • 以太坊原生:优化以太坊技术和价值观。
  • 服务器架构:利用区块链脚手架,在服务器效率和区块链安全性之间取得平衡。
  • 折衷方案:快速链,由以太坊提供安全性。

slot 时间和 SSF

某些应用程序对 12 秒的 slot 时间已足够。对于其他应用程序,epoch-and-slot 架构是必需的。三种 slot 类型:

  • 以太坊原生 epoch-and-slot 架构
  • 服务器预确认
  • 委员会预确认

结论

探索 epoch-and-slot 架构的设计空间非常重要,以优化 L1 和 L2 的用户体验,并简化 L2 开发。

以上是Vitalik 支持路线 Epoch and slot:为以太坊提供更快交易确认时间的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn