本文介绍了以太坊的Rollups技术,Rollups是一种Layer2解决方案,通过将交易处理从主链转移到链下,从而提高交易速度和降低交易成本。文章详细解释了Optimistic Rollups和Zero-Knowledge Rollups两种主要类型,并讨论了Rollups面临的挑战,例如状态碎片化和数据可用性问题。
这是关于区块链的系列文章的一部分。 如果这是你第一次阅读本系列文章,我强烈建议从系列文章的开头开始阅读。
在了解了以太坊之后,人们可能会想直接研究其他知名的区块链,例如 Solana,Polkadot,Hedera——这里仅举几例。
别担心,我们会的。
但事实是,如果不谈论 Rollups,我们不可能离开以太坊领域。 从长远来看,它们对于生态系统的成功至关重要——以至于以太坊已经采用了一个rollup-centric roadmap 作为其增长和采用的策略。
所以今天,我们将通过讨论这些 rollups 来 真正地 总结以太坊,它们是以太坊格局的关键组成部分。 让我们开始吧!
一切都始于寻找 问题 的解决方案。
以太坊背后的技术是一项了不起的工程壮举——毫无疑问。 即使它优雅地解决了许多问题,但它仍然存在缺陷。
主要问题之一是 吞吐量。
评估吞吐量最常见的指标是测量 每秒交易数(TPS)。 在该领域,以太坊的总处理量约为 15–20 笔交易/秒。
如果我们想要有数百万人使用该网络,这点交易量还远远不够!
相比之下,我们每天用来处理交易的网络,如 Visa 网络,具有更高的 TPS,达到数万笔。
所以,是的,差别很大。
为了实现大规模采用,我们需要我们心爱的区块链系统 更快地处理交易。 事实就是如此。
必须快点。
但我们现在已经了解了以太坊的许多内部运作方式。 因此,我们可能会问自己:我们为什么不能调整一些东西,比如 slot time,让以太坊更快地处理交易?
答案是一个非常熟悉的答案:没那么简单。
每当我们设计一个 区块链 或 分布式账本技术(DLT)时,我们需要担心三个因素:安全性、可扩展性 和 去中心化。
这非常类似于数据库设计中的 CAP 定理,该定理指出,同时提供 一致性、可用性 和 分区容错性 非常困难。
正如你可能预期的那样,问题在于很难同时擅长这三点。
让我们考虑一下我们值得信赖的以太坊。 由于我们在之前的文章中讨论过的所有经济保证和验证过程,安全性 部分得到了很好的保证。 然后,该网络拥有 无数的验证者,这意味着它处于 去中心化 的高端。 到目前为止,一切都很好。
但是你看,可扩展性 是一个问题——因为网络有这么多的验证者,它需要 时间 来正确地协调它们并编排区块的生产。 按照设计,它需要放慢速度,以免损害安全性和去中心化。
当然,我们可以减少验证者的数量,但这会损害 去中心化。
或者我们可以减少 slot time,但这不会给验证者足够的时间来正确投票,这可能会损害 安全性。
这被称为 区块链不可能三角,这是你时不时会看到的那些概念之一。
我的建议是:如果有人声称已经解决了它,请仔细检查! 他们很可能没有!
所以你看,这是一个 平衡行为。 至少在其当前的架构下,以太坊无法希望解决所有问题。
除非…
如果我们能 单独解决 可扩展性的问题呢?
问题很简单:如果不损害网络其他重要方面,就无法实现扩展(获得更高的 TPS)。 但是我们可以在区块链 之外 做一些事情,并将以太坊用作一种 结算层。 就像这样:
这些 链下(不直接在以太坊上)的交易处理器被称为 rollups。 它们通常也被称为 Layer 2s (L2),这反映了它们为基础层(通常称为 Layer 1)添加增强功能的角色。
在我们的例子中,Layer 1 当然是以太坊。 但这个概念可以推广到其他区块链。
太棒了! 有了这个,我们也许可以在可扩展性方面取得一些进展。
直到我们注意到现在我们有了一个新问题:我们需要弄清楚如何有效地、安全地捆绑交易,以及要写入 Layer 1 的内容。
又来了…
别慌。 让我们慢慢来。
让我们再次回顾一下这些要求。 这些 rollups 只需要接收交易并处理它们。 请记住,一组交易将我们从某种状态 A 带到另一种状态 B——所以我们所需要做的就是 排序 这些交易所说的交易,然后我们将有一个关于状态如何变化的配方,并且… 等一下…
这听起来 非常像 一个区块链!
当然,rollups 也是区块链。 它们组织交易,然后对它们进行某种 压缩,并将它们发布到 Layer 1 中。 通过这样做,Layer 2 的 交易历史 将永久地在 Layer 1 上可用。
此时你可能会产生一个问题,所以我只想说出来:
这是否意味着 rollups 也存在同样的不可能三角问题?
是的,它们确实存在。 但这里的关键思想是,这些 rollups 可以将重点放在 不可能三角的其他部分——它们不需要遵守与以太坊(Layer 1)相同的规则。
那么,它们使用什么策略呢? 你会发现 rollup 策略有 两种 主要的类型:Optimistic Rollups 和 Zero-Knowledge(ZK)Rollups。
现在让我们快速了解一下这两种方法背后的情况。
顾名思义,这种策略完全是关于 乐观主义——我们乐观地认为 交易是有效的。
默认情况下,我们只是假设每笔交易都是有效的,并且只有在有人质疑结果状态时才验证它们。
有了这个想法,处理交易变得更快,因为我们只需要将交易分组到区块中,处理它们,然后计算新状态。 然后,我们只需在 Layer 1 中发布关于新状态的 声明——例如,我们可以发布关于新帐户余额的声明。
对交易有效性持乐观态度有一个明显的缺陷,即无法检测到 欺诈 或 恶意 交易。
不错哦。
当然,对此有一个解决方案,一个非常简单而优雅的解决方案:只需设置一个 挑战期,任何人都可以对声明提出异议。
如果有人在此期间发现欺诈交易,他们可以提交 欺诈证明,然后 rollup 会继续验证该证明。 如果网络确定欺诈是合法的,那么这些交易就会被简单地 撤销。
总而言之,一旦声明的挑战期结束,我们就假设这些交易是 最终的。
所以你看,这又是一个 妥协。安全性 不如以太坊,但这允许更快的交易处理,从而增强了 可扩展性。 不可能三角发挥到了极致!
典型的挑战期约为 7 天。 当然,这并不理想——但我们在这方面失去的东西,我们可能会在速度上获得。 诸如 Arbitrum 或 Optimism 之类的区块链使用这种 rollup 策略工作,并且 理论上 能够获得更好的 TPS 数字。
这是 以太坊与 Optimism 以及 以太坊与 Arbitrum 的比较。
这就是这个想法的简要概述! 与往常一样,关于每个 Optimistic Rollup 还有很多要说的,但我们将把更精细的细节推迟到以后的某个时间。
现在,让我们来谈谈更具 数学性 的 rollup 兄弟。
这些 rollups 采取了一种 截然不同的 方法。
不,等等,不是那种激进!
在这种类型的 rollups 中,在证明交易有效之前,交易不再被认为是有效的——交易 确实需要验证。 发生的情况是,在验证之后,交易被批量处理,并且发生了一些非常不同的事情:生成了批量交易有效性的 加密证明。
这个证明是提交到结算层的证明——我们的 Layer 1(L1)。 有趣的是,现在 L1 可以验证该证明,以便接受 L2 提交的声明。 验证后,压缩的交易数据将在 L1 上可用。
但是,如果每笔交易都需要验证,那么这种类型的 rollup 如何 比结算层更快 呢?
诀窍在于验证发生的 地点 和 方式。
交易验证发生在链下,在专门为此任务设计的 功能强大的计算机 上。 这些计算机还能够创建一个紧凑的数学证明(通常是 zk-SNARK 或 zk-STARK),本质上是说:“嘿,我已经检查了所有这些交易,它们都是有效的”。
生成这个证明在计算上是密集的,但是 在以太坊上验证证明 相对便宜且快速——因此我们可以将数百甚至数千笔交易捆绑到一个提交给 Layer 1 的证明中。
好的,很酷。 到目前为止,一切都很好——我们甚至没有提到你获得了 非常快的最终性。 那么问题是什么呢? 总会有问题的。
这里主要的牺牲是 去中心化。 主要有两个原因:
所以,是的,没有什么东西是免费的!
流行的 ZK rollups 包括 zkSync、StarkNet 和 Polygon zkEVM。 由于它们卓越的最终性和扩展属性,它们越来越受欢迎——尽管要做到这一点,它们需要稍微牺牲一下中心化。
我们一直非常关注 TPS,但事实是,这并不是 rollups 带来的唯一附加值。
实际上,如果你注意到了,你可能已经注意到 Optimistic Rollups 的 TPS 数量并不比以太坊好多少!
rollups 还有另一个非常重要的价值主张,它与 交易成本 有关。
在以太坊中,gas 费是网络设计的关键部分。 它们确保网络在高需求时期保持正常运行——但同时也使我们的交易非常昂贵。
以太坊费用高的根本原因很简单:区块空间有限。 正如我们在上一篇文章中看到的,每个区块只能容纳一定量的计算,我们用 gas 单位来衡量。 用户通过 费用市场 竞争这种稀缺资源。 当需求超过供应时,价格会上涨。
但我们今天的主要话题是 rollups! 这些系统可以做些什么来降低成本?
基本上有三个原因(或机制)可以帮助 rollups 大幅降低费用:数据压缩、成本分配 和 链下执行。
较低的费用对于这些网络来说是一个非常重要的卖点。 高昂的交易费用可能会(并且确实会)将用户从区块链中赶走,而没有用户的网络只是一段毫无用处的高度复杂的软件。
必须注意你的预算,朋友。
总而言之,结论是 rollups 对于生态系统 非常重要。
好的! 以上是关于 rollups 的 好的方面。 现在该谈谈 不良后果 和 挑战 了。
因为在区块链世界中没有什么东西是免费的!
Rollups 非常适合提高吞吐量和降低成本的总体目标。 我认为到目前为止我们可以确信这一点。
但是,每个 rollup 都有 自己的交易历史。 在 Optimism 中记录的事件与在 Polygon 中注册的事件完全不同。 他们彼此之间没有任何回忆。
为什么这是一个问题? 想象一下:你在 Arbitrum 上有 1 ETH,并且想使用一个很酷的,仅在 zkSync 上可用的新 DeFi 应用程序。 你该怎么办?
你需要将你的资产从一个 rollup 桥接到 另一个 rollup。
哦,不。
这种桥接过程会增加双方的 gas 费,需要时间(特别是对于 Optimistic Rollups),引入额外的安全风险,最重要的是,创造了一种糟糕的用户体验。
此外,我们可以讨论流动性碎片化——ETH 的发行量不是在一个链上可用,而是分散在许多不同的系统中。 这使得市场效率降低且成本更高,反过来,这使得它们不那么有吸引力。
我们可能会想简单地将此视为一个小的麻烦。 但事实并非如此——这是对 可组合性 的根本挑战。 可组合性是指任何智能合约都可以在单个交易中与任何其他智能合约进行交互。 使用 rollups,创建这些跨 rollup 交互要复杂得多——并且此功能对于生态系统的成功可能非常重要。
第二个挑战在技术上略微复杂,但同样重要:数据可用性。
为了保证区块链的安全性,用户需要能够验证当前状态。 这需要访问产生该状态的数据(交易)。
Rollups 将上述数据发布到以太坊,这确保了其保持可用。 但这会产生一种 紧张关系:
这意味着 rollups 需要 平衡 他们发布多少数据。 如果他们发布的太少,他们的安全性可能会受到损害。 但是,如果他们发布了太多数据,费用可能会上涨,从而否定了 rollups 的主要好处之一。
这个挑战非常重要,以至于它已成为以太坊以 rollup 为中心的路线图的关键部分。Proto-danksharding(EIP-4844)专门用于使 rollups 的数据可用性更便宜。
与此同时,一些 rollups 正在探索替代的数据可用性解决方案,包括:
并且,正如你现在应该预料的那样,每种方法都在安全性、成本和去中心化之间做出不同的权衡。
好吧,这是一段相当长的旅程!
我认为最后可能有点技术性了。 对此感到抱歉!
重要的是,我们看到了 rollups 如何采取务实的方法进行扩展。 他们没有试图直接解决区块链不可能三角问题,而是通过创建 分层架构 来解决该问题,其中每一层都可以针对不同的属性进行优化。
我们还看到了这如何带来它自身的一系列挑战。
这是一个不断发展的故事,我们将在未来几年看到它展开。 肯定会令人兴奋的!
与此同时,还有 其他生态系统 试图提出他们自己独特的解决方案。
所以下次,我们将开始剖析另一个这样的区块链:Solana,区块链巨头名单中令人垂涎的第三名的有力竞争者之一。 这是另一个重大的模型转变,所以准备好迎接一些新想法吧!
在那之前!
- 原文链接: medium.com/@francomangon...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!