原文来源:以太坊 Reddit
原文作者:以太坊基金会研究团队
2022 年 7 月 7 日,以太坊基金会研究团队在 Reddit 上举行了第八次 AMA。ECN 对这次 AMA 的大部分问题进行了整理和编译。需要注意的是,基金会研发团队成员就某些话题存在个人的看法和推测,为避免曲解,请以原贴为准。
由于篇幅较长,文章分主题整理,本文为扩容专题。
你能解释一下 enshrined rollup 怎么运作以及它们在以太坊的潜在发展路径吗?(optimistic 和 zkEVM?)
(译者注:L2 扩容研究者 Polynya 在这条推文中解释「enshrined rollups」vs."独立 (discrete) rollup" 之间的区别就好比「公共部门」和「私营部门」。)
还有就是你认为这可以带来的最大的好处和坏处是什么,因为有很多人在这一点上有不同的看法。
「Enshrined rollups」是一个非常有趣的话题:)「Enshrined rollups」指在 L1 上享有某种共识集成 (consensus integration) 的 rollup。而智能合约 rollup (见?L2Beat?和?zkrollups.xyz?中列出的例子) 与其不同——完全在 L2 上运行,在共识之外。
共识集成可以给 enshrined rollup 赋予超强的能力,但也要付出重大的代价——请看下文对好处和坏处的详细讨论。广泛地看,enshrined rollup 和智能合约 rollup 是互补的。我希望两者都能在「以 rollup 为中心的以太坊路线图」中发挥关键作用。
它们在以太坊的潜在发展路径 (optimistic 和 zkEVM?)
目前的计划就是直接往 enshrined zk-rollup 的方向发展。这是?Vitalik 发布的可视化路线图中「对所有东西生成 ZK-SNARK 证明」的一部分。以太坊基金会有一个由 Barry Whitehat 负责的大约 10 人的团队,致力于将规范的 EVM 实例升级为一个 enshrined zkEVM rollup。也就是说,构建一个状态根完全等同的 zkEVM,为 L1 以太坊区块提供简洁的加密证明 (SNARKs),证明相应的状态根是有效的。这带来了各种好处:
无需重新执行:验证者和其他全节点不再需要重新执行交易以验证一个区块。这为验证者移除了计算这一共识瓶颈,可能是一次提高 EVM gas limit 的机会。移除重新执行的需求也加速了大多数同步策略。
共识更简洁:从共识中移除执行意味着验证者可以运行超简单的执行客户端,在这种客户端中,数以万计的共识关键的 EVM 执行代码缩减成几百行 SNARK 验证代码。
无需状态见证:无状态执行客户端不再需要下载见证 (如 Merkle paths 或者 Verkle proofs)——下载状态差异就足够了。这大大地提高了验证者的共识带宽效率,并释放出更高的 EVM gas limit。
ETC突破5.7美元关口 日内涨幅为6.21%:火币全球站数据显示,ETC短线上涨,突破5.7美元关口,现报5.7006美元,日内涨幅达到6.21%,行情波动较大,请做好风险控制。[2020/9/27]
更安全的轻客户端:轻客户端可以快速过滤无效的状态根,而不像使用欺诈证明筛出无效状态根那么缓慢。这使得「以太坊-L1」的桥接更加安全。
将目前的单一实例 EVM 升级为 enshrined rollup 是一项需要多年努力的巨大工程。之后相对容易的步骤是部署多个 (如 64 个) 并行的 enshrined zkEVM 实例 (消耗的是 blob 数据)。这是 L1 同质化执行分片的一种形式 (之前被称为「阶段 2」)。
Enshrined zkEVM 的工程工作对于技术迷来说尤其有趣,它涉及加密证明系统、电路设计和审计,以及软件和硬件加速。EF 团队正在招聘 zkEVM 的工程师——请联系?justin@ethereum.org
最大的好处和坏处是什么
好处
社会共识:Enshrined rollups 继承了 L1 的社会共识,不再需要治理代币来执行 rollup 升级。相比之下,大多数智能合约 rollup 可能会受到治理攻击。
对证明验证有补贴:Enshrined rollups 可以补贴用于结算的证明验证成本 (每个区块的成本固定)。相反,智能合约 rollup 必须为结算支付 EVM gas。结算延迟:Enshrined rollups 自然而然地从每个区块结算延迟中受益。
最优活性:许多智能合约 rollup 可能会选择利用外部共识机制来对交易进行排序,以及作为一个链上的逃生舱口。这种定序基础设施会受到次优活性的影响,因为外部共识可能会失败,而逃生舱只会在超时后激活。
EVM 状态根等效性:Enshrined zkEVM 的工具和轻客户端可开箱即用。许多智能合约 rollup 可能不会选择具有 EVM 状态根等效性,而是选择兼容 Solidity 的 VM (如,zkSync) 或者一个字节码等效的 EVM (如,Scroll)。
网络效应:规范的 EVM 实例享有作为先行者的网络效应,而升级到 enshrined 则保留了这些网络效应。
坏处
没有公共物品资助:Enshrined zkEVM rollups 将在资助公共物品的自由裁量权方面受到限制。不像 Optimism 那样具有为任何公共物品提供资助的治理机制,enshrined zkEVMs 将被限制在为 L1 安全性提供资助和为 ETH 的稀缺性做出贡献。
次优的压缩:智能合约 rollup 可能会选择在链上结算,而不是每个区块结算一次,从而实现更好的数据压缩。智能合约 rollup 也可以有一个自定义或者经常更新的字典,以改善数据压缩。
虚拟机缺乏灵活性:一个以太坊 enshrined VM 很可能是一个 EVM。相比之下,智能合约 rollup 可以选择采用一个更加普遍使用的 VM (如,WASM、RiscV、MIPS) 或者创建一个新的 VM (如,Cairo)。一个自定义的 zkVM 可能比 zkEVM 能实现更好的数据压缩。
OKEx将于今日20:30进行币本位及USDT保证金永续系统升级:据官方公告,OKEx将于2020年8月14日20:30-20:40进行币本位&USDT保证金永续系统升级,预计时长10分钟。升级期间,所有币本位和USDT保证金永续合约将暂停交易,行情更新、开平仓、撤单、追加保证金、资金划转等功能将无法使用,影响范围包括WEB端、APP端、PC客户端、API端(查询及操作)。[2020/8/14]
更难的预确认:智能合约 rollup 可以选择一个中心化的定序者来提供即时 (~100 毫秒) 的预确认来给用户一个良好的交互体验。这种快速的预确认使用去中心化的定序系统很难实现,不管是 enshrined rollups 还是智能合约 rollup。
后发者:由于 L1 的缓慢和保守性,enshrined zkEVM 将会是所谓的后发者。为了对冲电路漏洞的可能性,可能需要一个冗余的多电路设置或笨重的形式验证。
理论上,全球支付系统是否有可能使用以太坊来作为流通货币?无论是通过 L1 还是 rollup?当然,要考虑到未来可扩展性的改进。
完全有可能。目前以太坊可以达到 10 TPS (每秒交易笔数),这是一个粗略的数量级。而将来会有 3 次 100 倍的增长,将使我们达到 1000 万 TPS (足够每人每天进行 100 次交易):
100 倍增长来自 rollups;
100 倍增长来自分片 ;
10 年内带宽增长 100 倍 (尼尔森定律)。
我的论点是,由于网络效应,最安全的共享安全平台的需求将趋于饱和。一个合理的走向是,如果以太坊能够保持经济安全方面的领先优势,并同时扩展到 1000 万 TPS,那么以太坊就有可能作为互联网的结算层。
带宽的提高怎么提高以太坊交易速度?更多的区块空间?
在共识中存在着各种计算瓶颈:
磁盘 I/O:通过无状态来移除 (以及 enshrined zkEVMs) ;
存储:通过无状态来移除 (以及 enshrined zkEVMs) ;
计算:通过 enshrined zkEVMs 来移除;
带宽:根本的。
因为带宽是根本的共识瓶颈,带宽的提高可以释放更多区块空间。
从长远来看,什么更好?是单个 rollup 占主导还是有几个小的 rollup 方案?
我看到双方的论点是:
1. 一个占主导的 rollup 意味着用户不需要桥接资产并且会有更佳的用户体验
2. 然而,如果有一个占主导的 rollup,那么其他 L2 就没有意义了。但话又说回来,长期来看,EF 团队一直都只推崇 zkRollup (理想情况是具有 zkEVM)。
这是个好问题!任何将其吞吐量扩容到一定程度的链 (L1 或者 L2) 都会使普通用户无法完全验证该链。L1 和 L2 之间的主要区别在于,L2 可以利用其底层的基础层来弥补这一点:
1. 在 zk-rollups 上,基础层保证了状态转换的有效性和相应数据的可用性。如果你不能自己处理 rollup 交易,唯一不能保证的是你可以访问当前状态 (以便你可以发送有效的 rollup 交易)。所以唯一的额外信任假设便是存在一个状态提供者 (中心化或去中心化的)。
2.Optimistic rollup 引入了一个小的额外信任假设。你不仅需要相信有人在处理 rollup 交易并使得当前的状态可用,而且你还要相信在出现欺诈的状态转换时,这些处理 rollup 的实体中至少会有一个实体提交相应的欺诈证明。通常 optimistic rollups 会给大家一些经济激励让大家提交这些欺诈证明,所以这与 zk-rollups 的区别很小。
从概念上说,之所以能够不用过多破坏去信任的情况下扩容 rollup,是因为 L1 和 L2 之间的关系。只要用户信任基础层的状态,他们就能分辨出正确与不正确的 L2 行为 (例如,状态提供者的响应总是会附带一个针对 rollup 状态根的证明,这个证明存储在 L1 上)。
另一方面,对于基础链,非常重要的一点是每个用户都能自己处理链。如果你不运行自己的节点并向一个外部状态提供商询问状态,那么你就无法判断所提供的状态是否真实的。类似地,如果存在恶意的状态转换,那么就没有一个可以解决争端的结算层——你必须亲自选择信任哪一方。
所有这些原因让我们决定将以太坊 L1 变为 rollup 的结算层,其重点是要让每个用户都能轻易地处理交易。我个人对于即将过渡到 Verkle trees 感到十分兴奋,它将允许完全无状态的客户端实现 (想象一下你的 Metamask 能够运行自己的嵌入式节点)。这样,随着时间的推移,基础层就会变成 L2 生态系统的「信任根」。
希望我的回答能够解释为什么 rollup 的吞吐量有潜力远远超过 L1,而不需要做不合理的信任权衡。所以我个人预计最后会有吞吐量非常高的 L2。然而,是否会有单个占主导的 rollup 仍待观察。
长期来看,rollup 将能够实现每秒处理数百万笔交易,所以并行性是有必要的。我们可以设想一种 rollup 内部并行 (如,通过一个多核 rollup 虚拟机) 和一种 rollup 外部并行 (如,同一个虚拟机的并行实例)。
共享安全性的 zk-rollups (比如,共享相同数据可用性的 zk-rollups) 具有同步的可组合性,所以「rollup 内部并行」和「rollup 外部并行」之间的界限开始模糊,那么最终的结果也不会差太远。
你认为应用专用型 L2/rollup 存在哪些问题?
如果现在一个拥有大量用户基础 (1000 万 -- 1 亿名用户) 的 Web2 公司想要使用区块链,但仍然想要实现去中心化,那么应用专用型链/rollup 几乎是唯一好的可替代选项。
你认为这样做有什么缺点?
我鼓励开发者基于通用型的 rollup (比如,Arbitrum、Optimism;很快就是 zk rollups) 构建应用,而不是部署一个应用专用型 rollup。这将加速开发,一起摊销结算开销,促进可组合性,减少工具摩擦性。话虽如此,通用型 rollup 的愿景当然也会有烦恼。
Rollup 将会有被攻击的漏洞。我们已经遭受过数千万美元损失的交易所攻击,以及数亿美元损失的跨链桥接攻击——预计 rollup 会有数十亿美元攻击。在 EIP-4844 或 EIP-4488 被实现之间,交易费不会像我们希望的那样低。工具在一段时间内会表现欠佳,网络效应可能会缓慢发挥作用。
我觉得这种情况下,他们应该使用?validium。他们会依赖于一个中心化服务器或者一个委员会以获得活性,但是他们能够受到区块链提供的安全保证。
为什么在 EIP-4844 开发的同时,EIP-4488 没有被实施?长远来看,你们认为哪一种技术会赢,Snarks 还是 Starks?
STARKs 是一种量子证明,它们有更佳的证明时间,在你使用的领域有更多灵活性。
SNARK 证明要小得多。我预计前量子、SNARK 和在某些情况下 STARK 的 SNARK (具有 STARK 的优势但证明尺寸更加小) 将会占主导,后量子 STARK 将会占主导。但是不同的人对此有不同的观点。
为什么在 EIP-4844 开发的同时,EIP-4488 没有被实施?
正如你所指出的,EIP-4844 和 EIP-4488 并非相互排斥。我倾向于在合并不久后,并且在 EIP-4844 之前实现 EIP-4488。因为 EIP-4844 需要数年时间才能结出可用的果实。实际上,即便 EIP-4844 上线主网之后,我们也可能需要等待几个月,rollup 才真正能选择使用 bolob 数据。
长远来看,你们认为哪一种技术会赢,Snarks 还是 Starks?
长期来看,我们想要的是后量子 SNARK。这种先进的后量子 SNARK 是基于哈希的,碰巧是 STARK,即,一种透明的 SNARK (「透明」意味着无需受信任初始化)。
对于 L2 开始结算交易并且将业务从主链中抢过来,你怎么预测近期、中期和长期的费用市场?
费用市场波动较大,并且与 ETH 价格呈正相关趋势。因此,预测收费市场在很大程度上是猜测的。
短期内 (7 月、8 月、9 月),我预计费用市场会在熊市中保持相对平静;
近期内 (即合并后的几个月),我预计以太坊和 ETH 的热度将会升温,费用市场将会显著增长;
中期来看 (即 2-3 年),由于 rollup 被大量采用并且区块空间的供应大过需求,gas 价格可能会暂时平静下来长远来看 (3-10 年),由于 rollup 和分片,我预计每笔交易费用很小,但总费用量会很高 (可能是 10 亿美元/天)? 。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。