Cointime

扫码下载App
iOS & Android

区块链扩展的下一个前沿:深入探索ZK Rollups

媒体

原文标题: ZK Rollups: Elephant In the Room

原文作者:Jaehyun Ha

原文编译:深潮 TechFlow

区块链行业的当前状态可以比喻为零知识(ZK)时代。无论你走到哪里,ZK 都很突出,找到不将 ZK 纳入其名称的下一代区块链项目变得越来越罕见。从技术角度看,无可否认,ZK 是一项有前景的技术,能够为更具可扩展性和私密性的区块链生态系统做出贡献。然而,由于 ZK 的复杂技术背景,许多投资者,无论是散户还是机构,常常基于「相信」这看起来很酷、新颖且可能解决区块链三难问题而投资于 ZK 项目,而没有完全理解 ZK 技术如何使每个项目受益。

在这个 ZK 系列中,我们将探讨 ZK rollups 的难以忽视的事实(缺点和劣势)及其有益的应用。首先,我们将解析区块链中 ZK 证明(ZKPs)的两个核心属性:「零知识」和「简洁性」。然后,我们将讨论当前在服务中的大量 ZK rollups 为何没有真正利用「零知识」方面。接下来,我们将研究在哪些领域应用 ZK rollup 比较有害而非有益,避免实施复杂性等众所周知的问题。最后,我们将突出那些有效体现 ZK 原则并实际从使用 ZK 技术中获得明显好处的杰出项目。

回顾:ZK Rollups 中的交易生命周期

Rollup 是一种扩展解决方案,通过在链外执行交易束然后将最新 L2 状态的摘要数据存储在 L1 上来解决 L1 的吞吐量限制。其中,ZK Rollups 的突出特点是能够通过在链上提交链下计算的有效性证明来快速提取资金。在我们深入研究 ZK rollups 的问题之前,让我们简单回顾一下它的交易生命周期。

图 2:ZK rollups 中的交易生命周期来源:Presto 研究中心

1. 每个 L2 用户生成并提交他们的交易给序列器。

2. 序列器聚合并排序多个交易,然后在链下执行这些交易以计算新的 rollup 状态。随后,序列器将这个新的 rollup 状态以「批次」形式提交到链上状态智能合约,并压缩相应的 L2 交易数据成为数据块以确保数据可用性。

3. 这个批次被发送给证明者,证明者创建该批次执行的有效性证明(或 ZKP)。然后,这个有效性证明连同额外数据(即之前的状态根)一起发送到 L1 的验证者智能合约,这有助于验证者识别它正在验证的内容。

4. 在验证者合约检查证明有效后,rollup 的状态会被更新,且已提交批次中的 L2 交易被视为已完成。

(请注意,这种解释是 ZK Rollup 过程的简化版本,每种实现可能因协议而异。如果我们区分角色,L2 中可能有更多实体,如聚合器、执行器和提议者。数据块的层级也可能不同,如块、块组和批次,具体取决于它们的用途。上述解释假设了一个情况,即一个集中式序列器具有强大的权威来执行交易,并且还生成统一的数据块格式为批次。)

与 Optimistic Rollups 不同,得益于 ZKPs(例如 ZK-SNARKs 或 ZK-STARKs),ZK Rollups 可以通过验证一个简单的证明来验证数千个交易的执行正确性,而无需重播所有交易。那么,这个 ZKP 是什么,它有什么特性呢?

ZKPs 的两个属性:零知识和简洁性

顾名思义,ZKP 基本上是一种证明。证明可以是任何能够充分支持提供者声明的东西。假设 Bob(提供者)想要让 Alice(验证者)相信他对自己的笔记本电脑有权威。证明这一点最简单的方法是,Bob 只告诉 Alice 密码,Alice 在笔记本上输入密码并验证 Bob 确实有权限。然而,这个验证过程对 Alice 和 Bob 来说都是不满意的。如果 Bob 设置了一个非常长且复杂的密码,Alice 要正确输入将非常具有挑战性(假设 Alice 不能复制粘贴)。更现实的是,Bob 可能不愿意透露他的密码给 Alice 以证明他的权限。

