当前位置:主页 > 列表页 > 正文

「教皇维塔林克一世」重新定义L2

2023-10-31 17:12 | 出处: odaily

原文作者 | Vitalik.eth

编译 | Odaily 星球日报 0 xAyA

特别感谢 Karl Floersch 的反馈和审查

以太坊 Layer 2 生态系统在过去一年中一直在迅速扩张。以 StarkNet、ArbitrumOptimismScroll 为代表的 ZK-EVM Rollup 生态系统,在提升安全性方面取得了巨大进展,L2beat 页面对每个项目的状态进行了很好的总结。此外,我们还看到一些构建侧链的团队也开始构建 Rollup (Polygon),一些 Layer 1 项目试图向有效性验证(Validium)迁移(Celo)以及作出新的努力(Linea、Zeth 等)。

结果就是,Layer 2 项目出现更加异构的趋势。我预计这一趋势将持续下去,原因如下:

一个重要的问题是,对目前以太坊 Layer 1 的应用程序和用户来说,在短期内支付较小但仍可见的 Rollup 费用是可以接受的,但对区块链世界以外的用户来说不会接受:如果你之前支付的费用是 1 美元,那么支付 0.10 美元是更容易接受的;但如果你之前支付的费用是 0 美元,那么支付 0.10 美元是难以接受的。这既适用于当前中心化的应用程序,也适用于较小的 Layer 1 ,这些项目通常在其用户基数较小的情况下确实具有非常低的费用。

由此产生的问题是:对于一个特定的应用程序,在 Rollup、Validium 和其他系统之间进行的这些复杂权衡中,哪种方案是合理的?

Rollups、Validiums、Disconnected

我们将探讨的安全性与规模的第一个维度可以描述如下:如果你拥有在 Layer 1 上发行的资产,然后将其存入 Layer 2 ,然后转移到你的账户,那么你能否确保可以将该资产取回 Layer 1 ?

同时还有一个类似的问题:导致这种保证的技术选择是什么,并且这种技术选择背后的权衡又是什么?

我们可以简单地使用一个表格来描述这个问题:

值得一提的是,这是一个简化的架构,并且有很多中间项可选。例如:

这些中间选项可以被看作是在 Rollup 和 Validium 之间的一个技术光谱。但是是什么促使应用程序选择谱系上的某个特定点,而不是极左或极右呢?这里有两个主要因素:

这个权衡大致上看起来是这样的:

另一种值得一提的部分保证是预确认 (pre-confirmations)。预确认是由 Rollup 或 Validium 中的一些参与者签署的消息,它们表示“我们证明这些交易包含在此次顺序中,并且 the post-state root 就是这个”。这些参与者可能会签署一个与后来的实际情况不符的预确认;但如果他们这样做,就会烧掉一笔押金。这对于低价值的应用程序(如消费支付)非常有用,而像数百万美元的金融转账这样的高价值应用程序可能会等待系统的完全安全性支持的“常规”确认。

预确认可以被看作是另一个混合系统的例子,类似于上面提到的“Plasma/Validium 混合系统”,但这次是在具有完全安全性但延迟较高的 Rollup(或 Validium)和具有较低安全级别但延迟较低的系统之间进行混合。需要较低延迟的应用程序获得较低的安全性,但可以与需要较高延迟以换取最大安全性的应用程序共存于同一生态系统中。

无许信任地读取以太坊

另一种较少考虑但仍然非常重要的连接形式与系统读取以太坊区块链的能力有关。特别是,这包括能够在以太坊需要回滚时进行回滚。要了解为什么这很有价值,请考虑以下情况:

假设,如图所示,以太坊链发生回滚。这可能是在一个 epoch 内暂时的故障,链没有最终确定,也可能是网络验证着不活跃,太多的验证者离线而导致链在一个较长时间内没有最终确定。

这可能导致的最糟糕情况如下。假设顶链(the top chain)的第一个区块从以太坊链的最左边的区块中读取了一些数据。例如,有人在以太坊上存入了 100 个 ETH 到顶链中。然后,以太坊发生回滚。然而,顶链没有回滚。结果,顶链的未来区块正确地遵循了新的正确的以太坊链的新区块,但现在错误的旧链(即 100 个 ETH 的存款)的结果仍然存在于顶链中。这种漏洞可能允许制造货币,将顶链上的桥接 ETH 转变为部分储备。

