为什么我们需要 zkPorter? -「Rollup - 以太坊 L2
来源:    发布时间: 2023-11-23 22:55   51 次浏览   大小:  16px  14px  12px
以下是本次 zkSync 分享:zkPorter - Why Rollups Are Not Enough 的文字版,由 imToken Riely 整理。

以下是本次 zkSync 分享:zkPorter - Why Rollups Are Not Enough 的文字版,由 imToken Riely 整理。

---

大家好,我叫 Angela,是 zkSync 的产品经理。今天很高兴有机会跟大家分享我们最新的进展 -  zkSync 2.0。

大家都希望 Rollup 能在今年夏天尽快普及。当 Rollup 被广泛使用后,我们预计矿工费可以便宜 100 倍。现在我们已经看到很多小资金在使用 zkSync 网络,但总体来说,我们认为目前的 Rollup 还没有经过广泛的检验,因此还不建议大资金涌入。但是,再过几个月,我们的 Rollup 会越来越安全。那时,zkSync 对于大资金来说,也同样地安全可靠,而且我们还会支持 NFT 和 zkEVM,让更多应用部署到 zkSync 网络上。同时,我们也会看到之前那些因为以太坊太贵而外溢到其他链(比如:BSC,Polkadot,Solana,Polygon)的用户回归以太坊。另外,Coinbase IPO 也吸引了大量新用户,相信他们也迫不及待想试试!

2020 到 2021 年间,以太坊用户增长了 12 倍,但是矿工费却呈指数增长,上升了 192 倍

 

早在 2018 年,我们就预见到了以太坊可拓展性的不足,无法服务十亿级别的用户的情况。为此我们开始做 zkRollup。但是按照上图的趋势,我们预计当前的 Rollup 方案提供的可拓展性仍然难以满足潜在快速增长的用户和需求,可能在 Rollup 普及一段时间以后,矿工费又会变得很高。因此,在 zkRollup 的基础上,我们有了新的突破 - zkPorter。

在讲 zkPorter 之前,我先介绍 zkSync 2.0 是怎么工作的。zkSync 2.0 会有一个默克尔树根,这个默克尔树根会分成两个部分。第一个部分是 zkRollup,zkRollup 账户会在 zkRollup 的默克尔树的叶子节点下。第二个部分是 zkPorter,zkPorter 的账户都在 zkPorter 默克尔树的叶子节点下。


zkRollup

那么 Rollup 的安全性如何呢?Rollup 的安全性主要由两个很重要的因素决定,第一是数据有效性,第二是数据可用性。数据有效性保证了你的资产无法被别人动用;数据可用性保证了资产的归属权,也就是证明了你对资产的所有权。

zkRollup 通过把交易的计算和存储转移至 zkSync 网络,然后将处理后的数据提交到以太坊主网来拓展以太坊性能。具体而言,当前 zkSync 网络中的验证人会将用户在二层网络中的交易汇总,然后通过 zkSNARK 算法压缩后,把得到的默克尔树根上传到一层网络中,以此保证区块中所有交易的有效性。

至于数据可用性,我们通过把处理后的数据放到以太坊的 calldata 里面来保证。那么为什么是 calldata 而不是智能合约呢?这是因为在同等安全性的前提下,放在 calldata 比放在智能合约更便宜。

由于 zkRollup 会将每笔交易压缩后的数据传到以太坊主网上,因此 zkRollup 的数据有效性和可用性都得到了保证,并且和以太坊是同等程度的。

zkPorter

zkPorter 和 zkRollup 的主要区别是数据可用性。大家想想,为什么 Rollup 不能达到我们希望的可拓展性?这是因为我们要把每笔交易压缩后的数据都放在以太坊上面,但是以太坊的区块大小是有上限的。

那该怎么办呢?这时候,我们可以选择提供链下数据可用性的 zkPorter,这样就能达到我们所期望的可扩展性。

zkPorter 账户的数据可用性由 zkSync 代币持有者保障。在 zkSync 2.0,你可以享受 zkRollup 和 zkPorter 账户的混合体验(你们可以自由选择,而且是完全可互操作的)。守护人(guardian)将通过质押其 zkSync 代币参与权益证明,并通过对区块签名来确认 zkPorter 账户的数据可用性。

当然,天下没有免费的午餐,由于 zkPorter 依靠 zkSync 代币持有者(即守护人)来保障数据可用性,所以 zkPorter 的安全性将会比以太坊略低。但是需要强调的是,zkRollup 的安全性不会变,仍然具备和以太坊一样的安全性。你可以看下图中的蓝点,这蓝点是 zkRollup 的数据可用性。绿点显示的是由 zkSync 代币持有者组成的守护人(guardian)网络里面的数据可用性。

