ZK技术对决:以太坊的ZK Rollups vs. Solana的ZK压缩

  • tobs.x
  • 发布于 2024-07-09 16:29
  • 阅读 86

本文深入探讨了区块链技术中零知识证明(ZKP)的应用,对比了以太坊上的ZK Rollups和Solana上的ZK Compression两种不同的扩展方案。ZK Rollups通过将多个交易打包并在链下处理,然后提交简洁的验证证明到链上,从而提高以太坊的交易吞吐量并降低交易成本。而ZK Compression则专注于压缩链上数据,减少存储需求和带宽压力,提升Solana的效率和可扩展性。

![]()

区块链技术的增长总体来说是一个好现象,但也带来了一些挑战,例如可扩展性和数据效率。随着用户采用率的增长,现有网络上的压力也随之增加,导致交易速度变慢和费用上涨。

随着区块链网络的增长,每秒交易数 (TPS) 成为一个关键问题。比特币和以太坊等主要区块链目前的容量不足以处理广泛采用所需的交易量。

例如, 比特币每秒处理约 7 笔交易,而以太坊每秒处理约 15 笔交易。相比之下,Visa 平均每秒处理约 1,700 笔交易。如果没有扩展解决方案,区块链无法与传统的金融系统竞争并实现大规模采用。

另一个方面是随着使用量的增长,交易费用也在增加。以太坊的过度使用给网络带来了一些成长的烦恼。以太坊的交易费用在 2021 年初飙升至历史新高。

作为背景, 在 2017/2018 年牛市的顶峰时期,以太坊的平均交易费用达到了 5.70 美元。

![]()

https://coinmetrics.io/the-ethereum-gas-report/

自 2021 年 1 月 18 日以来,以太坊的平均交易费用每天都超过 5.70 美元。今年大部分时间里,交易费用的中位数都高于 10 美元。

以太坊和 Solana 这两个领先的区块链平台都在探索使用零知识证明 (ZKP) 来解决这些问题。

𝙕𝙚𝙧𝙤-𝙆𝙣𝙤𝙬𝙡𝙚𝙙𝙜𝙚 𝙋𝙧𝙤𝙤𝙛𝙨 (𝙕𝙆𝙋𝙨) 𝙖𝙨 𝙖 𝘽𝙡𝙤𝙘𝙠𝙘𝙝𝙖𝙞𝙣 𝙎𝙘𝙖𝙡𝙞𝙣𝙜 𝙎𝙤𝙡𝙪𝙩𝙞𝙤𝙣. (零知识证明 (ZKP) 作为区块链扩容解决方案)

![]()

https://towardsdatascience.com/what-are-zero-knowledge-proofs-7ef6aab955fc

零知识证明是一种密码学协议,允许一方在不泄露信息本身的情况下,向另一方证明他们知道某个值或拥有某些信息。该概念由 Shafi Goldwasser、Silvio Micali 和 Charles Rackoff 在 20 世纪 80 年代推出,当时他们发布了题为“交互式证明系统的知识复杂性”的论文。

ZKP 可以分为两个主要类别:

1. 交互式零知识证明:需要在证明者和验证者之间进行多次交换。

2. 非交互式零知识证明 (NIZK):需要一个可以多次验证而无需交互的单一证明。例如 Zk-Rollups

零知识证明的原则

为了使一个证明被认为是零知识的,它必须满足三个核心原则:

1. 完整性:如果该语句为真,则验证者将被证明者说服。

2. 健全性:如果该语句为假,则验证者不会被作弊的证明者说服。

3. 零知识:如果该语句为真,则验证者除了该语句为真的事实之外,不会了解到任何其他信息。

𝙎𝙘𝙖𝙡𝙞𝙣𝙜 𝙖 𝘽𝙡𝙤𝙘𝙠𝙘𝙝𝙖𝙞𝙣. (扩展区块链)

![]()

https://academy.moralis.io/blog/exploring-blockchain-scaling-solutions-in-2020

扩展区块链生态系统有两种方法。

Layer 1 Scaling: (第一层扩展)

这包括增加区块链本身的交易容量。这种技术的主要挑战在于,具有较大区块的区块链本质上更难以验证,并且可能变得更加中心化。为了避免此类风险,开发人员使用诸如压缩之类的技术,该技术侧重于通过压缩大量数据、优化存储和提高数据传输效率来减少数据占用空间。

Layer 2 Scaling: (第二层扩展)

用户不是将所有活动直接放在区块链上,而是在Layer2协议中执行大部分活动。链上有一个智能合约,它只有两个任务:处理存款和取款,以及验证证明。Rollup 是Layer2扩展的示例,它是混合Layer2协议。Rollup 将计算和状态存储移至链下,但保留每个交易的一些链上数据。

本文将探讨 Solana 和以太坊在提高各自区块链效率方面应用的两种Layer概念。

以太坊上的 Zk Rollups。

![]()

什么是零知识 Rollups?

零知识 Rollups (ZK-rollups) 是一种Layer2扩展解决方案,它通过将计算和状态存储移至链下来提高以太坊上的吞吐量。ZK-rollups 可以在一个批处理中处理数千个交易,然后将交易摘要发布到主网。

zk Rollups 解决了以太坊中的可扩展性问题。

随着以太坊的普及,交易费用增加,使得许多用户与网络交互的成本变得高昂。通过将计算转移到Layer2,zk Rollups 提供了一种解决方案,该解决方案可以实现更快、更便宜的交易,同时保持以太坊区块链的安全性保证。

ZK-rollup 的状态由部署在以太坊网络上的智能合约维护。要更新此状态,ZK-rollup 节点必须提交有效性证明以进行验证。有效性证明是一种密码学保证,保证 rollup 提出的状态更改确实是执行给定批处理交易的结果。这意味着 ZK-rollups 只需要提供有效性证明来最终确定以太坊上的交易,而无需像 optimistic rollups 那样将所有交易数据发布到链上。

zk Rollups 的概念是从零知识证明的更广泛的密码学研究领域发展而来的。

Alex Berezkowski 和 Vitalik Buterin 等研究人员的开创性工作为实际 zk Rollup 协议的开发铺平了道路。

为什么要开发 ZK Rollups

![]()

https://zebpay.com/blog/what-are-zk-rollups

ZK Rollups 是一种Layer2扩展解决方案,其开发目的是提供一种在主以太坊链(Layer1)之外处理交易,同时仍然受益于其安全性的方法。ZK Rollups 中的 "ZK" 代表零知识,这是一种密码学技术,允许一方在不泄露陈述有效性以外的任何信息的情况下,向另一方证明陈述为真。

ZK Rollups 开发中的主要参与者。

Vitalik Buterin

以太坊的联合创始人 Vitalik Buterin 一直是Layer2扩展解决方案的坚定支持者。他广泛撰写了关于 Rollups(如 ZK-Rollups)解决以太坊可扩展性问题的潜力的文章。Vitalik Buterin 在 2022 年提出了这种 二分法,绘制了一个图表,其中包含五种使用 zk-proofs 的协议,从兼容性最强到性能最佳。

Matter Labs

![]()

