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

epochandslot 架构显然是正解,但体系结构与 slot 方案仍有待探究。

一个好的区块链用户体验的重要属性之一是快速的交易确认时间。如今,以太坊相比五年前已经有了很大的改进。得益于 EIP1559 和转 PoSThe Merge后稳定的区块时间,用户在 L1 上发送的交易通常可以在 520 秒内确认,大体与使用信用卡支付的体验相当。然而,进一步改善用户体验是有价值的,某些应用甚至要求数百毫秒甚至更短的延迟。本文将探讨以太坊改进交易确认时间的一些实用选项。

内容目录

ToggleRollup 预确认我们实际在看什么?L2 应该怎么做?现有想法和技术的概述单槽最终性

目前,以太坊的 Gasper 共识使用单个槽Slot和 Epoch 的架构。每 12 秒一个槽,一部分验证者会对链的头部进行投票,并在 32 个槽64 分钟内,所有验证者都有机会投票一次。这些投票然后被重新解释为一种类似于 PBFT 的共识算法中的消息,在两个 Epoch128 分钟之后,给予一种称为最终性的非常强的经济保证。

Odaily 注:具体原理详见《详解以太坊 POS 工作原理:Epoch、Slot 与信标区块》

过去几年中,我们对当前的方法越来越不满意。主要原因有两点,首先这种方法很复杂,槽对槽投票机制和 Epoch 对 Epoch 最终性机制之间存在许多交互错误,其次 128 分钟太长了,没人愿意等那么久。

单槽最终性Single Slot Finaty,SSF通过一种类似于 Tendermint 共识的机制取代了这种架构,其中块 N 在块 N 1 生成之前被最终确定。与 Tendermint 的主要区别是我们保留了非活跃泄漏inactivity leak机制,这允许链在超过 1/3 的验证者离线时继续运行并恢复。

Odaily 注:inactivity leak 是 PoS 中的一种机制,旨在惩罚长时间不活跃的验证者,一旦被标记为不活跃,将持续罚没其质押的 ETH。Tendermint 是一种高效且安全的拜占庭容错共识算法,允许快速达成交易确认,并确保区块链系统在部分节点恶意或离线的情况下仍能正常运行。

单槽最终性的主要挑战是,这意味着每个以太坊质押者每 12 秒需要发布两条讯息,这对链来说是很大的负载。有一些巧妙的想法可以缓解这个问题,包括最近的 Orbit SSF 提案。虽然这显着加快了最终性来提升用户体验,但并未改变用户需要等待 520 秒的事实。

Odaily 注:最终性与交易被打包进区块并确认并非同一事件,交易已确认但未实现最终性的情况下,可能出现分叉或回滚。

Rollup 预确认

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

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

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

但 L2 验证者集可以进行欺诈:他们可以先签署区块 B 1,然后再签署一个冲突的区块 B 2 并在 B 1 之前提交到链上。但如果他们这样做,他们会被查验出来并失去质押资产。实际上我们已经看到了中心化版本的实际案例,但另一方面 rollup 在开发去中心化排序网路方面进展缓慢。你可以说要求所有 L2 都去中心化排序是不公平的:我们这是在要求 rollup 做与创造一个全新的 L1 几乎相同的工作。因此,Justin Drake 一直在推广一种方法,让所有 L2以及 L1都能使用一个以太坊范围内共享的预确认机制:基础预确认。

币托交易所官网基础预确认

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

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

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

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

我们实际在看什么?

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

有一个深刻的哲学原因,为什么 epochandslot 架构似乎如此难以避免:与就某件事达成最大程度的经济最终性协议相比,就某件事情达成大致一致所需的时间更少。

一个简单的原因是节点数量。虽然由于超优化的 BLS 聚合和即将出现的 ZKSTARKs,旧的线性去中心化/最终性时间/开销权衡现在看起来温和了,以下原因不可忽视:

近似共识只需要少量节点,而经济最终性需要大部分节点。一旦节点数量超过某个规模,你需要花费更多时间来收集签名。

在今天的以太坊中, 12 秒槽划分为三个子槽:区块发布和分发、证明、证明聚合。如果证明者数量大大减少,我们可以减少到两个子槽并使用 8 秒槽时间。另一个更大的因素是节点的质量。如果我们也可以依靠专业化的节点子集来达成近似协议并且仍然使用完整的验证器集来确定最终性,我们可以将其降至约 2 秒。

因此在我看来,epochandslot 架构显然是正确的,但并非所有 epochandslot 体系结构都是平等的,更充分地探索设计空间是有价值的。值得深入研究的方向不是像 Gasper 那样紧密结合在一起,而在两种机制之间有更强的关注点分离。

L2 应该怎么做?

在我看来,L2 目前有三种合理的策略:

1 在技术上和精神上都是based的。也就是说,他们优化以太坊基础层技术属性及其价值观高度去中心化、抗审查等。最简单形式下,你可以将这些 rollup 视为品牌分片,但它们也可以拥有更大的野心,在新的虚拟机设计和其他技术改进上进行大量实验。

2 成为带有区块链脚手架的服务器并充分利用它。如果你从服务器开始,然后添加 STARK 有效性证明以确保服务器遵循规则;确保用户退出或强制交易的权利;集体选择的自由,透过协调的大规模退出或透过改变排序者的投票,那么你已经获得了上链的大部分好处,同时保留了服务器的大部分效率。Odaily 注:脚手架是指自动生成项目基本结构和代码框架的工具或方法,以便开发者能够快速开始编码。

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

3 折衷方法:一个拥有一百个节点的快速链,以太坊提供额外的互操作性和安全性。这是许多 L2 项目目前实际的路线图。

对于某些应用程序例如 ENS、密钥存储,部分支付协议, 12 秒区块时间已经足够。对于那些不适用的应用程序,唯一的解决方案是 epochandslot 架构。在三种情况下,epoch是以太坊的 SSF,但 slot 在上述三种情况下各不相同:

一个以太坊原生的 epochandslot 架构服务器预确认委员会预确认

一个关键问题是,我们能在第 1 类中做到多好?特别是,如果它变得非常好,那么感觉第 3 类的意义就不那么大了。因为所有based的方案都不适用于如 plasmas 和 validiums 之类的链下数据 L2,因此第 2 类将永远存在。如果一个以太坊原生的 epochandslot 架构可以降低到 1 秒的 slot 时间,那么第 3 类的空间就会变得小得多。

今天,我们离这些问题的最终答案还很远。一个关键问题是:区块提议者会变得多么复杂,这仍然是一个存在相当大不确定性的领域。像 Orbit SSF 这样的设计非常新颖,因此例如将 Orbit SSF 作为 epochandslot 中的 epoch 等方案的设计空间仍值得充分探索。我们拥有的选项越多,我们可以为 L1 和 L2 的用户做得越好,我们可以简化 L2 开发人员的工作。

原文连结

本文经授权转载自 Odaily 星球日报