如果有一种验证过程,Alice 可以迅速验证计算机的权限,而无需 Bob 透露他的密码呢?例如,Bob 可以在 Alice 面前用指纹识别解锁笔记本电脑,正如图 3 中所示(注意这不是 ZKP 的完美示例)。这是 Alice 和 Bob 都可以从 ZKPs 的两个关键属性中受益的地方:零知识属性和简洁性属性。

图 3:零知识和简洁性的高级直觉来源:imgflip

零知识(ZK)

零知识属性指的是提供者生成的证明除了证明的有效性外,不会泄露关于秘密见证人(即私有数据)的任何信息,使验证者对数据一无所知。在区块链中,这一属性可以用于保护个人用户的隐私。如果对每笔交易应用 ZKPs,用户可以证明他们的行为的合法性(即证明一个用户有足够的资金进行交易)而不暴露他们的交易细节(例如转账、账户余额更新、智能合约部署和执行)给公众。

简洁性

简洁性属性指的是 ZK 能够从大尺寸的声明生成一个短小且快速验证的证明,换句话说,它将大的东西压缩成紧凑的形式。在区块链中,这一点特别用于 rollups。使用 ZKPs,L2 中的验证者可以通过向 L1 中的验证者提交一个简洁的证明来声称交易的正确执行(TB 级交易的有效性可以用 10~100 KB 的证明表示)。然后,验证者可以通过验证简洁的证明而不是重播所有交易,在短时间内(即 10 毫秒至 1 秒)轻松确认执行的有效性。

ZK Rollup 很棒,但并不意味着隐私性

上述 ZKP 的特性在 ZK Rollups 中得到了很好的利用。虽然验证者无法从提供者接收的 ZKPs 中推断原始交易数据,但验证简洁的证明允许他们有效地验证提供者的声明(即新的 L2 状态)。也就是说,断言当前的 ZK Rollups 完全遵循零知识和简洁性属性是误导的。这可能在专注于提供者与验证者之间的互动时是正确的,但 ZK Rollups 中还存在其他组成部分,如序列器、提供者和 rollup 节点。那么,「零知识」原则也为他们确保了吗?

在任何 ZK Rollups 中用 ZKPs 实现完全隐私的挑战来自于,如果其他部分保持公开而某些部分通过 ZK 变为私有时可能出现的妥协。想想 ZK Rollups 中的交易生命周期,当交易从用户发送到序列器时,隐私是否得到维护?对于提供者呢?或者当 L2 批次提交到 DA 层时,个别账户信息的隐私是否得到保护?目前这些情况都不成立。

图 4:ZK rollups 中的隐私泄露来源:Presto 研究

在大多数主流的 ZK Rollups 中,序列器或提供者(或其他具有强大权限的集中化实体)能清晰地看到交易细节,包括转账金额、账户余额更新、合约部署和执行。举一个简单的例子,你可以通过访问任何 ZK Rollup 区块浏览器轻松观察到所有提到的细节。不仅如此,考虑一种情况,集中式序列器某种原因停止服务,另一个 rollup 节点试图恢复 rollup 状态。它将从 DA 层(在大多数情况下是 L1 Ethereum)公开发布的 L2 数据中提取信息,并重建 L2 状态。在这个过程中,任何能够重播 DA 层存储的 L2 交易的节点都能恢复关于每个用户账户状态的信息。

因此,「零知识」的术语在当前的 ZK Rollups 中以碎片化的形式实施。虽然这不能被认为是错误的,但很明显,它与「ZK 意味着零知识等同于完全隐私」的普遍认知不同。当前 ZK Rollups 的新颖之处在于利用「简洁性」属性而不是「零知识」,即在链下执行交易,并为验证者生成简洁的证明,以便他们可以快速且可扩展地验证执行的有效性,而无需重新执行它们。

出于这个原因,一些 ZK Rollups,如 Starknet,将自己称为「有效性 Rollups」,以避免混淆,而确保真正 ZK 隐私的其他,如 Aztec,将自己标记为 ZK-ZK rollups。

深入考量 ZK Rollups 的实用性