https://blog.matter-labs.io/introducing-zk-sync-the-missing-link-to-mass-adoption-of-ethereum-14c9cea83f58

Matter Labs 是一家开创性的区块链技术公司,一直处于 ZK Rollup 开发的前沿。他们推出了 zkSync,这是一种Layer2扩展解决方案,它利用 ZK Rollup 技术来提供快速且低成本的交易,同时保持以太坊的安全性。

StarkWare

![]()

https://starkware.co/starkex/

StarkWare 是 ZK Rollups 开发的另一个主要参与者。他们开发了 StarkEx,这是一种可扩展性引擎,它使用零知识证明来实现以太坊上可扩展且私密的交易。

Loopring

![]()

https://loopring.org/

Loopring 是一种去中心化交易所协议,它集成了 ZK Rollups 以实现以太坊上的高速和低成本交易。他们的工作证明了 ZK Rollups 在去中心化金融 (DeFi) 领域的实际应用。

ZK-Rollups 的技术架构。

ZK-rollups 在以太坊主网之外执行交易,但将链下交易批次提交到链上 rollup 合约。由于 ZK 证明,此交易记录是不可变的,并形成 ZK-rollup 链。

ZK-rollup 的核心架构由以下组件组成:

1. 链上合约: ZK-Rollups 包含一个主合约,用于存储区块、跟踪存款和监控状态更新。另一个链上合约(验证器合约)验证区块生产者提交的零知识证明。这使得以太坊成为 ZK-rollup 的基础层。

2. 链下虚拟机 (VM): 交易执行和状态存储发生在独立于 EVM 的单独虚拟机上。此链下虚拟机是 ZK-rollup 上交易的执行环境,并充当 ZK-rollup 协议的辅助层。以太坊上验证的有效性证明保证了链下 VM 中状态转换的正确性。

3. 安全性: ZK-rollups 是独立运行的链下协议,但其安全性源于以太坊。以太坊强制执行 ZK-rollup 上状态更新的有效性。它确保每次更新 rollup 状态时都有可用数据。这使得 ZK-rollups 比纯链下扩展解决方案更安全。

以太坊协议通过提供以下内容与 ZK-rollups 交互:

1. 可访问和可用数据

ZK-rollups 显示了每个链下处理到以太坊的交易的数据。这允许用户重现 rollup 的状态并自行验证链。以太坊将此数据作为 Calldata 提供给网络的所有参与者。

2. 交易终结性

只有在 L1 合约接受有效性证明后,L2 交易才会最终确定。这允许以太坊充当 ZK-rollup 的结算层,从而消除了恶意运营商破坏链的风险。为了增加安全性,以太坊保证一旦在 L1 上最终确定,用户的操作就无法撤销。

3. 抗审查性

大多数 ZK-rollups 使用一个超级节点(称为运营商)来执行交易、生成批次并将区块提交到 L1。这增加了审查的风险,因为恶意运营商可能会通过拒绝将用户的交易包含在批次中来审查用户。

为了解决这个问题,ZK-rollups 允许用户将交易直接提交到以太坊上的 rollup 合约,如果他们认为自己受到运营商的审查。这为用户提供了一个选择,即在无需依赖运营商许可的情况下,从 ZK-rollup 退出到以太坊。

ZK-Rollups 的工作原理

![]()

交易

ZK-rollup 中的用户签署交易并提交给 L2 运营商以进行处理并包含在下一个批次中。运营商执行交易,将它们聚合成批次,然后提交到 L1。在此系统中,运营商是唯一允许生成 L2 区块并将 rollup 交易添加到 ZK-Rollup 合约中的实体。ZK-Rollups 通过使用权益证明验证器集来轮换运营商角色。潜在运营商将资金存入 rollup 合约,每个权益的大小会影响权益人被选中生成下一个 rollup 批次的机会。

ZK Rollups 在以太坊上发布的数据

交易数据在以太坊上显示为 Calldata。Calldata 是智能合约中的一个数据区域,用于将参数传递给函数。它作为以太坊链历史日志的一部分存在于链上。Calldata 不影响以太坊的状态,因此是一种在链上存储数据的廉价方式。

状态承诺

ZK-rollup 的状态包括Layer2 (L2) 帐户和余额,它们以 Merkle 树的形式组织。此 Merkle 树的根哈希存储在链上合约中,以跟踪汇总状态的变化。当处理新交易时,rollup 会移动到新状态。处理状态转换的运营商会计算新的状态根,并将其提交到链上合约。如果合约验证了交易的有效性证明,则新的 Merkle 根将成为 ZK-rollup 的新状态根。

有效性证明

有效性证明允许各方在不泄露陈述本身的情况下证明陈述的正确性。它们也称为零知识证明。ZK-rollups 使用有效性证明来确认链下状态转换的正确性,而无需在以太坊上重新执行交易。

这些证明可以采用 ZK-SNARKs(零知识简洁非交互式知识论证)或 ZK-STARKS(零知识可扩展透明知识论证)的形式。

虽然 SNARK 和 STARK 都有助于证明 ZK-rollups 中链下计算的完整性,但每种证明类型都具有独特的特征

ZK-SNARKs

ZK-SNARKs 需要公共参考字符串 (CRS)。CRS 为证明和验证有效性证明提供公共参数。证明系统的安全性取决于 CRS 设置。如果用于创建公共参数的信息落入恶意行为者手中,他们可能能够生成虚假的有效性证明。

ZK-rollups 尝试通过使用多方计算仪式 (MPC) 来解决此问题,以生成 ZK-SNARK 电路的公共参数。每个参与方都贡献一些随机性有害垃圾来构建 CRS,他们必须立即销毁这些垃圾。

只要一个诚实的参与者销毁了他们的输入,ZK-SNARK 系统的安全性就得到了保证。

ZK-SNARKs 以其小证明大小和恒定时间验证而闻名。这允许 L2 使用 ZK-SNARKs 生成可以在主网上快速且廉价地验证的证明。

ZK-STARKs

ZK-STARKs 证明链下计算的有效性,而不透露输入。ZK-STARKs 被认为是 ZK-SNARKs 的改进,因为它们具有可扩展性和透明性。它们无需公共参考字符串 (CRS) 的可信设置即可工作。ZK-STARKs 依赖于可公开验证的随机性来设置生成和验证证明的参数。

证明和验证时间与底层计算的大小呈线性关系。这意味着当涉及大型数据集时,ZK-STARKs 比 ZK-SNARKs 需要更少的时间来证明和验证,这使得它们适用于大容量应用程序。

有效性证明在 ZK-rollups 中的工作原理

1. 证明生成: 在接受交易之前,运营商将执行通常的检查。这包括确认:

- 发送者和接收者帐户是状态树的一部分。

- 发送者有足够的资金来处理交易。

- 交易正确,并且与汇总上的发送者的公钥匹配。

- 发送者的随机数正确,等等。

2. 聚合: 一旦 ZK-rollup 节点有足够的交易,它会将它们聚合成一个批次,并编译证明电路的输入,以编译成简洁的 ZK 证明。这包括:

- Merkle 树根,包含批次中的所有交易。

- 交易的 Merkle 证明,以证明包含在批次中。