对应上图中高一点的蓝点,在数据有效性上,zkPorter 和 zkRollup 的有效性都是由 zkSNARK 保证的,并且账户状态的正确性有着和以太坊主网相同的安全保证。这也就意味着没有人可以移动你账户的资产。

那么数据可用性在 zkPorter 上具体是怎么样的呢?通常我们讲区块链安全的时候,需要考虑最坏的情况。看看在最坏的情况下,系统安全性如何保证。我们先看 zkSync 的代币持有者,即守护人(guardian),他们需要签字确认每一个 zkSync 区块的数据可用性。即便 ⅓ +1 的 zkSync 持有者拒绝生产区块,这对 zkSync 网络来说也是没有太大影响的。因为 zkRollup 和 zkPorter 还可以去找另外的 ⅔ 问其数据可用性。

最差的情况是网络遭遇 ⅔ 多数攻击。在这种情况下,攻击者可以去签字确认最后的区块,即它仍有有效性。但在这种情况下,攻击者会让数据不可用。此时,普通用户不能证明自己所拥有的资产,因此无法正常管理这些资产。但同时,对攻击者来说,他也无法证明他拥有这些资产,同样无法动用这些钱。

大家可能会问,zkPorter 和 Optimistic Rollup 哪个更安全呢?我们认为是 zkPorter 更安全。为什么?因为 zkPorter 的攻击者没有足够的动力去破坏我们的系统。如果有一千万个的 zkSync 代币,攻击者需要使用七百万个代币去攻击,并且他拿不走任何资产只能冻结 zkPorter 的状态,因此也会冻结自己的押金。但是在 Optimistic Rollup 上,攻击者可以通过复杂但可行的攻击方法从 Optimistic Rollup  中盗取资金。因此我们认为 zkPorter 比 Optimistic Rollup 更安全。

 

以太坊主网 vs zkRollup vs zkPorter

其实更重要的是,你愿意接受哪种程度的安全性。如果你是大额资金,并且更认可以太坊主网的安全性,那我们建议你还是在以太坊上。但是如果你想要便宜一点,那么我们建议你使用 zkPorter。

刚刚我们讲到,由于以太坊区块大小和 TPS 的限制,现在很多 Rollup 解决方案的最大 TPS 不超过 2000。但是 zkPorter 的数据可用性没有被以太坊限制,可以达到 2 万多 TPS,甚至更多。如果说以太坊主网矿工费是 100,那么 zkRollup 转账需要支付 1(zkRollup 的矿工费会跟随以太坊,以太坊矿工费如果更贵,那么 zkRollup 也会变贵),zkPorter 转账只需要支付 $0.01(基本固定)。

为什么说 zkSync 2.0 是一个突破?这是因为 zkPorter 和 zkRollup 可以互相转账。这也是我们为什么我们选择基于以太坊,以太坊上的互操作性和可组合性是惊人的!

如果我们使用 zkPorter 账户在 Uniswap 做一千次兑换,最后只需要确认交易汇总后的最终状态是怎样的,这样就可以把交易费用节约至 $0.1,这就是 zkPorter 的优势。

然后我再从数据有效性和可用性的角度,和 Optimistic Rollup 对比一下。在 zkSync 2.0 中, L2 状态将会分成两个部分:数据可用性在链上的 zkRollup 和数据可用性在链下的 zkPorter。但是 Optimistic Rollup 做不到这样,因为它的有效性依赖于以太坊上面的数据可用性,否则它无法做欺诈性证明,所以 Optimistic Rollup 的 TPS 是受以太坊自身限制的。然而,zkPorter 可以突破这个限制。

zkSync 路线图

什么时候才能在 zkSync 上面造东西?首先,我们在 5 月份就会支持 NFT 了!然后,zkEVM 也会在 5 月份上线测试网。我们争取让 zkEVM 在 8 月份能上线以太坊主网。

谢谢大家!在这里我想要特别感谢 Riely,她帮我翻译了很多以太坊相关的专业词汇。同时,我们在中国的社区看到了非常多积极的成员,非常感谢你们的支持。对此,Alex 和我都特别感动。那就这样啦,拜拜!

zkSync 创始人 Alex 总结

我对 zkRollup 和 zkPorter 感到非常兴奋,因为他们能把大量的用户带回以太坊,并给他们最大程度的安全性。我们高度关注协议的安全性,不管你们是 DeFi 项目方还是普通的以太坊用户,我们都希望你们有安全保障。同时,zkPorter 对所有用户开放,你们不用担心再遇到链上昂贵的费用。

zkSync 希望带给大家一个流动性充足、功能丰富的系统,不论贫富,在这里每个人都有平等参与经济系统的权利。这也是我们公司的价值观之一,即多元包容。我们坚信这一点。