正如前文提到的,大多数 ZK Rollups 并未完全实现 ZK 隐私。那么,我们的下一个目标是什么?通过在 Rollup 的每个部分全面部署 ZK 来实现完全的交易隐私?事实上,这并不是一个简单的问题。除了需要显著的技术进步以进一步成熟技术外,ZK 在意识形态(例如私人交易的非法使用)和实用性(例如它真的有用吗?)方面仍存在争议问题。鉴于讨论完全交易隐私的道德问题超出了本文的范围,我们将关注区块链项目中遇到的 ZK Rollups 的两个实用性问题。

第 1 点:生成 ZKP 可能是快速确定性的瓶颈

首先让我们讨论 ZK Rollups 本身的实用性。ZK Rollups 最引人注目的卖点是由于其交易的「快速终结」而使资产提取延迟时间缩短,这得益于 ZKP。提高的 TPS 和低交易费用是额外好处。最有效利用 ZK Rollups 特性的领域是游戏行业,因为游戏内货币的存取非常频繁,每秒都会产生大量的游戏内交易。

但 ZK Rollups 真的可以被认为是游戏的最佳技术栈吗?对此,我们需要更深入地思考 ZK Rollups 中的「快速终结」概念。想象一下,一个用户正在享受运行在基于 ZK Rollup 的技术栈的 Web3 游戏。用户将游戏内物品交易成游戏币,并试图从游戏中提取该资产。

要提取资产,游戏内交易必须被终结。这意味着交易必须被包含在新的 Rollup 状态承诺中,相应的 ZKP 应提交到 L1,并且需要等待 L1 以太坊中证明的终结,以保证交易不可逆转。如果所有这些过程能瞬间发生,那么我们就能实现 ZK Rollups 常被吹嘘的「即时交易确认」,允许用户立即提取资产。

然而,现实远非如此。根据 L2beat 提供的不同 ZK Rollups 的终结时间统计数据,zkSync Era 大约需要 2 小时,Linea 需要 3 小时,而 Starknet 平均需要约 8 小时。这是因为生成一个 ZKP 需要时间,将更多交易包含在一个批次(即单一证明)中以减少交易费用也需要额外时间。换句话说,生成和提交证明的速度是实现 ZK Rollups 快速终结的潜在瓶颈,这可能会降低 Web3 游戏中的用户体验。

图 5:ZKP 生成可能是 ZK rollups 快速确定性的潜在瓶颈来源:imgflip

另一方面,像 Ronin 这样为游戏优化的链(支持如 Pixels 和 Axie Infinity 等 Web3 游戏)确保了超快终结,同时牺牲了去中心化和安全性。Ronin 不是基于 ZK 或 Rollup 的链:它是一个在 PoA(权威证明)+ DPoS(委托权益证明)共识算法下运行的 EVM 区块链。它根据委托的股份数量选择 22 个验证者,然后这些验证者以 PoA 方式(即仅在 22 个验证者之间的投票过程)生成和验证区块。因此,在 Ronin 上,交易能够迅速完成终结,几乎没有延迟被包含在区块中,并且验证时间很短。在 Shillin 硬分叉后,平均每个交易只需要 6 秒钟就能完成终结。Ronin 实现了所有这些,而无需 ZKP。

当然,Ronin 也有缺点。由中心化验证者管理使其相对更容易受到 51% 攻击的威胁。此外,由于它不使用以太坊作为结算层,它无法继承以太坊的安全性。使用跨链桥也存在安全风险。但从用户的角度来看:他们会在意这些吗?当前没有去中心化排序的 ZK Rollups 也存在单点故障(SPOF)问题。以太坊为它们提供了保证,因为它减少了交易回滚的可能性,但如果中心化的序列器或验证者出现故障,ZK Rollups 也会冻结。再次注意,ZK Rollups 中的「ZK」仅用于验证执行正确性的有效性。如果有另一个项目提供相同的功能但更快更便宜,ZK Rollups 可能不再被 Web3 游戏用户和开发者视为首选技术栈。

第 2 点:发布状态差异是一把双刃剑

另一点是 ZK Rollup 协议实现的实用性。其中,这里我们重点关注状态差异发布,这是在 ZK rollups 中确保数据可用性的方法之一(参见 Unlocking Dencun Upgrade: Unseen Truth of Scaling DA Layers, Jaehyun Ha, 12Apr24)。