- 交易中每个发送者-接收者对的 Merkle 证明,以证明这些帐户是 rollup 的状态树的一部分。

- 一组中间状态根,通过在应用每个交易的状态更新后更新状态根来派生。

- 验证:证明电路通过执行与运营商在处理交易之前完成的相同检查来计算有效性证明。

3. 证明验证

在证明电路验证了状态更新的正确性后,L2 运营商会将计算的有效性证明提交给 L1 上的验证器合约。合约的验证电路会验证证明的有效性,还会检查构成证明一部分的公共输入:

- 预状态根:ZK-rollup 的旧状态根,反映了 L2 链的最后一个已知有效状态。

- 后状态根:在执行批处理交易后新的状态根,反映了 L2 链的最新状态。

- 批次根:批次的 Merkle 根,通过将批次中的交易进行 Merkle 化和哈希树的根来派生。

- 交易输入:与作为提交批次的一部分执行的交易相关的数据。

如果证明满足证明电路,则表明存在将 rollup 从先前状态转换为新状态的有效交易。如果预状态根与存储在 rollup 合约中的根匹配,则 rollup 合约会更新其状态树以反映 rollup 的已更改状态。

进入和退出 ZK Rollups。

进入:

用户通过将代币存入部署在 L1 链上的 rollup 合约来进入 ZK-Rollup。此交易已排队,因为只有运营商可以将交易提交到 rollup 合约。

ZK-Rollup 运营商获取存款交易并将其提交到 rollup 合约。一旦用户的资金进入 rollup,他们就可以通过将交易发送给运营商进行处理来开始交易。用户可以通过哈希其帐户数据、将哈希发送到 rollup 合约并提供 Merkle 证明以针对当前状态根进行验证来验证 rollup 上的余额。

退出:

要提款,用户通过将其资产在rollup 上发送到指定的用于燃烧的帐户来启动退出交易。如果运营商将交易包含在下一个批次中,则用户可以向链上合约提交提款请求。此提款请求将包括以下内容:

- Merkle 证明,证明用户的交易包含在交易批次中的燃烧帐户中。

- 交易数据

- 批次根

- 接收存款资金的 L1 地址。

Rollup 合约哈希交易数据,检查批次根是否存在,并使用 Merkle 证明检查交易哈希是否是批次根的一部分。之后,合约执行退出交易并将资金发送到用户在 L1 上选择的地址。

ZK-Rollups 和 EVM 兼容性。

![]()

ZK Rollups 在处理以太坊虚拟机 (EVM) 上的通用计算时面临挑战。与Token转移等简单任务相比,证明这些复杂的计算更加困难且资源密集。

然而,零知识技术的最新进展表明,人们对将 EVM 计算改编为零知识证明产生了兴趣。

目的是创建一个零知识 EVM (zkEVM),它可以有效地验证智能合约执行的准确性。

与 EVM 类似,zkEVM 在处理输入后会转换状态。但与 EVM 不同,zkEVM 会生成零知识证明来确认程序执行中每个步骤的正确性。

这些证明验证影响 VM 状态(如内存、堆栈、存储)的操作,并确保正确的计算(例如正确执行正确的操作码)。

开发人员热切期待与 EVM 兼容的 ZK Rollups,因为它们承诺通过零知识证明实现可扩展性和安全优势。重要的是,与以太坊现有基础设施的兼容性意味着开发人员可以使用熟悉的工具和语言来构建利用这些进步的去中心化应用程序 (dApp)。

ZK-Rollups 如何扩展以太坊?

![]()

https://en.bitpush.news/articles/4451336

- 交易数据压缩

ZK-rollups 通过将计算从链下进行并压缩交易数据来扩展以太坊基础层上的吞吐量。以太坊的区块大小限制了每个区块可以容纳的数据以及每个区块处理的交易数量。通过压缩与交易相关的数据,ZK-rollups 显着增加了每个区块处理的交易数量。

- 递归证明

零知识证明的一个优点是证明可以验证其他证明。例如,单个 ZK-SNARK 可以验证其他 ZK-SNARK。这称为递归证明。递归证明使使用一个有效性证明最终确定多个区块成为可能。它聚合多个区块证明,直到创建一个最终证明。

相关术语:

Merkle 树

Merkle 树是计算机科学中使用的一种数据结构,用于有效且安全地验证数据的完整性。它是一棵树,其中每个叶节点是数据块的哈希,每个非叶节点是其子节点的哈希。这种结构允许快速安全地验证大型数据结构的内容。

Merkle 证明

Merkle 证明是一种证明特定数据片段包含在 Merkle 树中的方法。它涉及提供数据的哈希以及从数据到树根路径上的兄弟节点的哈希。这允许任何人验证数据在树中的存在,而无需查看整个数据集。

哈希

哈希是使用哈希函数将输入(或“消息”)转换为固定大小的字节字符串的过程。输出(称为哈希)唯一地表示输入数据。哈希广泛用于计算机中,用于数据完整性检查和密码存储。

Calldata

在以太坊上 zkRollups 的上下文中,calldata 指的是与交易一起发送到智能合约的数据。对于 zkRollups,calldata 用于在以太坊主网上存储压缩的交易数据。此数据包括有关 rollup 中处理的交易的基本信息,例如发送者、接收者、金额和其他相关详细信息。

以下是 zk Rollups 在以太坊网络上如何运作的简化分解:

零知识证明: zk Rollups 使用零知识证明来确保状态转换(由于交易而导致的区块链状态变化)有效,而无需透露每个交易的具体细节。这确保了隐私和效率。

交易批处理: Вместо отправки каждой отдельной транзакции в блокчейн, пользователи отправляют свои транзакции оператору, специализированному узлу на Layer 2 rollup. Многие транзакции группируются вместе в один большой пакет и обрабатываются вне основного блокчейна. (不将每个单独的交易发送到区块链,用户将其交易提交给运营商,即Layer2rollup 上的专用节点。许多交易被分组到一个大批次中,并在主区块链之外处理。)

链下计算:Sequencer(排序器) 将这些交易聚合成一个批次,并在链下执行所有必要的计算。交易在特定于 Rollup 的智能合约中在链下执行。这些交易被批处理在一起,并生成一个批次有效性的密码学证明。

证明生成: 生成密码学证明 (zk-SNARK),证明整个批次交易的有效性,而无需透露各个细节。

链上验证: 然后将批次及其证明提交给以太坊主网。以太坊网络只需要验证证明,这比单独验证每个交易的计算量要小得多。

提交到Layer1: Sequencer(排序器) 将交易数据和 zk-SNARK 提交到以太坊主网。

Layer1上的验证: 以太坊智能合约验证 zk-SNARK,确保交易的完整性。

状态更新: 如果证明有效,则更新以太坊状态以反映批次中交易的结果。

数据可用性: 为了确保数据可用性,zk Rollups 将交易数据存储在链上。这意味着任何人都可以从区块链重构状态,从而确保透明性和安全性。

ZK-ROLLUPS 在以太坊上解决的问题:

1. 可扩展性: 以太坊的主链每秒处理的交易数量 (TPS) 有限。这种约束导致高需求期间的网络拥塞,从而导致延迟和交易费用增加。ZK Rollups 通过将大部分交易处理移至链下来缓解这种情况,同时仍能确保安全性和无需信任。

2. 交易吞吐量: 通过将多个交易批处理到单个 rollup 区块中,与直接在以太坊主网上执行交易相比,ZK Rollups 显着提高了吞吐量。这种方法允许每秒处理数千个交易,从而大大提高网络效率。

3. 减少 Gas 费用: 以太坊上的 Gas 费用会根据网络活动和拥塞情况而剧烈波动。ZK Rollups 通过将许多交易聚合成主网上的单个计算单元来降低每笔交易的成本。这种聚合最大限度地减少了每笔交易所需的计算资源,从而降低了用户的 Gas 成本。

4. 延迟和确认时间: 由于交易在链下处理并且仅将简洁的证明提交到主链,因此 ZK Rollups 减少了延迟并缩短了确认时间。与以太坊主网的基础层相比,用户体验到更快的交易最终确定性。

ZK-Rollups 在以太坊上的优势:

![]()

1. 安全性: ZK Rollups 通过密码学证明(zk-SNARK 或 zk-STARK)维护以太坊主链的安全性保证,确保所有交易都得到正确验证并且防止了恶意活动。

2. 成本效益: 通过减少主网上计算和存储需求,ZK Rollups 使之能够让用户使用去中心化应用程序 (dApp) 以及进行交易,而不会产生过高的费用,这更实惠。

3. 生态系统增长: 较低的交易成本和改进的可扩展性鼓励更多开发人员在以太坊上构建应用,从而促进了去中心化金融 (DeFi)、非同质化代币 (NFT) 和其他基于区块链的应用程序的创新。这种增长扩大了以太坊的整体效用和采用。

4. 用户体验: 更快的确认时间和更低的费用增强了用户体验,使去中心化应用程序更易于访问和用户友好。这种改进对于主流采用和可用性至关重要。

ZK-Rollups 在以太坊上的局限性

1. 证明生成的复杂性: 生成零知识证明(ZK 证明)需要大量的计算资源和复杂的算法。这种复杂性可能会导致 ZK-rollup 运营商的更高延迟和运营成本,尤其是在处理大量交易时。例如,zkSync 和 StarkEx(流行的 ZK-rollup 实现)需要高级硬件和优化的软件才能有效生成证明。

2. 有限的智能合约兼容性: 虽然 ZK-rollups 可以有效地处理简单的交易,但它们在复杂的智能合约和去中心化应用程序 (dApp) 方面却步履维艰。许多现有的以太坊 dApp 不能直接与 ZK-rollups 兼容,因此需要进行大量的重写或改编。这种限制影响了严重依赖复杂智能合约逻辑的项目,例如 Uniswap 或 Aave 等 DeFi 协议。

3. 数据可用性: ZK-rollups 依赖以太坊主链来实现数据可用性,这意味着所有交易数据都必须发布在链上。如果此数据不可用,rollup 的完整性可能会受到影响。例如,如果运营商未能发布必要数据,用户可能无法验证 rollup 状态的正确性。

4. 中心化风险: 目前,大多数 ZK-rollups 都依赖于单个运营商来管理 rollup 并生成证明。如果运营商受到威胁,这种中心化可能会带来安全风险。例如,如果攻击者控制了像 Loopring 这样的 ZK-rollup 运营商,他们可能会破坏 rollup 的运营或操纵交易处理。

5. 最终确定性的延迟: 虽然 ZK-rollups 提供的交易吞吐量更快,但由于生成和验证证明所需的时间,在最终确定交易方面可能会出现延迟。这种延迟可能会影响需要立即交易最终确定性的用例,例如实时游戏或交易应用程序。

总而言之,ZK-rollups 通过将交易分组在一起、在链下处理以及使用特殊证明来确保一切正确,从而加快了以太坊上的交易速度并降低了成本。

Solana 上的 ZK 压缩。

![]()

https://medium.com/@CaseFlyn/solanas-zk-compression-the-blockchain-game-changer-52dfdb53d707

什么是 ZK 压缩?

ZK 压缩是一种旨在提高 Solana 效率的新技术,因为它使各户能够大规模地构建应用程序。在 ZK 压缩中,链上状态经过压缩,这降低了状态成本,而不会降低 Solana L1 的安全性、性能和可组合性。

这是一种创新技术,旨在直接在 Solana 区块链(Layer1)上提高可扩展性。Solana 采用历史证明 (PoH) 共识机制,该机制会生成大量数据。

ZK 压缩利用零知识证明 (ZKP),例如 zk-SNARK,来压缩链上存储的数据,通过压缩与帐户余额和智能合约存储相关的状态成本。

它生成压缩数据有效性的密码学证明,这允许开发人员仅在区块链上存储压缩数据的指纹(哈希),从而显着降低存储要求和交易成本。

ZK 压缩是两个过程的组合:压缩和零知识 (ZK) 证明。

当开发人员使用 ZK 压缩时,他们可以压缩帐户数据,并且仅将状态根存储在链上。这允许其余的基础数据存储在更便宜的链下存储空间中。

它是如何运作的?

- 验证器创建总结历史区块链数据的证明。

- 这些证明明显小于原始数据。

- 网络验证证明,确保压缩数据准确地反映了历史记录。

历史和发展:

zk Compression 的概念相对较新,于 2023 年年中作为 Solana 不断研究可扩展性解决方案的一部分而出现。Light Protocol(一个基于 Solana 的隐私层)与 Solana 开发团队 Helius Labs 合作,使这项技术成为现实。Light Protocol 和 Helius Labs 于 2024 年 6 月推出了这项新的第一层 (L1) 扩展技术。

ZK 压缩的显著特征预期

ZK Compression 的开发者 Light Protocol 声“引入 ZK 压缩后,在 Solana 上创建新帐户的成本将降低几个数量级。”

Helius Labs 的联合创始人兼首席执行官 Mert Mumtaz 在宣布推出 ZK Compressision 时表示

“以空投给 1,000,000 个用户为例。今天,仅状态的成本就将超过 260,000 美元。现在,它的成本是 50 美元,便宜了 5,200 倍。但是,Token帐户只是其中的一个示例,并且由于 Solana 上的所有内容都是帐户,这意味着所有内容都可以扩展。”

100 个Token的创建成本:

常规帐户(100 字节 PDA 帐户):~0.0016 SOL

压缩帐户:~0.00001 SOL(便宜 160 倍)

Token帐户:

常规帐户(100 个Token帐户):~0.2 SOL

压缩帐户:~0.00004 SOL(便宜 5000 倍)

ZK 压缩的特征:

![]()

以下是根据 Light Protocol 提供的 ZK 压缩的核心特征:

1. 降低状态成本

通过压缩状态成本而不是昂贵的帐户状态成本,用户可以开发应用程序和产品以扩展到更多用户。

2. 已建立区块链的性能和安全性。

交易的执行仍然在 Solana 上进行,并且可以在 Solana 上获得数据,这保证了 Solana L1 的显著性能和安全性。

3. 可组合

