{"content":{"title":"零知识证明| 什么是ZK-STARK以及有哪些技术优势？","body":"为了方便大家阅读，可预览目录\r\nPart 1：什么是ZK-STARK？\r\nPart 2：ZK-STARKs与ZK-SNARKs\r\nPart 3：ZK-STARKs有什么好处？\r\nPart 4：ZK-STARKs有哪些缺点？\r\nPart 5：什么是递归ZK-SNARK？\r\nPart 6：递归 ZK-SNARK 与常规 ZK-SNARK 有何不同？\r\n\r\n在之前的零知识证明系列文章中，我们详细介绍了ZK-SNARKs技术及其使用优缺点，本期内容我们将继续介绍另外两种零知识证明类型ZK-STARK和递归ZK-SNARK？\r\n\r\n## 什么是 ZK-STARK？\r\n\r\nZK-STARK 是 Zero-Knowledge Scalable Transparent Argument of Knowledge 的缩写。就像 ZK-SNARKs 一样，ZK-STARKs 表示一个声明是有效的，而不透露任何关于声明本身的信息。 \r\n\r\n除了一些差异外，STARK 与 SNARK 具有相同的属性。关于SNARK的文章可参考往期（超链接）。基于 STARK 的有效性证明是使用一条对验证者隐藏的信息生成的。STARK 还可以在不泄露输入的情况下验证交易的正确性。\r\n\r\n## ZK-STARKs 与 ZK-SNARKs\r\n\r\nZK-STARKs 的主要区别在于它们的可扩展性和透明性： \r\nZK-STARK 被认为是透明的，因为它可以在没有公共参考字符串 (CRS：Common Reference String ) 的可信设置的情况下工作。相反，STARK 协议使用可公开验证的随机性来建立证明者和验证者之间的交互。 \r\n\r\nZK-STARK 是可扩展的，因为证明和验证复杂性规模与计算复杂性呈拟线性关系。使用 ZK-SNARKs，证明和验证的复杂性规模与底层计算呈线性关系。\r\n这仅仅意味着当我们需要验证的计算量更大时，ZK-SNARK 协议需要比 ZK-STARKs 更多的时间来生成和验证证明。这就是为什么 STARKs 更适合处理大量交易的应用程序。 \r\n\r\n![image.png](https://img.learnblockchain.cn/attachments/2023/01/8iQMlf2o63bbf0f314187.png)\r\n\r\n资料来源：Source: Adam Luciano\r\n\r\n## ZK-STARKs 有什么好处？\r\n\r\n使用 ZK-STARKs 有四个主要好处：不需要可信设置，它们是可扩展的，它们为用户提供最大的吞吐量，并且它们有高安全性保证。\r\n\r\n**1. 无需可信设置**\r\n\r\nZK-STARK 不需要可信设置即可运行，而是依赖于公共随机性。这减少了用户的信任假设并提高了基于 STARK 的协议的安全性。 \r\n\r\n**2.可扩展的属性 **\r\n\r\n与 SNARK 相比，STARK 的计算和验证速度更快。更重要的是，即使底层计算的复杂性呈指数级增长，ZK-STARKs 的证明和验证时间仍然很短。 \r\n\r\n**3.最大吞吐量 **\r\n\r\n与 SNARKs 一样，STARKs 可以通过启用安全且可验证的链下计算来扩展区块链。 提交到 L1 链的单个 STARK 证明可以验证在主链外进行的数千笔交易。因此，几个备受瞩目的 ZK rollup 项目使用 ZK-SNARKs 来证明链下计算的完整性。 \r\n\r\n**4.更高的安全保障 **\r\n\r\nZK-STARKs 使用抗碰撞哈希（collision-resistant hashes）进行加密，而不是 ZK-SNARKs 中使用的椭圆曲线方案（elliptic curve schemes ）。这被认为可以抵抗量子计算攻击，使其比 SNARK 中使用的椭圆曲线更安全。\r\n\r\n## ZK-STARK 的缺点是什么？\r\n\r\n使用 ZK-STARKs 的两个主要缺点是它们使用更大的证明大小，并且在区块链空间中采用该技术的较少。\r\n\r\n**1. 更大的证明尺寸 **\r\n\r\n虽然 STARKs 提供了更快的证明，但缺点是这些证明与基于 SNARK 的证明相比更大。这使得 STARK 证明在以太坊上的验证成本更高，因为计算更大的证明会产生更高的 gas 费用。\r\n\r\n**2.采用率较低 **\r\n\r\nSNARKs 是零知识技术在区块链中的第一个实际应用，这就是为什么它们比 STARKs 拥有更多的市场份额。大多数 ZK rollups 使用 ZK-SNARKs，基于 SNARK 的 ZK 证明的开发者生态系统和工具更大。 \r\n\r\n尽管 ZK-STARKs 也有知名的支持者，包括以太坊基金会，但他们的采用率较低。因此，开发人员可能会发现使用 STARKs 构建 ZK 项目的支持和工具较少。 \r\n\r\n## 哪些项目使用 ZK-STARKs？\r\n\r\n**StarkNet**\r\n\r\n作为以太坊上的 L2 网络运行的通用 ZK rollup。StarkNet 允许去中心化应用程序 (dApps) 实现无限的可扩展性，而不会损害以太坊的去中心化和安全性。 \r\n\r\n**dYdX**\r\n\r\n基于以太坊的 ZK rollup 项目（兼作去中心化交易所）为加密货币用户和交易者提供快速且低成本的交易、借贷。dYdX 使用 STARK 证明作为其安全机制的一部分，保证用户的资金安全。 \r\n\r\n**Polygon Miden**\r\n\r\n具有 EVM 兼容性的基于 STARK 的 ZK rollup。虽然仍在生产中，但 Polygon Miden 将成为第一个与 EVM 兼容的 ZK-STARK 协议，并允许开发人员迁移以太坊原生 dApp 以享受 L2 网络上的可扩展性。 \r\n\r\n## 什么是递归 ZK-SNARK？\r\n\r\n递归 SNARK （Recursive SNARK）系统为不同的交易区块并行生成证明，并将它们聚合成一个提交到主区块链的单个区块证明，这意味着一个 SNARK 可以验证其他 SNARK。\r\n\r\nL2 汇总仍然在以太坊上提交一份有效性证明。然而，这种“递归证明”会验证多个 L2 区块中的交易，一旦链上合约接受提交的证明，所有交易都会生效。 \r\n\r\n \r\n![image.png](https://img.learnblockchain.cn/attachments/2023/01/o7AA9ANi63bbf1aa197d8.png)\r\n\r\n资料来源：Matter Labs\r\n\r\n## 递归 ZK-SNARKs 解决了什么问题？\r\n\r\n递归ZK- snarks通过将多个L2证明包含在提交给L1链的单个证明中，极大地增加了可以用ZK证明完成的交易数量，这目前受到以太坊12-14秒出块时间的限制。\r\n区块时间是指在以太坊上挖掘一个新的交易区块需要多长时间。ZK rollups 每个区块只能提交一笔链上交易（以及相应的有效性证明），限制了它们可以处理的交易数量。 \r\n\r\n## 递归 ZK-SNARK 与常规 ZK-SNARK 有何不同？\r\n\r\n递归 ZK-SNARK 不同于普通的 ZK-SNARK，因为递归 ZK-SNARK 可以通过将为不同 L2 块生成的 SNARK 组合成一个提交给 L1 链的有效性证明来验证多个交易块。 \r\nZK rollups 在发布到主区块链之前为每批交易创建一个 SNARK 证明，并且单个 SNARK 证明只能验证在 L2 rollup 上进行的一个交易块。 \r\nZK-SNARKs 可以在不使用原始输入的情况下验证已被常规 ZK-SNARKs 验证过的交易。因此，链上智能合约可以验证更大的链下计算集，而无需运行多个 SNARK 作为输入。 \r\n\r\n零知识证明已经从隐私保护技术发展成为下一个扩展技术的前沿。随着ZK rollup的爆发，可以肯定地说，ZK-SNARKs, ZK- stark和递归SNARKs将在扩展以太坊的驱动中发挥重要作用。\r\n\r\n\r\n原文指路\r\nhttps://www.alchemy.com/overviews/snarks-vs-starks"},"author":{"user":"https://learnblockchain.cn/people/12284","address":null},"history":null,"timestamp":1673261598,"version":1}