1. 关于“什么是Ethereum L2”的争议
上个月,Dankrad在推特上发表了这样的言论:“如果不使用以太坊作为数据可用性层(DA),那它就不是以太坊的Rollup,因此也不是以太坊的L2。”他还表示,Plasma和状态通道被认为是L2,但Validium不是。 Dankrad发表了他的观点之后,许多L2领域的建设者和研究人员开始对此提出质疑。有很多L2项目并不将以太坊作为数据可用性层以节省成本。如果这些项目不被列入L2列表,将会对这些扩容网络项目产生重大影响。此外,一些人认为如果Validium不算作L2,那么Plasma也不应该被计算在内。
所以,如果你在以太坊的文档中深挖,你可能会注意到他们对于 Validium 是否属于 L2 平台并没有明确说明。但他们确实提到 Validium 比 Plasma 更安全,因为它们使用了有效性证明。这似乎与 Dankred 的观点相矛盾,他认为从某些角度来看Plasma 比 Validium 更安全,因为用户可以使用过去的状态退出,而 Validium 不能支持。 所以,没有确切的答案来证明 Plasmas 和 Validiums 是否应该包括在 L2中 。
然而,L2BEAT在其网站上应用了一个“仅显示Rollup”过滤器,使用户可以过滤掉所有不使用以太坊作为DA层的项目。 关于L2和Rollup的争论远不止于此。我们还听到了很多不同的观点,比如“Data availability是一个令人困惑的术语,Data publishing更好”,“经典Rollup也是主权Rollup”,“主权Rollup根本就不是Rollup”等等。
所以,与其纠结于那些定义,不如我们关注一个更有意义的话题,我们想要什么样的以太坊L2呢?
2. 我们想要什么样的Ethereum Rollup?
定义上,Layer 2是一个独立的区块链,扩展了以太坊,并继承了以太坊的安全保证。
以太坊Rollup的安全性问题低估了。我们希望Rollup提高安全性,且希望有更多的为应用定制的模块化区块链。
以下是我们在Layer 2解决方案中希望拥有的特性:
- 首先,我们希望L2能够扩展以太坊,这意味着L2必须具有与以太坊的验证桥接,使用户能够在L2和以太坊之间转移资产,并从以太坊获得安全保障。例如,我可以在 Arbitrum L2 上使用我的 ETH 进行某些交易,成本相对较低,同时保留以太坊的安全性。
- 其次,我们希望L2通过继承以太坊的安全性来实现超高的安全性。
- 首先,我们希望L2能够继承以太坊的安全性。实现这一目标的最佳方式是使用以太坊作为数据可用性(DA)层,作为以太坊的 Rollup。理想情况下,我们希望使L2节点成为无信任节点,只需信任以太坊完全保证 Rollup 的安全性。
- 其次,我们希望 Rollup 能够继承以太坊的活性。即使 Rollup 节点不工作用户也应能够自行运行 Rollup,或者至少有一种方式退出L2并将资金取回到L1。
- 此外,我们还希望 Rollup 能够继承以太坊的去中心化和抗审查性。
2.1 继承以太坊安全性
为了更好地继承以太坊(ETH)的安全性,不仅要将以太坊用于数据可用性和交易排序,还要将其用于结算。Rollup层负责执行交易,并进行状态转换。通过欺诈证明或有效性证明来用以太坊进行结算。
正如您在图上所看到的,Rollup 节点的角色可以分为 2-3 种不同类型:Sequencer(排序器)、Proposer(提议者)和 ZK prover(证明者)。
- Sequencer在 Rollup 中扮演着重要角色,它将交易打包并将其提交到以太坊网络,利用以太坊来确保数据可用性和交易顺序。
- 与此同时,Proposer执行这些交易并生成 Rollup 的最新状态,然后将新状态的 Merkle 根提交给以太坊。如果这是一种乐观 Rollup,并且在指定时间内没有人发起挑战,那么这个状态根将被接受,然后交易也将被确认。
- 在ZK Rollup 的情况下,证明者生成零知识证明,证明状态根的有效性。一旦 ZKP 被提交并在以太坊上确认,交易也将被确认。
因此,一旦所有这些数据都被提交并在以太坊上确认,要回滚 Rollup 的交易就需要回滚以太坊,因此继承了以太坊的安全保障。此外,这三个角色有时由同一个节点扮演。在某些协议中,例如 Optimism,Sequencer会同时提交交易批次和 Merkle 状态根。
另一个与安全相关的问题是Rollup的状态验证,正如之前提到的,乐观Rollup使用欺诈证明,而ZK Rollup使用有效性证明,比如零知识证明。
- 使用欺诈证明(如Optimism和Arbitrum)的优势在于Rollup可以等效于以太坊虚拟机(EVM)。但是,用户必须验证链以保护他们的资金,并且由于其长达约7天的挑战期限,交易的最终确认较慢。
- ZK Rollup,如Starknet、zkSync、Scroll和Polygon zkEVM,通过使用零知识证明来证明状态是正确计算的到的,者提供了更强大的安全性。一旦ZKP在L1上验证通过,交易将立即完成。这只需要几分钟或最多几小时,比乐观Rollup快得多。然而,ZK Rollup通常不是完全等效于EVM的。
从安全的角度来看,零知识证明效果更好。它们依赖于无需信任的密码学机制来进行状态验证,而不是像乐观Rollup那样依赖有激励的参与者的诚实。 但交易费用可能会更高,并且不完全等效于EVM。因此,选择使用哪种取决于网络的目标。
在某些情况下,混合方法可以结合两种Rollup的特点。一个名为Morphism的新项目使用ZK有效性证明来回应乐观Rollup设计中的挑战,可以将挑战窗口从7天减少到1天,并降低DA成本。OP stack也探索了使用ZKP来证明Optimism故障程序的方法。
然而,Rollup的可升级性存在着巨大的安全担忧。当Rollup需要紧急修复错误或需要升级来支持新功能时,有时就需要升级以太坊上的Rollup智能合约。因此,谁控制这些智能合约至关重要。
- 对于许多Rollup,控制升级的密钥由核心团队成员持有。从理论上讲,这些成员有能力通过使用升级机制窃取用户的资金。正如Vitalic所说,这就像是开发者的“后门”。
- 为了避免这个问题,可以禁用可升级性。例如,Fuel V1禁用了可升级性,但每个更新迭代都需要重新部署智能合约,用户需要手动迁移其资产到新版本。这个过程类似于启动一个新项目,导致了流动性的碎片化和灵活性显著降低。
- 更好的方法是使用DAO进行治理升级,并设置延迟,以允许不同意升级的用户在升级发生之前退出。 这为Rollup增加了一些DAO的安全假设,如诚实多数假设。
总的来说,为了继承以太坊的安全性,我们建议Rollup在数据可用性、交易排序和结算方面使用以太坊。对于状态验证,使用零知识证明更可靠。如果我们希望支持可升级性,最好使用DAO来管理升级,并给用户足够的时间(例如30天)来退出。
2.2 继承以太坊存活性
现在,让我们谈谈如何从以太坊继承活性。
我们希望即使当前的序列化器和提议者宕机,借助以太坊主网的帮助,用户仍然可以重新创建L2状态,并保持Rollup的运行,或者至少用户有一种方法可以在无需信任的情况下退出到L1。
- 然而,我们发现到目前为止,许多现有的Rollup缺乏这种机制,比如Optimism、zkSync Era和Base。因此,如果发生这种情况,Rollup将停止运行,每个人都会在L2上失去他们的资金。
- 一些Rollup允许用户通过提交L2上的资金的Merkle证明或ZK证明来强制退出并在L1上提取他们的资金。
- 但有些Rollup除了抵押品之外不允许您提取资产,这意味着您的L2本地资产无法提取。如果您将您的抵押品交易为NFT或LP代币,您可能无法在以太坊L1上取回它们。
- 像dYdX这样的Rollup允许您强制执行将L2本地资产转换为抵押品,然后在L1上提取它们。
- 一些Rollup还支持将NFT提取到L1。
- 一个更好的解决方案是允许用户也成为Sequencer和Proposer,以保持Rollup的运行。例如,Polygon zkEVM使用无需许可的Sequencer。而Arbitrum允许用户通过将交易发送到L1来强制将其包含在Rollup中(此操作有一天的延迟)。此外,在当前的白名单Proposer如果连续不活跃了6天后,任何人都可以成为提议者。
事实上,活性与去中心化程度也有关。Rollup节点如果更好的去中心化和抗审查性,则Rollup会有更好的活性。
因此,为了提高Rollup的生存性,我们建议去中心化节点,允许用户在出现故障时自行进行交易排序和提议。
2.3 继承以太坊的去中心化和抗审查性
Rollup去中心化的研究主要集中在去中心化的Sequencer上。
- 如今,几乎所有的Rollup网络都只使用一个中心化的sequencer。sequencer有能力拒绝用户的交易并恶意提取MEV,这会对用户在经济上造成伤害。此外,使用单一sequencer缺乏审查抵抗性。
- 因此,Rollup正在探索一些有望实现去中心化sequencer的方法之一是无许可的PoS去中心化sequencer。这种方法在Morphism Rollup中使用,sequencer根据POS规则进行选择,并执行基于BFT的共识算法来就交易批处理达成共识。其他一些Rollup则尝试使用领导者选举方法来在每个纪元选举一位leader sequencer。
- 另一种方法是通过MEV拍卖。在每个时代,参与者根据从交易费和他们可以作为sequencer提取的MEV所期望的利润来出价。获胜者支付他们的出价金额给Rollup财政,并获得在该时代内进行交易排序和捕获所有利润的权利。
- Polygon的Proof-of-Efficiency是另一种方法,其中任何人都可以成为sequencer或aggregator。sequencer在向以太坊L1提出交易批处理时,需要支付额外的费用以防止spam attacks。aggregator验证sequencer发布的批量交易,第一个提交有效性证明的aggregator将获得sequencer存入的代币。但是,落后的aggregator的计算资源可能会被浪费。
- 在共享sequencer方法中,一组节点向多个Rollup提供排序服务。Rollup连接到共享sequencer网络以处理其交易排序和块生成。而共享sequencer池是去中心化的(它们执行共识协议对交易达成一致并提交批量交易)
所有这些关于去中心化sequencer的技术仍处于初级阶段,仍在不断发展。因此,目前我们只能提供中立的评估。
ZKP证明者可以像Polygon的Proof-of-Efficiency一样去中心化和无许可,因为它们无法执行MEV并且难以恶意行为。
总之,我们需要去中心化的序列化器和证明者来增强Rollup的去中心化和审查抵抗性。
除了安全性问题之外,还有许多其他因素需要考虑。以下是一些相关问题:
- 如何平衡sequencer和ZKP prover的激励? sequencer可以执行MEV,而prover不能。这个机制使人们更愿意成为序列化器。然而,实际上我们需要的prover多于sequencer,因为,生成零知识证明需要比打包交易更多的计力。那么,如何平衡这两者之间的激励?我认为我们需要设计一个巧妙的动态费用模型和激励模型。
- 在EIP4844升级后,Rollup将使用blob存储数据,而blob数据只在以太坊上保存1-3个月,那么这会影响Rollup吗? 我的答案是肯定的,我认为会有一些小的影响,但很容易解决。Rollup的历史数据可以上传到去中心化存储进行归档。如果Rollup的所有节点都下线(特别是在当前的单一序列化器情况下),用户将需要从去中心化存储系统下载历史数据,并与来自以太坊L1的Blob数据相结合重建状态。
- 如何降低Rollup的交易费用? 设计Rollup时,安全性、去中心化和成本效益之间存在许多权衡。例如,我们使用ZKP来验证状态以获得增强的安全性,但这需要更多的计算能力,同时也使交易变得更加昂贵。这是安全性和成本之间的权衡。一些ZK Rollup使用递归证明来聚合多个交易批次的ZKP,然后将聚合的证明提交给L1。这可以节省以太坊上的Gas成本并降低L2交易费用,但也会拉长交易的最终确认的时间。
总结
总结一下,回到我们一开始的问题,我们在想要什么样的以太坊Rollup?
- 首先,我们希望Rollup不仅继承以太坊的安全性,还要继承其生存性、去中心化性和抗审查性。
- 实际上,创建一个没有引入额外信任假设的L2 Rollup是非常困难的,因为可升级性、去中心化序列化器和零知识证明的受信任设置都可能涉及额外的信任假设。不能说L2 Rollup在不信任任何L2 Rollup节点的情况下完全继承ETH的安全性。
- 为了更好的安全性。L1 Rollup智能合约的升级应该由DAO进行治理,并设置延迟,以允许用户有足够的时间退出,如果他们不同意升级。但是,这种方法也将DAO的安全假设引入到系统中。
- 最后但同样重要的是,不要使用单一序列化器,而是使用去中心化序列化器来实现更好的生存性、去中心化性和抗审查性。
在结束我的演示之前,我想强调一下,如果在座的任何人有杰出的想法并需要资源来实现它们,请不要犹豫,随时联系我们Foresight Ventures。
此外,我们邀请您加入我们的Foresight X孵化计划。我们在这里支持和培养您的创业之旅。凭借我们深厚的行业知识和丰富的资源,我们将确保您的项目蓬勃发展。
此外,如果您在学术或研究领域工作,Foresight X提供竞争力十足的拨款来支持您的研究之路。
还有,我们在这里提供一个QR码,其中包含您可能感兴趣的所有链接,包括研究报告。随时拍照或扫描该代码以获取更多信息,如果在会议后有任何问题,您可以在Twitter上找到我。
再次感谢您的时间;希望您都玩得开心,愿您度过愉快的一天。
欲参考PPT内容,请点击此处:https://img.foresightnews.pro/file/L2(0920).pdf
所有评论