程序可以在压缩和常规链上状态之间混合,允许与多个程序进行交互。Solana将允许压缩帐户、常规帐户和程序之间进行交互。

ZK 压缩概念:

Solana 帐户

![]()

https://www.alchemy.com/overviews/solana-account-model

Solana 帐户是存储空间,其中保存着不同的数据类型,例如Token、程序的状态变量(整数、字符串、公钥)和程序。每个帐户都有一个指定的所有者,并且单个所有者可以拥有许多不同的帐户。

ZK 压缩状态的存储是在压缩帐户而不是常规帐户上完成的。

压缩帐户与常规帐户有何不同:

可以通过压缩帐户的哈希来识别压缩帐户:每次写入压缩帐户都会更改其哈希。

可以将永久唯一 ID 分配给压缩帐户的地址 压缩账户存储在状态树中。然而,树的状态根(所有压缩账户的小型指纹)存储在链上账户空间中。

这使得在压缩账户上将状态存储为 Calldata 成为比常规昂贵的链上账户空间更合适的选择。

地址 & 哈希

地址字段对于压缩账户是可选的,因为确保新账户的地址是唯一的会增加额外的计算成本,而且并非所有情况都需要地址的唯一性属性。

一个压缩账户通过它的哈希来识别,无论它是否有地址。

只有当状态必须是唯一的时,才需要地址,例如对于 NFT。

状态树

状态树就像一个特殊的用于存储账户信息的档案柜。这个柜子使用一种二叉树结构,其中每个文件夹都保存着来自其下两个较小文件夹的哈希信息。在最顶部,有一个唯一的代码总结了柜子里的一切。这个代码,被称为根哈希,让你可以高效地检查柜子里的任何信息是否被篡改过。为了使事情更有条理,每个账户都有一个唯一的标签,该标签结合了它在柜子里的位置和一个代表账户本身的特殊代码。这种双层标签确保没有账户信息被混淆。

每个状态树都有一个链上的状态树账户,该账户仅存储树的最终根哈希和其他元数据。这允许协议有效地验证树中任何压缩帐户的有效性。因此,原始状态可以作为 Calldata 存储在更便宜的 Solana 分类账空间中,同时保留 Solana L1 的安全保证。

有效性证明

有效性证明是零知识证明 (ZKP),它可以证明压缩账户的存在。该协议在底层利用 ZKP 的生成和验证,因此你无需直接学习 ZK 即可使用 ZK Compression。

使用 ZK 压缩的交易的生命周期

ZK Compression 交易与 Solana 的交易完全兼容。

使用压缩账户构建交易涉及:

  • 指定账户:你告诉程序一个你想要访问的账户列表。

  • 证明有效性:你发送一种“证明”给程序。这个证明可以分为两部分:

    • 证明你拥有访问你列出的账户的权限(如密钥)。

    • 证明没有冲突的信息(如在创建新账户之前检查是否有空位)。

这样,程序可以确保一切都正确且安全地完成。

链上协议执行

要写入压缩状态,以下是它的发生方式:

  • 调用特殊程序:你正在使用的自定义程序 (CPI) 调用区块链上的另一个程序(Light System Program)来处理更新。

  • 检查和证明:这个特殊程序执行一些检查(如确保一切加起来是正确的)并验证你被允许进行更改(如显示一个密钥)。

  • 旧信息被移除:你正在更新的旧信息被移除。

  • 新信息被添加:新的、更新的信息以一种特殊的方式被添加,这种方式可以保持一切条理清晰。

  • 记录在分类账上:更新被记录在主区块链记录上。

  • 信息被传递:然后,RPC 节点解析交易和压缩状态,并通过 ZK Compression RPC API 向客户端提供读取状态。

整个过程确保了对特殊账户信息的安全有效的更新。

以下是 ZK 压缩如何工作的细分:

压缩:状态根(就像是所有压缩账户的小型指纹)存储在链上账户中。底层数据存储在更便宜的 Solana 分类账上。

零知识证明: 该协议使用零知识证明,即有效性证明,以确保压缩状态的完整性。

存储: 状态作为 Solana 中的调用数据存储,因此没有租金成本。

交易指定状态: 交易定义了它们访问的状态(无论是读取还是写入),并将其包含在交易负载中。

状态验证:

Solana 程序调用协议系统程序来更新压缩状态。

  • 协议验证状态。

状态更新: 在交易结束时,新状态作为日志记录在 Solana 分类账上。

Photon RPC 节点: 对日志进行索引,并通过 ZK Compression RPC API 使压缩账户状态可供客户端使用。

局限性

经 Light Protocol 声明,ZK Compression 目前有三大局限性

1. 更大的交易规模:Solana 的交易规模限制为 1232 字节。超过此限制的交易将失败。ZK Compression 通过两种方式增加你的交易规模:

  • 每个有效性证明 128 字节

  • 如果你从至少 1 个压缩账户读取,则每次交易都会产生恒定大小。

你必须发送你想要在链上读取/写入的账户数据。

2. 高计算单元使用率:更高的 CU 使用率会导致:

使用限制

每次交易的总 CU 限制为 1,400,000 CU,每个状态树的每区块写入锁定限制为 12,000,000 CU。

要求你的用户在 L1 拥塞期间提高他们的优先级费用

每当 Solana 的全局每区块 CU 限制(50,000,000 CU)达到时,验证器客户端可能会优先处理具有更高每 CU 优先级费用的交易。

3. 每次交易的状态成本:每次写入操作都会产生少量额外的网络成本。如果你预期单个压缩账户会积累大量的状态更新,则压缩账户的生命周期成本可能高于其未压缩的等效账户的成本,后者目前在创建时具有固定的每字节租金成本。

ZK 压缩在 Solana 上解决的问题

1. 高数据存储成本

问题:在链上存储大量交易数据可能既昂贵又低效。

解决方案:ZK 压缩通过将交易数据压缩为更小的证明来显著减少需要在链上存储的数据量,从而降低存储成本。

2. 网络拥塞

问题:高交易量会导致网络拥塞,从而减慢交易处理速度并增加费用。

解决方案:通过压缩数据,ZK 压缩减少了需要处理的数据量,从而缓解了网络拥塞并提高了整体吞吐量。

3. 可扩展性挑战

问题:随着区块链网络的增长,它们面临着可扩展性问题,这些问题阻碍了它们有效处理大量交易的能力。

解决方案:ZK 压缩通过减少交易的数据占用空间来增强可扩展性,从而允许网络每秒处理更多的交易。

4. 数据隐私问题

问题:公共区块链将交易数据暴露给所有网络参与者,从而引发隐私问题。

解决方案:ZK 压缩本质上包括零知识证明,该证明可用于通过证明交易的有效性而不揭示底层数据来增强隐私。

ZK 压缩技术在 Solana 上的优势

1. 成本效益:更低的存储和处理成本使与 Solana 网络交互对用户和开发人员来说更实惠。这可以吸引更多的应用程序和用户到该平台。

2. 提高吞吐量:通过减少数据大小,网络可以每秒处理更多的交易,从而提高整体性能和用户体验。这对于需要高速交易的应用程序至关重要,例如去中心化金融 (DeFi) 平台和游戏应用程序。