理解 Rollups 中数据可用性的一个简单方法是想象一个业余登山者证明并记录他攀登珠穆朗玛峰的过程。最简单的方法是从基地营到山顶的每一步都录制成视频。尽管视频文件可能很大,但任何人都可以验证登山者的攀登过程,并可能重播录像。这个比喻可以类比于确保数据可用性的原始交易数据发布方法。Optimistic Rollups 遵循这种方法,以便个别挑战者重播并验证正确的执行,因为无法信任序列器的状态承诺。在 ZK Rollups 中,Polygon zkEVM 和 Scroll 采用这种方法,在 L1 上以压缩形式存储原始 L2 交易数据,以便在需要时任何人都可以重播 L2 交易以恢复 Rollup 的状态。

回到业余登山者的例子,另一种验证方法可能是一位著名的登山者与业余登山者一起攀登珠峰,以向世界证明登山确实完成。由于攀登已经由可信的个人证实,登山者不再需要记录每一步以作记录。只需在起点和山顶拍摄一张照片即可,其他人就会认为登山者已经到达了山顶。这个比喻反映了用于确保数据可用性的状态差异方法。在 ZK Rollups 中,zkSync Era 和 StarkNet 采用这种方法,仅存储 L2 交易在 L1 上执行前后的状态差异,以便在必要时任何人都可以从初始状态计算状态差异以恢复 Rollup 的状态。

图 6:原始交易发布与状态差异发布来源:Presto 研究

这种状态差异方法无疑在成本上比原始交易数据发布方法有利,因为它可以省去存储中间交易的步骤,从而减少 L1 的存储成本。尽管这通常不是问题,但这里还是有一个潜在的缺陷:这种方法不允许恢复完整的 L2 交易历史,这对某些 DApps 可能是一个问题。

以 Compound 这个 DeFi 借贷协议为例,假设它是建立在基于状态差异的 ZK Rollup 技术栈之上的。这些协议需要完整的交易历史以每秒计算供应和借贷利率。但是,如果 ZK Rollup 序列器出现故障,其他 Rollup 节点试图恢复最新状态会发生什么?它可能恢复状态,但利率将被不准确地恢复,因为它只能跟踪批次之间的快照而不是每个中间交易。

结论

本文主要断言,大多数当今的 ZK Rollups 中并不存在「ZK」,在 DApp 中的很多地方,使用 ZKP 和 ZK 程序可能不是最佳选择。ZK 技术可能因被指责而感到无辜,因为它本身并没有什么问题,只是在利用其技术进步的过程中,它可能会带来 DApps 的潜在性能下降。然而,这并不是说 ZK 技术对这个行业毫无用处。当 ZKPs 和 ZK rollups 最终技术成熟时,它们肯定可以提供更好的解决方案来解决区块链三难问题。实际上,目前已有基于 ZK 的项目维护了 ZK 隐私,也有许多类型的 DApps 有效利用了 ZKP 和 ZK 卷积的优势。

评论

所有评论

