向 Layer2 的大规模迁移即将发生。随着协议从以太坊基础层向 Optimistic rollups 再到兼容 EVM 的 zkRollups 转移,许多人都希望我们最终可以使得链上 gas 费可控。但每个致力于以太坊扩容工作的人都知道这个行业的肮脏秘密:即使有了 rollups,我们最后可能也会回到我们最开始的地方。这是因为吞吐量的任何实际增长都会迅速地被诱导需求所吞噬。
Rollups 只能为吞吐量带来线性增长 —— 所有数据仍然必须广播到所有全节点中。然而为了实现真正的扩容,我们需要实现吞吐量呈指数性增长。
这就是为什么我们认为 zkPorter 是一项重大的突破。它拥有 20,000+ TPS,且比 Optimistic rollups 更加安全。更重要的是,它将在 6 个月之后与 zkSync 2.0 一起上线主网。
为什么 rollups 不足以满足扩容需求?
2020 年 10 月,Vitalik 发布了文章《以 rollup 为中心的以太坊路线图》,文中他表示,如果所有 L1 的交易活动都迁移至 rollups 中,那么以太坊网络的每秒交易量预估可以达到约 3000 笔。这一猜测很快就要成为现实了:optimistic 和 zkRollups 现在都支持对 EVM 的兼容,也就是说应用可以快速且简单地从 L1 迁移至 L2。
以太坊正以爆炸式、呈指数级增长中。在一年内,DeFi 用户从 15 万增长到 180 万名 —— 但是 gas 费的增长速度要快 16 倍!(Uniswap 上的交易费从 $0.20/笔涨到 $36/笔)。
为什么?因为可扩容性的任何提高,都会带来金融活动/交易的增长以及新的用例。我们来看一下过去一年同时发生的事情
? DEX 月交易总量:17.2 亿美元 → 670 亿美元
? DeFi 总锁仓量:7 亿美元 → 800 亿美元 (增长了 11000% !)
? 在一个月内,OpenSea 的销售量:500 万美元 → 1 亿美元
与以太坊主网相比,optimistic rollups 将只会扩容约 25 倍,而 zkRollups 扩容约 100 倍。我们将在不知不觉中,又回到了起点:大多数普通用户还是难以承受 gas 费和使用以太坊的成本。
加密行业很快就会成为主流。在这个拥有 38 亿台智能手机的世界中 (相比之下,Metamask 的月活跃用户有 300 万),我们需要将以太坊网络的可扩展性提高 1000 倍才能应对接下来的需求。这中间的差距促使我们构建 zkPorter。
zkPorter:推进加密货币大规模应用的引擎
在 zkSync 2.0 中, L2 状态将会分成两个部分:数据可用性在链上的 zkRollup 和数据可用性在链下的 zkPorter。
这两部分都是可组合且可互操作的:zkRollup 上的合约和账户将能够与 zkPorter 上的账户无缝交互,反之亦然。没错!这样的话,从用户的角度来看,唯一可察觉的区别就是 zkPorter 账户的费用减少了 100 倍。
想象一下:Uniswap 将智能合约部署在 zkRollup 端,并且 zkPorter 账户上的零售用户可以以 <$0.03 的交易费 swap 代币。是怎么做到这么便宜的呢?这是因为绝大多数的 rollup 费用来自在以太坊主网上发布数据的成本。而 zkPorter 账户可以在 Uniswap 部署的合约上做数千次 swap,但是只需要向以太坊主网上发布单次数据更新。
zkPorter 账户的数据可用性将由 zkSync 代币持有者 (即“守护者”,Guardians) 提供安全保障。他们将通过对区块签名以确认 zkPorter 账户的数据可用性来跟踪 zkPorter 上的状态。守护者质押 zkSync 代币参与 PoS,因此任何数据可用性上的故障都将导致他们被罚没。如此一来,这为数据可用性提供了加密经济上的保障。
值得注意的是,zkSync 上的 PoS 比侧链等其他系统上的 PoS 安全得多。这是因为 zkSync 的守护者本质上是没有权力的:守护者无法窃取资金。他们只能停止生产区块。而且在这种情况下,用户将仍然能够提取他们的资金。
每个用户都可以自行选择自己资金的安全阈值。如果用户想要将所有数据可用性放在链上,就可以选择完全留在 rollup 上。但是如果某些用户比较在意费用,那么他们可以选择使用 zkPorter (我们猜测交易者和新用户最有可能使用 zkPorter)。这种可以自行选择链上/链下存储数据的架构叫做 Volition。
这将吸引那些在 L1s 上甚至在传统 rollups 解决方案上不太经济适用的应用使用 zkPorter。而现在,这些应用可以在以太坊上构建,为以太坊用户服务了。
zkPorter vs optimistic rollups
得益于零知识证明这一密码学,这一切才有可能实现。Optimistic rollups 按照 zkPorter 的方式实现如此大规模的扩容。如果 Optimistic rollup 将数据可用性放在链下,那么一名作恶的运营者就能够盗取 rollup 中的所有资金,而不会受到任何人的挑战。
同时,zkPorter 有着比 Optimistic rollups 更强的安全保障。为了理解其中的原因,接下来我们简要地概述一下 zkPorter 潜在攻击的成本和收益。
1) 攻击成本
截至今天,在 Optimistic rollup 上进行 51% 算力攻击的成本不到 7000 万美元 (以太坊向 PoS 迁移之后,这将不是大问题)。另一方面,如果想要使 zkPorter 上的数据不可用,攻击者将需要积累相当于所有 zkSync 质押代币的 2/3 的量 (几乎可以肯定将超过 7000 万美元)。再者,由于攻击者在购买代币时将会出现重大的滑点 (且质押代币无法被购买),因此发起这样的攻击要比现货价格的成本要高得多。
2) 攻击收益
如果 optimistic rollup 被成功攻击了,那么黑客就能盗取 rollup 中的所有资金。这极大地增加了攻击动机。而如果黑客攻击了 zkPorter,ta 无法直接盗取资金:就算攻击成功,黑客只能停止生产区块,而不能盗取用户的资金。这种将攻击变现的难度,极大地降低了此类攻击的动机。
在 zkPorter 上构建
zkPorter 即将到来。Matter Labs 团队正致力于研发工作,在 6 个月内推出产品级别的版本。很快,我们就能开始吃我们做的蛋糕了。
zkPorter 将在 zkSync 2.0 版本中可用 —— 这是我们下一代智能合约平台,将支持 Solidity。我们的目标是在 5 月份推出公共测试网,并在夏季晚些时候上线主网。
同时,用户也可以使用 zkSync 1.x 用于支付用途 (2020 年 6 月份上线主网)。几周后,1.x 将支持交易以及 NFT 交易。
想要提前联系我们团队或者想要获得我们团队的支持?联系我们:hello@zksync.io
帮助我们将以太坊带向数十亿用户
zkSync 是一个怀有使命的项目。如果你认同我们的价值观、愿景以及以目标为导向的文化,加入我们!
目前我们正招聘的热门岗位 (完整清单查看网页版):
? 高级软件工程师 (Rust、Solidity)
? 公关主管 (负责讲故事的)
特此感谢 Haseeb Qureshi 的校对和建议!
Vitalik:
>zkPorter 有着比 Optimistic rollups 更强的安全保障
我认为这个说法不恰当。假设两种方案的代码都没有 bug (在我看来,optimistic rollups 在短期内出现 bug 的风险更小,但这是另一个问题),我更愿意将我的资产放在 optimistic rollup 上,而不是放在一个链下存储数据可用性的系统上。
看一下这篇文章的论点:
> 截至今天,在 Optimistic rollup 上进行 51% 算力攻击的成本不到 7000 万美元
这里举出的数据是由 Starkware 列出来的,其观点基本上是这样的:一名攻击者能够租用足够多的算力发起 51% 攻击,花费的成本为 $30/时。如果他们持续一周的审查攻击,成本大约在 $5000 万左右。
该论点有两处错误:
? 哈希值租用市场的流动性并不高,如果有人试图租用这么多算力,将会出现两种情况:要么没有那么多可租用的哈希值,要么在尝试租用时大大地提高了价格,同时警告了所有的用户。特别是,该网页 (https://www.crypto51.app/) 中,预测了使用 Nicehash 发起攻击的成本,但这个网页本身就展示了,Nicehash 只能够借出相当于以太坊网络 3% 的哈希值。
? 再者,尽管 51% 攻击发生了,社区也不会坐以待毙。相反,社区会协调一个紧急分叉来使攻击者下台,这完全能够在一周内实现 (解决上海 DoS 攻击的硬分叉只用了 6 天的时间,而解决 51% 攻击就更容易了,因为这是一个软分叉)。关于社区驱动的 51% 攻击恢复,我在 PoS 的背景下已经详细讨论过了;而在 PoW 的背景下将更困难,因为攻击者可以持续返回攻击,但想要恢复也是非常可行的。
简而言之,optimistic rollups 的安全性不错。
同时,该文章提倡的链下数据可用性委员会与基础链相比,安全性低得多。此外,他们之间没有紧密的耦合:如果一名攻击者将链下数据可用性层的代币全买了,那么以太坊社区根本无法保证可以帮助实行一个恢复分叉 (事实上,最近的先例:当一个应用层结构受到攻击时,甚至反对以太坊社区对链进行干预)。
另一方面,数据可用性层存储在分片中将受到整个以太坊网络的保护,两者将紧密耦合。在我看来,在此期间如果一些应用使用链下数据可用性是没问题的,但只有在基于分片的数据可用性可用之前,我们才可以明确链下数据为一个暂时的措施。但我认为这也没有必要;仅仅使用当前以太坊链来做数据可用性储存就可以了,容量已经可以达到 4000 TPS 了,我无法想象未来几年对交易的需求会超过这个水平。”诱导需求“确实存在,但不太可能在这个时候存在两个数量级的潜在诱导需求。
@gluk64:
这篇文章很难做到既易于阅读又能够 100% 反映技术上的细微差别。我会尽量将它展开说:
我先强调一下,该文章的目的不是为了指出 optimistic rollups 不安全。相反,我们表达的观点是:
1. 在实践中,这两种方法都具有相当的安全性,但 zkPorter 要便宜几个数量级。
2. 同时,zkPorter 与 zkRollup 有直接的联系,也就是说可以提供更好的安全保障,并且比 ORU 便宜。再者,我们明确地建议将所有资金大的账户存储在 zkRollup 中。
3. 因此,使用 zkPorter,用户可以在两者之间选择 a) 更便宜和更安全 b) 便宜更多并且仍然相当安全。在这前提下用户怎么还会选择 optimistic rollups 呢?
即使你不同意 zkPorter 比 ORUs 更安全,好吧,这些论点依然成立!一旦 zkRollup + zkPorter 上线,就不再需要 optimistic rollups 了。即使 zkPorter 的安全性就像简单的侧链那么糟糕 (事实上并不是的,详见下面”动机“部分),这个论点依然成立。
目前,认为 zkPorter 可能更安全的观点是基于以下几个互相支撑的独立要素提出的:
1. 蛮力攻击 (brute-force) 的成本是可以量化和比较的。
2. 针对性攻击在 optimistic rollups 上更为现实。
3. 攻击 zkPorter 的动机要低很多。
让我来详细说一下这三点。
> 哈希值租用市场的流动性并不高
没错,但是这仍然是可行的。比如,一个攻击者可能会租用大量的 GPUs 或者 FPGAs。成本可能要比我们文章里估算的要高得多。但是这类攻击的关键是:他们不需要运行一周。看似合理的投入就足够了。
> 尽管 51% 攻击发生了,社区也不会坐以待毙。
如果是在 PoS 系统中,我很赞成这种观点,但是在 PoW 系统中,这样至少会极具争议性。很多人会认为这是特定激励系统的设计缺陷,因此要像对待 Parity 多签 bug 一样对待它。削弱区块链的不可变性将很容易引发社区危机。
在实践中,具有高价值和高吞吐量的 ORU 将仅仅由一些团体运营。尽管通过 hacking + 社会工程学等手段对他们所有人进行攻击是比较难的,但是有有着数十亿美元的激励,也不是不可能发生的。我们正生存在艰难的时期——现在全部民族国家都在努力地保护他们的核武器工厂免受黑客攻击!
这一点很明显:与 ORUs 不同,zkPorter 攻击者只能冻结资产,而不能窃取资产。因此攻击者并不能够直接利用资产。此外,勒索数百万零售用户将非常困难,因为受害者很难达成任何共识。
最后的想法:zkPorter 和 ETH2 分片
我确信数据可用性的最终目标是将 ZKP 和 分片结合 (e.g. 由纠删码支持),而这只能在 L1 中实现。所以,没错,长期来看 ETH 2.0 和 3.0 将占主导。
而在那之前,超安全的 zkRollup 和超便宜的 zkPorter 之间实现无缝互操作的方案将是中长期的选择。
原文链接:https://medium.com/matter-labs/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf
reddit 讨论链接:https://old.reddit.com/r/ethereum/comments/mq2lxd/zkporter_a_breakthrough_in_l2_scaling_matter_labs/
ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ETH中文站。若需长期转载,请联系eth@ecn.co进行授权。
来源 | Matter Labs
译者注:本文分为两部分,上半部分为 Matter Labs 对 zkPorter 的介绍;下半部分为 Vitalik 对文章的疑问与反驳,以及 zkSync 方的回复。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。