3. 增强隐私:ZK 压缩可以通过使用零知识证明来验证交易而不暴露敏感数据来增强隐私。这对于需要在交易中保密的用户有利,例如在私人金融交易或个人数据管理中。

4. 减少网络拥塞:通过最大限度地减少需要处理和存储的数据量,ZK 压缩有助于减少网络拥塞,从而缩短交易时间和降低费用,尤其是在需求高峰期。

5. 可扩展性:ZK 压缩通过使其能够有效处理越来越多的交易来支持网络的可扩展性。这使得网络更加健壮,并能够支持不断增长的 dApp 和用户生态系统。

6. 增加采用率:成本效益、吞吐量和隐私的改进可以吸引更多的开发人员和用户加入 Solana 生态系统,从而促进创新和增长。增强的可扩展性和更低的成本可以导致在各个行业中更广泛地采用。

7. 能源效率:通过减少处理和存储的数据量,ZK 压缩有助于降低验证交易的能源消耗。这与环境可持续性目标相一致,并且可以使网络对具有环保意识的用户和开发人员更具吸引力。

对 ZK 压缩的反应:

对于 ZK Compression 是一种 L2 协议(如 ZK-Rollups)还是一种 Layer-1 协议,各方反应不一。不同的关键人物对此采取了不同的立场。

网络资本的创始人 Justin Bons 在最近的一条推文中表示,ZK Compression 将为 Solana 带来“rollup 的所有优点,而没有任何缺点”。

以太坊社区成员兼投资者 Ryan Berckmans 表示,ZK Compression“实际上是一个 L2”。

对此,Solana 基金会的战略负责人 Austin Federa 反驳了这种说法,他认为,虽然 ZK Compression“与原生 Solana L1 状态不同”,但不能准确地称其为 Solana Layer 2。

他的评论得到了 Solana Labs 创始人 Anatoly Yakovenko 的支持,他表示,ZK Compression 提供了 Layer 2 网络的全部好处,而没有常规 L2 带来的复杂性,这些复杂性可能会阻碍其采用,例如额外的治理代币和跨链桥。

这场辩论也得到了以太坊创始人 Vitalik Buterin 的投入,他采取了更外交的立场,将 ZK Compression 定义为“无状态客户端架构”。

这一声明与 Solana 思想领袖的立场一致,并与 ZK Compression 应被定义为 Layer 2 网络的观点相矛盾。

比较分析:以太坊上的 zk-Rollups 和 Solana 上的 zk-Compression 之间的主要区别。

1. 基本概念

以太坊上的 zk-Rollups:

概念:将多个链下交易批量处理成一个单一证明,然后将该证明提交到链上进行验证。

示例:假设将 100 个交易批量处理在一起。链下生成一个 zk-SNARK 证明,并将其提交到以太坊主网。以太坊节点验证该证明,而不是单个交易,从而节省了计算资源。

Solana 上的 zk-Compression:

概念:使用零知识证明压缩交易数据,从而可以紧凑地表示多个交易。

示例:zk-Compression 不是单独存储 100 个交易,而是以压缩形式表示它们,从而在 Solana 的分类账上占据的空间显着减少。

2. 交易吞吐量

zk-Rollups:

吞吐量:通过减少链上处理的交易数量来提高交易吞吐量。

示例:如果以太坊本地处理 15 个交易每秒 (TPS),则 zk-Rollups 可以通过将大部分交易验证卸载到链下来潜在地将此提高到数百个 TPS。

Zk-Compression:

吞吐量:侧重于压缩交易数据,以减少存储和带宽需求。

示例:Solana 已经拥有高吞吐量(65,000+ TPS),可以通过压缩与这些交易相关的数据来有效地处理更多交易。

3. 数据存储

zk-Rollups:

数据存储:将批量交易证明和最少的数据量存储在链上。

示例:zk-Rollups 不是存储 100 个交易的数据,而是存储一个单一证明,从而大大减少了链上数据。

zk-Compression:

数据存储:压缩交易数据,从而大大减少了存储在链上的数据大小。

示例:可以将一组 100 个交易压缩为原始大小的一小部分,从而减少了 Solana 上的链上存储占用空间。

4. 安全假设

zk-Rollups:

安全性:依赖于 zk-SNARK 或 zk-STARK 的安全性,以确保该批交易的有效性。

示例:以太坊上 zk-Rollups 的安全性取决于密码学证明的可靠性,从而确保不包含任何欺诈性交易。

zk-Compression:

安全性:通过压缩中使用的零知识证明的鲁棒性来确保数据完整性和有效性。

示例:Solana 上的 zk-Compression 在压缩数据时也能保持交易有效性和数据完整性,从而防止数据篡改或丢失。

5. 实施复杂性

zk-Rollups:

复杂性:需要大量的计算资源来生成证明,尤其是对于 zk-SNARK 而言。

示例:实施 zk-Rollups 涉及到设置基础设施来批量处理交易、生成证明并将其提交到链上,这是一项计算密集型任务。

zk-Compression:

复杂性:更侧重于优化数据表示和存储,这可能对计算要求较低,但需要高效的压缩算法。

示例:开发 zk-Compression 方法涉及到创建可以有效压缩交易数据而不会丢失任何关键信息的算法。

6. 延迟和最终性

zk-Rollups:

延迟:通常较低,因为与链上单独处理所有交易相比,证明的生成和验证速度很快。

示例:zk-Rollups 中的交易实现更快的最终性,因为只需要在链上验证证明即可。

zk-Compression:

延迟:取决于压缩和解压缩过程的效率。

示例:如果压缩算法非常高效,则延迟将保持较低水平。但是,低效的算法可能会导致 Solana 交易处理延迟。

7. 成本效益

zk-Rollups:

成本:通过最大限度地减少链上数据来降低交易费用,但生成证明可能很昂贵。

示例:用户可以通过在链上提交更少的交易来节省 gas 费,但生成证明的初始成本可能很高。

zk-Compression:

成本:通过最大限度地减少存储和带宽需求来降低成本。

示例:压缩数据所需的存储和带宽更少,从而降低了维护 Solana 分类账的运营成本。

8. 用例

zk-Rollups:

用例:非常适合需要高交易吞吐量和安全性的应用程序,例如去中心化交易所和支付解决方案。

示例:Loopring 是以太坊上的一个去中心化交易所,它利用 zk-Rollups 来提供快速且低成本的交易。

zk-Compression:

用例:适用于需要高效数据存储和高吞吐量的应用程序,例如大型 dApp 和游戏平台。

示例:Solana 上的一个游戏平台可以使用 zk-Compression 来有效管理游戏内交易,而不会给网络带来负担。

9. 生态系统和采用

zk-Rollups:

生态系统:在以太坊生态系统中得到广泛采用,多个项目利用 zk-Rollups 进行扩展。

示例:以太坊上的 zkSync 和 Optimism 等项目使用 zk-Rollups 来增强可扩展性和用户体验。

zk-Compression:

生态系统:Solana 生态系统中新兴的技术,正在进行研究和开发。

示例:Solana 的高性能区块链继续探索 zk-Compression 技术,以进一步提高其令人印象深刻的可扩展性。

