撰文:Kyrian Alex
翻译:白话区块链
长期以来,区块链技术中的扩展解决方案需求一直是一个备受争议的话题。众所周知,随着区块链网络的扩展,每秒交易数(TPS)成为一个关键问题。目前像比特币和以太坊这样的主要区块链的容量不足以处理广泛采用所需的交易量。
例如,比特币每秒处理约 7 笔交易,而以太坊处理约 15 笔。相比之下,Visa 平均每秒处理约 1,700 笔交易。没有扩展解决方案,区块链无法与传统金融系统竞争并实现大规模采用。
那么,如果我们看一下实际交易的成本呢?
实际情况也是如此…随着越来越多的人同时使用区块链,交易费用变得非常高昂,高峰时段更是会阻碍用户,并使微小交易变得不切实际。例如,在 2020 年和 2021 年 DeFi 繁荣期间,以太坊的 Gas 费用飙升,使得即使是小额交易也变得极其昂贵。
那么,我们如何解决这个问题呢?我们通过引入扩展解决方案来解决这个问题。
扩展解决方案是一种旨在提高区块链网络容量和效率的技术,以处理更高交易量的设计。扩展解决方案的主要目标是增加网络的吞吐量,即每秒交易数(TPS),同时保持或改进安全性、去中心化和成本效益。
扩展解决方案对于降低交易成本至关重要,使区块链技术能够被更广泛的用户接受并用于日常使用。缓慢的交易时间和高昂的费用会降低用户体验,阻碍新用户的加入,并限制去中心化应用(DApps)的可用性。
为了吸引和留住用户,区块链网络必须提供无缝、快速和具有成本效益的交易,这可以通过有效的扩展解决方案实现。
今天,我们将探讨不同网络如何应对这些挑战,特别是比较以太坊上的 zk Rollups 和 Solana 上的 zk Compression。这两种技术都旨在提升可扩展性,但它们通过不同的方式实现这一目标,反映了各自生态系统独特的设计理念和优先事项。
1、什么是 ZK Rollups?
ZK Rollups 是一种 L2 扩展解决方案,通过将计算和状态迁移到链下,同时将交易数据打包成批量存储在链上,从而增加了区块链的可扩展性。
它们利用称为零知识证明的密码学证明来证明这些打包交易的有效性,而不泄露实际数据。这样一来,在以太坊主网保持安全的同时,能够在侧链上实现更快速和更便宜的交易。
它们是如何工作的?
一个顺序器将交易批量处理在链外。
Sequencer 生成 zk-SNARK(简洁非密码知识证明)证明,这是一种紧凑的密码学证明,验证交易的有效性而不揭示所有细节。
证明和交易数据被提交到以太坊主网,任何人都可以在主网上验证证明,确保交易的有效性。 在有争议时,任何人都可以提交原始交易数据进行链上结算,这利用了以太坊的强大安全性。Rollup 包括一个加密证明(具体来说是零知识证明),用于验证捆绑交易的正确性。以太坊网络只需验证这个证明,而不是每笔交易,从而大大减少了计算负载。 交易在链下被分组到 Rollup 中。 生成零知识证明以确认聚合交易的有效性。 证明和最小的摘要数据被提交到以太坊主网进行验证。 成功验证后,以太坊主网上的状态将更新以反映 Rollup 交易。
2、什么是 ZK Compression?
ZK Compression 是一种在 Solana 区块链上用来减少数据存储成本的技术,它仅在链上存储压缩数据的「指纹」(哈希),同时保持数据的隐私性。
ZK Compression 中的「ZK」代表零知识,表明压缩数据的隐私性得到保护。这种方法帮助显著减少了需要存储在链上的数据量,从而降低了开发者的存储成本。
ZK Compression 是如何完全发挥作用的?
ZK Compression 通过利用零知识(ZK)技术来降低 Solana 上的状态成本,这指的是在区块链上存储和维护数据(如账户余额和智能合约存储)的成本。
以下是其工作原理的详细分解:
每个账户的数据被压缩为一个唯一的哈希值。这个哈希值不仅包括账户的信息,还包括其在状态树中的位置,确保其唯一性。这个哈希值存储在状态树的叶节点中。
状态树是一种类似于 Merkle 树的数据结构,其中每个节点是其子节点的哈希。状态树汇总了所有账户信息和数据,将其压缩成一个称为状态根的顶级哈希值。
状态根是状态树的顶级哈希值,存储在区块链上。这个根作为整个状态树的指纹,确保了树中所有数据的完整性和完整性。
详细的账户数据不会直接存储在区块链上。相反,它作为调用数据存储在更便宜的 Solana 账本空间中。只有状态根和一些基本的元数据存储在链上,大幅降低了存储成本,同时保持数据安全性。
为了确保压缩数据的完整性和真实性,ZK Compression 使用零知识证明(ZK-proofs)。这些证明验证数据的准确性和完整性,而不揭示其实际内容,确保即使是压缩的数据也能保持安全和可验证性。
请注意,ZK Compression 不是一个 L2 解决方案,而是一种升级,旨在提高 Solana 上数据存储的效率。
ZK Compression 不同于 L2 滚动解决方案,因为在 ZK Compression 中,交易执行和状态存储直接在第一层(L1)链上进行,即在 Solana 上进行。
关键区别在于执行和状态的管理位置。在 zk Rollups 中,这些过程发生在一个辅助链上,该链定期向主 L1 链发送承诺和证明。相比之下,ZK Compression 将所有执行和状态保留在 Solana 本身,而不是在一个单独的链上。
这种根本区别意味着,虽然 ZK Rollups 将一些过程转移到第二层以增强可扩展性,但 ZK Compression 直接在主区块链上优化数据存储,而不会为执行创建单独的层。
3、二者区别
zk Rollups 和 zk Compression 在以太坊和 Solana 上的关键区别根本上体现在它们增强区块链可扩展性和优化数据存储的方法上:
1)执行和状态管理:
zk Rollups:交易执行和状态存储发生在一个辅助链上,与以太坊主网分开。该辅助链定期向以太坊主网发送承诺和证明。
zk Compression:所有交易执行和状态存储直接在第一层(L1)链上进行,即在 Solana 链上。这里没有涉及单独的辅助链。
2)链上数据处理:
zk Rollups:仅将加密证明和最小的摘要数据提交到以太坊主网进行验证。这种方法最大程度地减少了主网的计算负载。
zk Compression:仅在 Solana 区块链上存储压缩数据的「指纹」(哈希)和相应的 ZK 证明。这显著减少了链上存储的数据量,从而降低了存储成本。
3)隐私和完整性:
zk Rollups:利用 zk-SNARK(简明非密码学知识论证)证明确保交易的有效性,同时不泄露详细的交易数据。这种方法在保护以太坊主网的隐私的同时确保安全性。
zk Compression:结合数据压缩和 ZK 证明,优化区块链存储,同时数学上证明压缩数据的完整性。它确保解压后的数据与原始数据匹配,同时不揭示内容,从而保护隐私。
4)解决方案的性质:
zk Rollups:被视为第二层(L2)扩展解决方案,因为它们将交易执行和状态管理转移到次级链上,增强了可扩展性并降低了主网的成本。
zk Compression:不被归类为第二层滚动解决方案,而是一种升级,直接在 Solana 的第一层链上提高数据存储效率。它优化了存储成本,而无需引入单独的执行层。
4、结论
综上所述,这两种扩展方法都强调了在保持区块链网络核心原则的同时,确保网络可持续增长的平衡方法的重要性。
在这方面,Solana 在采用先进的扩展解决方案方面取得了显著成就,为区块链行业的广泛采用和创新铺平了道路。