1. 首页 > 产业新闻 > 人工智能

万字全解 Rollup 排序器的去中心化道路

Kelvin 认为 「ZK Rollup」 不是真正的 ZK Rollup,我认为所有「Rollup」都不是真正的 Rollup,至少现在还不是。那么问题是,我们如何使它们成为真正的 Rollup?

 

当前的 Rollup 大多是需要信任和许可的:  

来源:L2 Beat https://l2beat.com/scaling/risk

我将概述以下方面的情况: 

  • 强制交易包含机制:即使 Rollup 运营商正在审查用户,用户也应该能够强制包含他们的交易以抵抗审查。
  • L2 定序器去中心化和(可选)共识:单排序器、PoA、PoS 领导者选择、PoS 共识、MEV 拍卖、基于 Rollup、效率证明等。 
  • Shared Sequencer & X-Chain Atomicity:这是真正有趣的全新东西。
  • MEV-Aware 设计:我将简要介绍 FCFS 的一些变体。关于加密内存池,可以参考我最近的文章。  

 

本文不讨论提高 Rollup 安全性的许多其他要求,包括降低升级密钥的能力,实施稳健且无需许可的证明等。

Rollup 如何工作?

智能合约 Rollup (SCR)

首先,简要回顾一下 SCR 的工作原理。今天在以太坊上使用的 Rollup 都是 SCR。在更高层次上,SCR 基本上只是: 

  • 输入的有序数组(在 L1 上,因此交易数据必须发布在数据可用性层上) 
  • 在它们上面运行的代码(Rollup 节点软件)
  • 基于输入的确定性输出(Rollup 区块链)

 

资料来源:Rollups 实际上如何工作 - Kelvin Fichter https://www.youtube.com/watch?v=NKQz9jU0ftg

 

更具体地说,传统的排序器通过将它们的状态根和调用数据发布到它们关联的 L1 智能合约来提交 Rollup 块,新块被添加到 Rollup 的顶端。链上合约运行 Rollup 的轻型客户端,保存区块头哈希。合约在收到有效性证明后或在欺诈证明窗口期结束后被确认结算。如果一个未最终确定的 ORU 块是无效的,可以通过提交一个回滚链的欺诈证明来孤立它(以及所有后续区块)。证明有助于保护跨链桥:

 

交易包提交应该需要某种类型的保证金来防止恶意行为。如果提交了欺诈交易包(例如无效的状态根),保证金将被烧毁并分配一些给欺证明的挑战者。

SCR 具有「合并共识」——一种可在链上验证的共识协议。Rollup 共识可以完全在 L1 智能合约中运行。它不影响主链共识机制,也不需要主链共识机制的任何支持。 

去中心化共识协议通常包含四个主要特征(请注意,这是一种简化,不能清楚地说明全部共识协议,例如,无领导协议): 

  1. 区块有效性函数——状态转换函数。区块有效性在链下执行,通过有效性证明或欺诈证明来证明。
  2. 分叉选择规则——如何在两个原本有效的链之间进行选择。Rollups 旨在通过构造实现分叉自由,因此并不严格要求分叉选择规则。 
  3. 领导者选择算法——允许谁将新区块添加到区块链。 
  4. 抗女巫攻击——PoW、PoS 等 

 

鉴于 1 和 2 还存在争议,去中心化排序器的最低要求就是某种形式的抗女巫攻击 + 领导者选举。Fuel Labs 一直在做这方面的工作,他们认为 PoS:  

  • 不应该应用于具备完整共识协议的 Rollup(其中验证器 / 排序器将对区块进行投票)
  • 应该只用于 Rollup 中的领导者选择 

 

为什么你应该有一个 L2 本地共识,这一点也有很好的论据,稍后会详细介绍。 

主权 Rollup(SR)

主权 Rollup 仍然将交易数据发布到 L1 以获得数据(DA)可用性和共识,但他们在 Rollup 中处理客户端的「结算」。DA 层告诉你数据存在,但它们没有定义 Rollup 的规范链:

  • SCR - 「规范」Rollup 链由 L1 智能合约决定。
  • SR - 没有决定「规范」Rollup 链的 L1 智能合约。规范的 Rollup 链可以由 Rollup 节点自己决定(检查 L1 DA,然后在本地验证分叉选择规则)。  

 

来源: Celestia

 

相关说明:有一个有趣的论点,即不存在全球规范链(只有桥能决定哪个链被认为是规范的)。这里有一个反驳的观点,其他关于 Rollup 在主权和可组合性之前权衡的 Twitter 线程。我鼓励你筛选这些信息,以及了解最近关于比特币主权 Rollup 的话题。 