推荐阅读

  • 俄美元首通话 普京称俄目前不可能恢复与乌谈判

    10月10日,俄罗斯总统助理乌沙科夫当地时间10日凌晨介绍了俄美两国领导人通话的有关情况。乌沙科夫表示,普京在通话中详细介绍了俄罗斯为回应乌克兰武装部队实施的恐怖袭击而采取的措施。普京表示,乌克兰方面试图破坏俄罗斯国家杜马选举并对民众实施袭击,导致立即恢复谈判的可能性遭到破坏。普京还指出,乌克兰方面试图阻止俄罗斯军队推进的企图没有任何成功的前景,俄军目前完全掌握战场主动权,并正在持续向前推进。普京强调,由于乌克兰方面的立场,特别是其试图破坏俄杜马选举的行为,目前不可能恢复与乌克兰的谈判。特朗普已指示将普京在通话中传递的信息转达给乌克兰代表团。乌沙科夫称,关于举行普京与特朗普双边会晤的问题,双方目前尚未进行具体讨论。(央视新闻)

  • Telegram 内置 Gram 钱包更名为 Money 并向全体用户开放

    10月9日,Telegram 已将其原仅向部分用户开放的钱包服务“Gram wallet”更名为“Money”,并正式向全平台超过十亿用户全面推出。“Money”是针对 Gram 代币的内置钱包,支持存储、转账以及购买平台礼物与收藏级用户名。 此外,配套交易平台“Walt”提供超过 300 种资产服务,涵盖代币化股票、贵金属、永续合约及理财收益项目。用户可通过“Walt”向“Money”钱包进行即时划转且免收网络手续费。官方同时提示,加密资产投资存在相应风险。

  • Blockchain.com 寻求批准开展预测市场和加密货币衍生品交易

    10月9日,加密资产平台 Blockchain.com 已向美国商品期货交易委员会(CFTC)提交申请,寻求获得指定合约市场(DCM)和期货佣金商(FCM)牌照,以向美国用户提供事件合约(预测市场)及加密货币衍生品交易服务。

  • 贝森特:美国本周可能查扣约 10 亿美元与伊朗相关的加密货币

    美国财政部长贝森特周四在 Newsmax 于华盛顿举办的 NPolicy Summit 上表示,我们本周可能会查扣 10 亿美元的加密货币,并称「我们知道它在哪里,我们正在孤立他们」。贝森特表示,特朗普政府对伊朗的举措已从「极限施压」转为「绝对孤立」,措施包括海上封锁、限制航空出行及切断陆路通道,阿联酋和阿曼正与美方合作,美方也在与巴基斯坦和土耳其合作切断所有进出伊朗的陆路通道。

  • Zcash 开发团队计划于明年 1 月引入抗量子签名以保护公开支付

    隐私加密货币 Zcash(ZEC)开发团队计划于明年 1 月在网络中引入后量子签名操作码,以支持基于哈希的签名技术,从而抵御潜在的量子计算攻击。该方案主要针对透明(公开)支付池,目前约有 70% 的 ZEC 存放于该池中。尽管开发者将 1 月定为目标期限,但具体的网络激活时间尚未最终确定。 该升级旨在防止攻击者利用现有公钥反向推导私钥并伪造支付授权。此外,Zcash 节点验证程序 Zakura 还推出了一项基于私密信息检索(PIR)的钱包工具,允许用户在查询多地址余额时不向服务器泄露地址间的关联性。此前,以太坊研究员 Justin Drake 曾警告人工智能可能加速破解传统加密算法,并呼吁加密货币持有者应对潜在的安全威胁。

  • BTC突破83000美元

    行情显示,BTC突破83000美元,现报83017.3美元,24小时涨幅达到0.66%,行情波动较大,请做好风险控制。

  • 中共中央、国务院:全面实施“人工智能+”行动

    10月9日,中共中央、国务院印发《关于发展新质生产力的意见》。意见提到,全面实施“人工智能+”行动。推进人工智能对传统产业的改造,加快推进智能网联新能源汽车、人工智能手机和电脑、人形机器人等新一代智能终端场景应用。加快人工智能等数智技术创新,突破基础理论和核心技术,强化算力、算法、数据等高效供给。因地制宜、分业施策布局国家人工智能行业应用中试基地和高价值应用场景,大力推动人工智能在各行业应用。构建技术监测、风险预警、应急响应体系,确保人工智能安全、可靠、可控。

  • 美国政府相关钱包近三日向Coinbase Prime存入17733枚BTC及750枚WBTC

    10月9日,据Lookonchain监测,过去三天内,与美国政府相关的钱包已向Coinbase Prime存入了17,733枚BTC(价值14.8亿美元)和750枚WBTC(价值6200万美元)。 根据Arkham的标记数据,这些钱包目前仍持有价值254亿美元的加密资产,其中仅比特币的价值就达253亿美元。

  • ETH跌破2500美元

    行情显示,ETH跌破2500美元,现报2499.87美元,24小时跌幅达到2.55%,行情波动较大,请做好风险控制。

  • ETH突破2500美元

    行情显示,ETH突破2500美元,现报2500.13美元,24小时跌幅达到2.21%,行情波动较大,请做好风险控制。