有两种方法可以解决这个问题:

两者都可以防止此问题发生。前者更容易实现,但如果以太坊进入不活跃期,可能会导致长时间丧失功能。后者更难实现,但始终确保最佳的功能。

需要注意的是,第一种方法(1)存在一种特殊情况。如果 51% 攻击在以太坊上创建了两个不兼容的区块,并且两个区块同时出现最终确定状态,那么顶链可能会选择错误的区块(即以太坊社区共识最终不支持的区块),并且必须进行回滚以切换到正确的区块。可以说,没有必要提前编写处理这种情况的代码;它可以通过对顶链进行硬分叉来处理这个问题。

链能够无需许可地读取以太坊上的数据非常有价值,原因如下:

第一个原因很重要,尽管这种重要性可能已经被广泛认可;而第二个原因同样重要,因为它意味着你可以拥有一个钱包,可以轻松更改密钥,并在许多不同的链上持有资产。

拥有一座桥会可以让链成为 Validium 吗?

假设顶链开始时是一条单独的链,然后有人将跨链合约放到以太坊上。跨链合约只是一个合约,它接受顶链的区块头,验证提交给它的任何头都带有一个有效的证书,表明它被顶链的共识所接受,并将该头添加到列表中。应用程序可以在此基础上构建,以实现存入和提取代币等功能。一旦这样的桥梁到位,它是否提供了我们之前提到的任何资产安全保障?

到目前为止,还没有!原因有两个:

现在,让我们让这座桥成为验证桥:它不仅检查共识,还检查一个 ZK-SNARK,证明任何新区块的状态都计算正确。

一旦完成,顶链的验证者就无法再窃取您的资金。他们可以发布一个包含不可用数据的区块,阻止所有人退出,但他们不能窃取(除非试图为用户提取赎金以换取泄露允许他们退出的数据)。这与 Validium 的安全模型相同。

但是,我们仍然没有解决第二个问题:顶链无法读取以太坊。

为此,我们需要做以下两件事之一:

图中紫色的链接可以是哈希链接,也可以是验证以太坊共识的桥接合约。

这样就足够了吗?事实证明,还不够,因为存在一些小的特殊情况:

以太坊的 51% 攻击会产生与顶链的 51% 攻击类似的后果,但方向相反。以太坊的硬分叉可能使顶链内的以太坊桥接不再有效。对于这个问题,最干净的解决方式是承诺如果以太坊回滚了一个已最终确定的区块,顶链也会回滚,并且如果以太坊进行硬分叉,顶链也会进行硬分叉。这样的承诺可能永远不需要真正执行:你可以在顶链上激活一个治理机制,如果它看到可能发生攻击或硬分叉的证据,只有当治理机制失败时才对顶链进行硬分叉。

对于问题(3),唯一可行的答案是,在以太坊上拥有某种形式的治理机制,可以使以太坊上的桥接合约意识到顶链的硬分叉升级。

总结:双向验证桥接几乎足以使链成为 Validium。剩下的主要问题是,在以太坊发生异常情况导致桥接无法工作时,另一条链将进行硬分叉的社会承诺。

结论

“与以太坊的连接”有两个关键维度:

这两个维度都很重要,并且有不同的考虑因素。在这两种情况下都存在一个谱系:

请注意,每个维度都有两种不同的衡量方式(所以实际上有四个维度?):提取安全性可以通过(i)安全级别和(ii)从最高安全级别中获益的用户或用例的百分比来衡量,而读取安全性可以通过(i)链路能够快速读取以太坊的区块,特别是已经最终确定的区块与任何区块的区别,以及(ii)链路在处理 51% 攻击和硬分叉等边缘情况时的社会承诺的强度。

在这个设计空间中,有许多项目都具有价值。对于某些应用程序来说,高安全性和紧密的连接性很重要。对于其他应用程序来说,为了获得更高的可扩展性,可以接受一些较为宽松的连接性。在许多情况下,从今天开始使用一些较为宽松的方法,并在未来十年随着技术的改进逐渐过渡到更紧密的连接可能是最佳选择。

您可能感兴趣的文章:

相关文章