上面的「规范」框架很容易理解,而且它不是本文的重点,我继续使用它。有关一般 Rollup 架构的更多背景信息,可以参考此处。

 

去中心化排序器

用户发起的强制交易包含

智能合约 Rollup

如上所述,定序器一般负责批量处理交易并将其发布到 L1 智能合约。不过,用户也可以自己直接向合约中插入一些交易:

 

 

当然这是低效和昂贵的,因此排序器将打包交易并将它们一起提交。这分摊了许多交易的固定成本,并允许更好的数据压缩: 

 

 

 

定序器承诺最终会在 L1 上发布这些交易,同时我们可以计算输出以获得软确认:

 

 

当排序器将这些事务发布到 L1 时,会进一步巩固输出:

 

 

 

通常情况下,用户在从 L1 将资金桥接到 L2 时只会自己包含交易。这作为 L1 合约的输入,告诉 L2 它可以在 L2 上铸造由 L1 上锁定资产支持的资产。 

 

 

如果我想把我的钱还给 L1,我可以在 L2 上销毁它,然后告诉 L1 把我的钱还给我。L1 不知道 L2 发生了什么,因此需要提交证明以及解锁我在 L1 上资金的请求。

 

 

 

因为我是 L2 过来的,所以排序器可以发起这个取款请求,提交给 L1。但是,现在你信任 L2 排序器的抗审查性(censorship resistance,CR)。你不再拥有与在 L1 相同的保证,也许他们不喜欢你,或者排序器关闭,你的资产永远停留在 L2 上。 

Rollup 可以通过各种措施在本地增加自己的抗审查。这可能包括拥有一个具有高质押价值的 L2 共识集、包含列表的一些变体、添加阈值加密等,以最大限度减少 L2 用户审查的机会。这些都是不错的做法,但理想情况下,我们还希望 L2 用户拥有与 L1 相同的抗审查保证。 

如果用户受到审查,他们需要一些方法来强制退出 Rollup 或强制将他们的交易纳入 L2。这就是为什么 L2 用户应该保留诸如强制将他们的 L2 交易直接包含到 L1 合约中的能力。例如,被审查的用户可能能够自己直接向 L1 提交一个单操作交易包。   

 

资料来源:Starknet Escape Hatch Research

 

如果 L2 用户的唯一选择是将交易直接强制发送到 L1,这并不理想。对于许多低价值用户来说,这并不友好,尤其是在与 L1 交互成本越来越高的情况下。更高级的设计可能能够解决这个限制,强制在 Rollup 之间进行原子交易。Kalman Lajkó 在这里进行了一项引人入胜的设计,我强烈推荐阅读。它希望在具有共享证明者和​​ DA 层的系统中启用交叉 Rollup 强制交易。

 

主权 Rollup

主权 Rollup 的强制包含机制工作方式不同,如前所述,它们执行分叉选择规则的方式与 SCR 不同(Sovereign Labs 在发布的精彩帖子)。  

在 SCR 中,L1 智能合约执行 Rollup 的分叉选择规则。除了验证 ZK 证明之外,它还检查该证明是否建立在之前的证明之上(而不是其他分叉),以及它是否处理了在 L1 上发送的所有相关强制交易。 

SR 可以将其 ZK 证明发布到 L1 DA 层,供所有人查看为 calldata/blob(即使 L1 未验证它们)。然后,你只需添加一条规则,即新证明只有在先前有效证明的基础上才有效。这个规则可以在客户端强制执行,但它会要求用户扫描链的历史。

calldata 可以绑定回 L1 区块头,并且可以添加一条声明说「我已经扫描了 DA 层的证明(从区块 X 开始到区块 Y 结束),并且这个证明建立在最近的有效证明之上」。这直接在证明中证明了分叉选择规则,而不是在客户端强制执行。 

由于你已经在扫描证明,因此你还可以证明你已经扫描了任何强制交易。任何人都可以在需要时将强制交易直接发布到 L1 DA 层。

 

交易终局性的层级和 ZK 快速终局性

以太坊上的链上证明验证通常非常昂贵,因此目前的 ZKR(例如 StarkEx)往往每隔几个小时才将 STARK 发布到以太坊。相对于交易数量,证明的增长往往非常缓慢,因此这种批处理可以显着节省成本。然而,这么长的最终确定时间带来的用户体验并不理想。

如果 Rollup 只在链上发布状态差异(而不是完整的交易数据),那么即使是完整的节点也无法在没有证明的情况下确保最终确定性。如果 Rollup 的完整交易数据发布在链上,那么至少任何完整节点都可以与 L1 一起完成。

