本文深入浅出地介绍了Layer2的概念、工作原理以及重要性。文章以以太坊的状态机为基础,解释了Layer2如何通过Rollup技术,包括Optimistic Rollup和ZK-Rollup,在不牺牲安全性的前提下扩展以太坊的交易速度和降低费用,并讨论了Sequencer的作用以及数据可用性(DA)的重要性。
Layer 2 正在受到越来越多的关注,但要看清全貌并不总是容易的。
大家好,我是 Daniel,一位拥有大约三年区块链经验的区块链工程师,目前正在研究数据可用性。
这是我的第一篇博客。我希望这篇博客能让你清楚地了解 Layer 2,这是通过我对区块链技术的热情和热爱分享的。
以太坊是一个安全且去中心化的 layer 1,但它每秒只能处理大约 15 笔交易。这导致了高额费用和拥堵。
=> Layer 2的出现是为了解决这个问题。
当你第一次研究 L2 时,你经常会看到这样的图表:数千笔交易在链下捆绑,然后压缩成以太坊上的单个证明。
对于初学者来说,这可能会让人感到困惑——L2 到底与 L1 有什么不同?
=> 这篇博客将为你全面概述 L2 的工作原理!!
从核心上讲,以太坊只是一个巨大的状态机:每笔交易都会获取当前状态,应用来自新区块中交易的更改,并生成一个新状态。
以太坊只是一个巨大的状态机:将交易应用于当前状态,你就会得到一个新的状态。
好的很酷,那么 state 是什么?
在以太坊中,state 不仅仅是一个抽象的概念——它实际上存储在一个名为 世界状态 trie 的特殊数据结构中。
这个trie 跟踪区块链上的每个账户。每个帐户状态包括以下字段:
因此,当我们说“以太坊将交易应用于状态”时,真正发生的是 trie 内部的这些帐户状态正在更新,并且 trie 的根哈希发生变化——代表新的全局状态。
以太坊的世界状态 trie
看起来有点复杂,对吧?别担心——让我们一起看一个简单的例子。
假设在以太坊中,Alice 拥有 5 ETH,Bob 拥有 10 ETH。状态将如下所示:
现在,alice 创建一笔交易向 Bob 发送 3 ETH。当交易被包含到新区块时,Alice 的 nonce 将增加到 11,并且 Alice 和 Bob 的余额将发生变化。
很酷吧?这是关于以太坊的基本理解,像比特币这样的其他区块链也有相同的规则!!
在网络 p2p 中,此状态必须在节点/验证器之间相同。这将形成一个由多个验证器参与的对等网络。这是关于验证器数量随时间变化的统计信息:https://beaconcha.in/charts/validators . 目前有 100 万个验证器。
以太坊网络层中节点的示例,一个节点将连接到其他一些节点。
=> 现在是时候谈谈本文的真正主角了:Layer 2。
Layer 2 不是一个具有自己验证器集的链。相反,用户仍然参与以太坊生态系统——他们将资产转移到 Layer 2,并在那里享受高速和低费用。
因此,如果它看起来像一条新链,那么 Optimism 与 Cosmos 或 Aptos 有什么不同?
=> 关键是 L2 不运行具有验证器的独立共识。
交易由 sequencer 排序,但状态最终在以太坊上得到保护。L2 不依赖于其自己的验证器网络,而是将其状态承诺或证明发布到以太坊上的智能合约——继承以太坊的安全性。
=> 太酷了,不用让很多节点都持有 world state trie 了。现在,这个东西存储在以太坊的智能合约中。
L1 和 L2 之间交互的示例
注意:除了 rollup 合约,我们还有桥合约,它通过证明帮助用户将 ETH 从 L1->L2 和 L2->L1 连接起来。
Rollup 合约中的证明是什么?
这是一种证明在 L2 中对一个区块应用交易后,你将准确收到新状态的方式。
就像上面以太坊的例子一样,在执行来自 Alice 的交易后,以太坊的新状态将是“Alice 拥有 2 ETH,Bob 拥有 13 ETH”。
但是我们 不能 在以太坊上的智能合约中重新执行所有交易来检查这一点——这在 gas 方面会过于昂贵,并且超出了智能合约的限制。相反,rollup 使用 特殊证明 来有效地让以太坊相信新状态。
=> 这就是我们有不同类型的 rollup 的原因——每种 rollup 都使用不同的方式来提供证明。例如,Optimism 依赖于 欺诈证明,而 zkSync 依赖于 有效性证明。
Optimistic Rollup 如何工作?
Zk-Rollup 如何工作?
在 zk-rollup 中,流程看起来与乐观 rollup ⚡ 非常相似。关键区别在于,每次状态更新都附带一个使用 zk 的 有效性证明 🧾。
=> 以太坊会立即验证此证明,如果有效,则状态根会立即最终确定 ✅。
=> 这就是为什么从 zk-rollup 中提取资金可以几乎立即发生(与乐观 rollup 相比,没有 7 天的等待期)。
太棒了,到目前为止,你应该对 rollup 的工作原理有了扎实的了解。现在,让我们继续讨论最后一块拼图:sequencer。
什么是 sequencer?
Sequencer 是整个网络,是由其他第三方(如 Optimism Foundation)运行的服务器。
当你通过 RPC 端点(如 https://rpc.ankr.com/optimism
)发送交易时,是另一端的 sequencer 接收它。Sequencer 充当单个入口点:它接受你的交易,对其进行排序,在 Layer 2 上执行它,然后将结果发布回以太坊。
有不同类型的 sequencer 设计,但今天大多数 rollup 依赖于由团队本身运行的 中心化 sequencer。
但是等等——如果 sequencer 是中心化的,这是否意味着基金会或核心团队实际上控制着用户的资金?🤔
答案是否。
Sequencer 可以决定交易的顺序或延迟它们,但它不能窃取或控制用户资金。
如果 sequencer 恶意行事,挑战者可以介入并提交欺诈证明来惩罚它——这些挑战者甚至可以由用户自己运行,以保障系统安全。
如果 sequencer 离线或关闭其服务器,用户仍然可以生成证明并直接从以太坊 Layer 1 合约中提取资金。那是因为所有资产最终都存在于以太坊上,而不是由 sequencer 保管。
=> L2 是安全的,不仅为你提供速度,还为你提供低费用的交易。
通过以上各节,你现在应该对 Layer 2 是什么、它是如何工作的以及为什么它很重要有了一个扎实的理解。从状态机到证明,再到 sequencer 的作用——我们已经涵盖了使 rollup 成为可能的必要部分。
但还有一个大问题尚未解决:
如果用户或挑战者无法访问底层交易数据,他们如何证明状态是错误的?
如果所有交易数据仅由 sequencer 持有,则会出现一种危险的情况:sequencer(甚至其背后的基金会)可能会隐藏或扣留数据,提交无效状态,并且没有人能够证明欺诈。换句话说,如果数据不可用,安全性就会崩溃。
这就是 数据可用性 (DA) 概念的用武之地——确保每个人都可以访问交易数据,而不仅仅是 sequencer。DA 已成为当今最热门的研究课题之一,以太坊本身也在研究解决方案,例如即将推出的升级中的 PeerDAS,以应对这一挑战。
=> 我们将在下一篇博客中讨论这个问题。😉 祝你有个愉快的一天!
- 原文链接: blog.blockmagnates.com/l...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!