10. 技术

以太坊上的 zk Rollups:

零知识证明 (zk-SNARK):zk Rollups 使用 zk-SNARK(零知识简洁非交互式知识论证)将数百个链下交易捆绑到单个交易中,然后在链上发布。

有效性证明:每批交易都附带一个证明,用于验证所有交易的正确性。这些证明确保仅包含有效交易,而无需以太坊节点重新执行。

智能合约:以太坊智能合约验证有效性证明,确保状态转换是正确的。

Solana 上的 zk Compression:

zk-SNARK:与 zk Rollups 类似,zk Compression 也利用 zk-SNARK 来高效地压缩数据和交易。

数据压缩:zk Compression 侧重于减少需要在区块链上存储和传输的数据大小。

与 Solana 并行执行的集成:此技术利用 Solana 的高吞吐量和并行执行能力来优化压缩和解压缩过程。

11. 作为一种扩展解决方案

以太坊上的 zk Rollups:

可扩展性:通过在链下处理交易并仅在链上提交证明,zk Rollups 显着减少了计算负担,并增加了以太坊的交易吞吐量。

成本效益:交易捆绑在一起,减少了每个交易的 gas 费,因为成本在许多交易之间分摊。

安全性:安全性来源于以太坊的基础层,利用其去中心化和共识机制。

Solana 上的 zk Compression:

可扩展性:zk Compression 减少了需要存储和处理的数据量,从而增加了 Solana 区块链的整体吞吐量。

成本效益:通过压缩数据,它减少了存储和带宽成本,使得在 Solana 上运行应用程序更实惠。

与 Solana 架构的集成:利用 Solana 的高速架构,进一步增强其可扩展性和性能。

12. 它们的功能

以太坊上的 zk Rollups:

交易处理:捆绑和处理链下交易。

有效性证明生成:生成确保交易正确性的证明。

智能合约验证:使用以太坊智能合约来验证证明并更新状态。

Solana 上的 zk Compression:

数据压缩:压缩大量数据以优化存储和传输。

交易处理:通过减少数据大小来提高交易的效率。

与应用程序的集成:促进 Solana 应用程序更高效的数据使用。

13. Layer 关注点

zk Rollups 在单独的 Layer 2 上运行,

zk Compression 直接在 Layer 1(Solana 区块链)上运行。

14. 数据处理

zk Rollups 将交易处理移至链下

zk Compression 侧重于压缩链上数据存储。

以太坊上 ZK Rollups 的用例

1. 去中心化交易所 (DEX)

用例:提高 DEX 效率并降低成本。

真实应用:Loopring

Loopring 是一个利用 ZK Rollups 的 DEX 的典型例子。与传统的链上交易相比,它使用户能够以更低的费用和更快的结算时间交易加密货币。通过在链下处理交易并仅在链上发布零知识证明,Loopring 可以实现更高的吞吐量和更低的 gas 成本,从而使去中心化交易更易于访问和高效。

潜在用例:扩展到更复杂的金融工具。ZK Rollups 可以扩展到处理更复杂的金融工具,如期权和期货,从而为去中心化金融市场提供可扩展且具有成本效益的平台。

2. 支付和汇款

用例:促进快速且低成本的支付。

真实应用:

zkSync 是一种Layer2扩展解决方案,专注于实现低成本、高速交易。它允许用户以最低的费用发送和接收以太坊和 ERC-20 代币,使其成为日常支付和国际汇款的理想平台。通过利用 ZK Rollups,zkSync 实现了显着的成本节约并提高了交易速度。

潜在用例:

数字内容的微支付

ZK Rollups 可以为文章、视频和音乐等数字内容实现高效的微支付。内容创作者可以立即且以可忽略不计的费用收到小额支付,从而激励数字内容的创作和消费。

3. 游戏和 NFT

用例:扩展游戏内资产和 NFT 的交易。

真实应用:

Immutable X

Immutable X 是一种Layer2协议,它使用 ZK Rollups 为 NFT 和游戏应用程序提供可扩展且无 gas 费的环境。它允许创建、交易和转移 NFT,而不会产生通常与以太坊相关的较高的 gas 费用。这使其成为区块链游戏和 NFT 市场的热门选择。

潜在用例:与虚拟世界和元宇宙集成

随着虚拟世界和元宇宙越来越受欢迎,ZK Rollups 可以支持购买、销售和交易虚拟资产所需的大量交易,从而确保无缝且具有成本效益的用户体验。

4. 去中心化金融 (DeFi) 平台

用例:提高 DeFi 应用程序的可扩展性并降低成本。

真实应用:

DeversiFi

DeversiFi 是一个 DeFi 平台,它利用 ZK Rollups 为用户提供高速、低成本的交易,用于交易和其他金融服务。通过使用 ZK Rollups,DeversiFi 可以有效地处理大量交易,从而使 DeFi 更易于访问且用户友好。

潜在用例:跨链 DeFi 解决方案

ZK Rollups 可以促进不同区块链之间的互操作性,从而实现无缝的跨链 DeFi 应用程序。这可以创建一个更互联和高效的去中心化金融生态系统。

5. 身份和隐私解决方案

用例:提供保护隐私的身份解决方案。

真实应用:

Aztec

Aztec 是一种以隐私为中心的Layer2解决方案,它使用 ZK Rollups 在以太坊上实现机密交易。通过采用零知识证明,Aztec 确保交易详情保持私密,同时仍然可以验证。这对于需要保密性的应用程序特别有用,例如私人金融交易或敏感数据传输。

潜在用例:

去中心化身份管理

ZK Rollups 可用于创建去中心化身份管理系统,使用户能够在不泄露敏感信息的情况下证明自己的身份。这可以应用于各个领域,包括金融、医疗保健和政府服务。

6. 供应链管理

用例:提高供应链的透明度和效率。

潜在用例:货物的实时跟踪和验证

ZK Rollups 可用于跟踪和验证供应链中货物的移动,确保透明度和减少欺诈。通过使用零知识证明,公司可以提供可验证的产品真实性和来源证明,而无需披露敏感信息。

供应链参与者的去中心化市场

ZK Rollups 可以促进去中心化市场的创建,供应链参与者可以在其中直接交易商品和服务。这可以减少中介、降低成本并提高整体效率。

Solana 上 ZK 压缩的用例

1. 交易扩展

用例:

ZK 压缩可以显着减少单个交易的数据大小,从而允许更多交易放入每个区块。这种改进提高了 Solana 区块链的吞吐量,使其更高效并能够处理更大的交易量。

示例:

在去中心化金融 (DeFi) 平台中,每秒发生数千笔交易,ZK 压缩可以优化这些交易的处理和验证。例如,Serum(Solana 上的一个去中心化交易所 (DEX))等平台可以受益于减少的数据大小,从而缩短交易确认时间并降低延迟。

潜力:

未来的应用程序可以看到在高频交易系统和其他对交易速度和交易量至关重要的金融服务中得到广泛采用。通过减少计算负担,Solana 可以容纳越来越多的用户和交易,而不会影响性能。

2. 数据存储效率

用例:

ZK 压缩可以在链上压缩大量数据,从而使数据存储更高效且具有成本效益。此功能对于需要大量数据存储的应用程序(例如去中心化应用程序 (dApp) 和非同质化代币 (NFT) 平台)特别有益。

示例:

Metaplex(Solana 上的 NFT 市场)可以使用 ZK 压缩来减少 NFT 的元数据和交易历史的存储需求。这种减少不仅降低了存储成本,还加快了 NFT 数据的检索和显示速度。

潜力:

ZK 压缩可以使更复杂和数据密集的 dApp 在 Solana 上有效运行,从而为新型的去中心化服务(例如社交媒体平台、文件存储解决方案等)打开大门。

3. 隐私增强型交易

用例:

零知识证明本质上通过允许验证交易而不泄露底层数据来增强隐私。ZK 压缩可以与以隐私为中心的应用程序集成,确保交易详细信息保持机密,同时仍能得到验证。

示例:

基于 Solana 的隐私币可以使用 ZK 压缩来实现既轻量级又私密的机密交易。这种组合确保了区块链保持高性能,而不会牺牲用户隐私。

潜力:

未来的以隐私为中心的应用程序(例如私人投票系统或机密智能合约)可以利用 ZK 压缩来维护用户匿名性,同时确保高效且可扩展的运营。

4. 跨链互操作性

用例:

ZK 压缩可以促进 Solana 和其他区块链之间的高效数据传输,从而增强互操作性。通过压缩跨链交易中涉及的数据,该过程变得更快且资源消耗更少。

示例:

Wormhole(一种流行的跨链桥)可以使用 ZK 压缩来优化 Solana 和其他区块链(例如以太坊或 Binance Smart Chain)之间的资产和数据传输。这种优化降低了延迟并改善了整体用户体验。

潜力:

随着区块链生态系统的发展,跨链互操作性将变得越来越重要。ZK 压缩可以在确保不同网络之间实现无缝和高效的通信方面发挥关键作用,从而创建一个更互联和有凝聚力的区块链环境。

5. 智能合约效率

用例:

智能合约可能很复杂且数据量很大,通常需要大量的计算资源才能执行。ZK 压缩可以简化这些合约,从而减少其大小和执行时间。

示例:

Raydium(Solana 上的一个自动做市商 (AMM) 和流动性提供商)可以实施 ZK 压缩来优化其智能合约,从而加快交易处理速度并降低用户的 gas 费。

潜力:

随着智能合约变得更加先进,ZK 压缩可以实现具有增强功能和降低运营成本的更复杂的 dApp 的开发。这种潜力可以推动去中心化金融、游戏等领域的创新。

6. 可扩展的去中心化身份 解决方案

用例:

去中心化身份 (DID) 系统需要安全地存储和验证用户凭据。ZK 压缩可以通过减少凭据和验证过程的数据占用空间来增强这些系统。

示例:

Solana 上的一个去中心化身份平台可以使用 ZK 压缩来简化用户凭据的存储和验证。这种改进确保了身份验证既安全又高效,从而促进了广泛采用。

潜力:

可扩展的 DID 解决方案可以在在线身份验证、访问控制等领域得到广泛应用。通过利用 ZK 压缩,这些系统可以在保持轻量级和可扩展性的同时提供强大的安全性。

结论

zk-Rollups 和 zk-Compression 都为区块链可扩展性提供了引人注目的解决方案。Zk-Rollups 已经确立了自己作为扩展以太坊的强大Layer2解决方案的地位,可以为特定用例实现更快、更便宜的交易。然而,Solana 上的 zk-Compression 提出了一种独特的方法,有可能更具变革性。

以下是 zk-Compression 可能更具前景的技术的原因:

链上效率: Zk-Rollups 擅长链下处理,但 zk-Compression 从根本上解决了这个问题 — 链上数据存储。通过显着减少存储需求,zk-Compression 为更可扩展的基础层铺平了道路,有可能使整个 Solana 生态系统受益。

安全性和可组合性: 与由于链下排序器而引入额外安全考虑因素的 rollups 不同,zk-Compression 利用 Solana 的历史证明 (PoH) 共识机制的安全性。这保持了区块链固有的安全性,同时允许开发人员在压缩数据之上构建无信任,从而营造更具可组合性的环境。

简单性和成本效益: Zk-Rollups 通常需要复杂的架构,包括排序器和欺诈证明。zk-Compression 通过将所有内容保留在链上来简化该过程,从而可以减少构建在 Solana 上的项目的开发开销和运营成本。

面向未来的可扩展性: 虽然 Zk-Rollups 提供了显着的改进,但它们可能不是以太坊扩展难题的最终解决方案。随着以太坊使用的增长,即使是 rollup 批次也可能会变得拥塞。zk-Compression 通过解决链上存储限制,有可能随着 Solana 的采用而扩展,使其成为更面向未来的解决方案。

没有问题的 L2 的好处: ZK Compressision 具有来自 Layer-2 协议的大部分好处,而没有麻烦。

Zk Compression 提出了一种直接解决区块链可扩展性核心问题的方法。通过利用零知识证明进行链上数据压缩,zk-Compression 有可能在 Solana 以及潜在的其他 L1 区块链上开启高效且安全的区块链应用程序的新时代。

但是,这并不是说 zk-Rollups 没有优点。它们仍然是扩展以太坊和其他 L1 上特定应用程序的强大工具。区块链扩展的未来可能涉及这些技术的组合,其中 zk-Rollups 满足专门的用例,而 zk-Compression 形成高度可扩展的基础层的基础。

zk-Rollups 和 zk-Compression 在区块链技术中都很有前景。随着这些技术获得更多采用并在实际应用程序中实施,我们将更清楚地了解哪种方法在寻求真正可扩展和高效的区块链未来中占据主导地位。

参考文献:

Vitalik Buterin (2019). "https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/".

Alex Berezkowski (2018). "https://eprint.iacr.org/2023/1478".

"https://www.zkcompression.com/"

Light Protocol (2023).

Messari (2024) "https://messari.io/report/the-zk-everything-report".

Light Protocol. (2023). [Light Protocol](https://lightprotocol.com/)

https://www.techopedia.com/zk-compression-on-solana-explained-new-era-of-l1-scalability#:~:text=The%20Bottom%20Line-,What%20is%20ZK%20Compression%20on%20Solana%3F,by%20higher%2Dlevel%20cryptographic%20algorithms.

https://www.alchemy.com/overviews/solana-account-model

https://vitalik.eth.limo/general/2021/01/05/rollup.html

https://docs.lightprotocol.com/learn/core-concepts/compressed-account-model

https://ethereum.org/en/developers/docs/scaling/zk-rollups/

https://ethereum.org/en/whitepaper/#merkle-trees

https://coinmetrics.io/the-ethereum-gas-report/

https://hacken.io/discover/zk-rollups-explained/

https://hackernoon.com/the-rise-of-zero-knowledge-rollups-in-ethereum-scaling

https://www.coinlive.com/news/comparison-of-zk-technology-on-ethereum-and-solana

  • 原文链接: medium.com/@tobs.x/zk-te...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
tobs.x
tobs.x
https://medium.com/@tobs.x