通常,轻节点只会依赖中心化排序器实现软确认。然而,ZKR 可以在 p2p 层中快速生成和分发 ZK 证明,供所有轻客户端实时查看,同时以 L1 速度为它们提供最终性。稍后,这些证明可以递归地打包发布到 L1。 

这就是 Sovereign Labs 计划做的事情,类似地,Scroll 计划在链上发布中间 ZK 证明(但不验证它们),因此轻客户端可以相当快地同步。通过这两种方式,Rollup 可以开始以 L1 的速度完成终局性,而不是等待以节省 Gas 成本。请注意,在这两种情况下,你只是将最终确定时间降低到绝对最小值(L1 速度)。 

任何排序器都不会比 L1 更快实现最终确定性。不同的排序器设计可以做的最好的结果是为你提供比 L1 更快的预确认,并具有不同级别的确定性(例如,具备去中心化共识集的 L2 的预确认比单个可信排序器的更可靠)。

Patrick McCorry 最近还对 Rollup 交易最终确定性等级进行了很好的概述。

 

  • 根据谁向你提交(以及 Rollup 结构是什么),交易「最终性」有不同的级别
  • 不同的参与者在给定时间对「真相」的认知程度不同(例如,L2 轻客户端、全节点和 L1 智能合约将在不同时间意识到相同的「真相」)

 

单排序器

当前大多数 Rollup 都有一个排序器用于提交交易包。它提高了效率,但也带来了较弱的实时活性和抗审查性。加上适当的保护措施后,这对于许多用例来说可能是可以接受的:

 

  • 抗审查:如上所述,用户强制包含交易的机制。 
  • 活性:如果主排序器出现故障,则可以使用某种热备份选项(类似地为 ZKR 证明者提供备份,而 ORU 欺诈证明者应该是无需许可的)。如果备用排序器也出现故障,任何人都应该能够介入。 

 

例如,备用排序器可以由 Rollup 治理机制选出,用户可以获得安全性、抗审查性和活性。即使从长远来看,单个主动排序器也是一个可行的选择。

Base 可能是一个新趋势的开始。公司现在可以管理和优化他们的产品,就像他们对企业区块链的胡说八道感到兴奋一样,但它现在实际上可以成为一个无需许可、安全和可互操作的链。

 


Base 最终打算将他们的排序器集去中心化,但重点是他们并不严格需要这样做(或者他们可以在非常有限的范围内,例如小型排序器集)。要明确的是,这需要 Rollup 来实施必要的步骤,来确保它实际上是安全的,并维护抗审查性(删除任意即时升级、实施稳健证明、强制交易包含、MEV 拍卖等)。

 

这将是对中心化 / 托管产品的巨大改进,而不是对最大去中心化产品的替代。Rollup 只是扩展了设计空间。这也是大多数 Rollup 团队没有将排序器去中心化作为首要任务的主要原因——其他项目更看重用户安全、抗审查和减少对 Rollup 运营商的信任。 

然而,如果用户 / 其他方需要介入以保持活性和「实时抗审查」(相对于「最终抗审查」,例如强制通过 L1 进行交易),这仍然不是理想的选择。根据强制交易包含机制,低价值用户介入可能成本高昂或不切实际。对实时抗审查和活性的最大保证有高度偏好的 Rollup 将寻求去中心化。运营单个受许可的排序器时也可能存在监管考虑。

 

权威证明(PoA)

对单个排序器的一个直接改进是允许少数地理分布式排序器。排序器可以简单地轮换,他们之间建立联系将有助于激励诚实的行为。 

这个概念应该不会太陌生——多重签名桥通常有少数受信任的公司,或者类似的委员会,比如 Arbitrum 的 AnyTrust DA 。但重要的是,他们在这里的权力要小得多(你不依赖 Rollup 排序器来保证安全,这与多重签名跨链桥运营商提取锁定资金的方式不同)。总的来说,与单排序器相比,这种方案的抗审查和活性更好,但仍然不完美。

 

排序器拍卖又名 MEV 拍卖 (MEVA)

Rollup 也可以通过智能合约直接运行 MEV 拍卖 (MEVA) ,而不是根据质押分配排序器权利。任何人都可以竞标交易的排序权,拍卖合约将排序权授予出价最高的人。这可以针对每个区块进行,也可以持续一段较长的时间(例如,竞标成为第二天的排序器的权利)。获胜的排序器仍应提交一笔保证金,以保证如果他们随后出现故障或作恶,可以实施处罚。

 1/5    1 2 3 4 5 下一页 尾页

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.longfuchaju.com//chanye/rgzn/6599.html

联系我们

在线咨询:点击这里给我发消息

微信号:wx123456