# zksnark 和zkstark

By [scarlet](https://paragraph.com/@scarlet-2) · 2022-07-18

---

zkSNARKs和zkSTARKs是非交互式零知识证明的实现，这意味着证明者prover不需要向验证者 verifier披露数据。非交互式意味着证明者prover只需要向验证者 verifier发送一条信息，而不是来回的通信。这使得区块链有可能利用ZK证明，因为区块链是单向的。一旦区块产生，它就是不可改变的。 目前有两种零知识证明的方法正在用区块链技术实现：ZKSNARKs和ZKSTARKs。在以太坊rollups领域，有两个领导者：ZkSync使用zkSNARKs，而StarkWare使用zkSTARKs。除了这两个，还有Loopring、Aztec、Polygon Hermez（SNARKs）、Polygon Miden（STARKs），以及更多。你可以在zkrollups.xyz上找到一份完整的清单。无论SNARKs与STARKs的实现方式如何，所有的rollups都是为了解决同样的问题，应该少认为是竞争对手，多认为是合作者，都是通过不同的方式帮助推进和扩展以太坊

区别

stark是“Scalable Transparent ARgument of Knowledge 缩写 强调可扩展性，透明度同样是非交互式的

snark 是Succinct Non-interactive ARgument of Knowledge 缩写 强调简洁，非交互式

可扩展性 scaling比较

众所周知，zkSTARKs具有明显的可扩展性和快速性，使得它们对于大量的证明来说更加有效。具有讽刺意味的是，SNARKs的字节大小要小得多，但它们无法像STARKs那样有效地扩展。这最终会使STARKs最终在链上推送时的交易处理成本降低。STARKs也能够更快地生成证明，但与SNARKs相比，"验证 "速度较慢。STARK的这个缺点意味着，如果没有大量的证明产生（低吞吐量），将导致证明的等待时间更长，以分摊大量的成本。由于上述一些原因，许多围绕DeFi、支付和游戏应用构建产品的团队都专门使用STARKs来更有效地计算数据

隐私 privacy

SNARK证明的核心用例之一是围绕其保护隐私的能力。使用SNARKs产品的一个很好的例子是Dark Forest，这是一个建立在以太坊上的产品。有趣的是，在这个宇宙中，玩家的所有动作都是在链上公开进行的，但由于他们使用了zkSNARKs，所有的动作都被隐藏起来，不被其他玩家发现。这使得全新类型的游戏应用可以被创建。SNARKs的其他用例是围绕身份、支付、DeFi，甚至是提供 "资产证明 "的能力。虽然STARKs可以用于隐私，但目前围绕隐私的大多数开发都集中在SNARKs上。

设置 set up

一般来说，zkSNARKs需要一个可信的设置，但这取决于对其实现的权衡，你可能不一定需要它们。STARKs不需要这些，而且也是量子安全的（尽管后者目前还不是很有用）。尽管量子安全目前没有什么问题，但它在未来有可能成为一个重要的突破

---

*Originally published on [scarlet](https://paragraph.com/@scarlet-2/zksnark-zkstark)*
