重点整理
zk-SNARKs 与 zk-STARKs 是密码学工具,可让一方在不揭露资讯本身的情况下向另一方证明其知道某些资讯;这利用了称为零知识证明(zero-knowledge proofs)的概念。
zk-SNARKs 需要初始的可信设定以生成公开参数,而 zk-STARKs 是透明的,并消除了这项需求,仅使用可公开验证的随机性。
与 zk-SNARKs 相比,zk-STARKs 会产生更大的证明大小;由于它们依赖杂凑函数(hash functions)而非椭圆曲线密码学,因此被认为对潜在的量子运算威胁更具抵抗力。
如今,这两种技术已被广泛用于区块链的扩容,为能够处理大量交易并向以太坊主网提交单一精简证明(compact proof)的 Layer 2 网路提供动力。
像 PLONK 这类较新的 SNARK 设计,透过支援通用设定(universal setup)来降低对可信设定的疑虑,这种设定可适用于许多不同程式。更新较近的系统(包含 Plonky2、Plonky3 以及 Circle STARKs)仍持续推动该领域向前。
简介
zk-SNARKs 与 zk-STARKs 是零知识证明(ZK proofs)的两种实作。零知识证明是一种加密方法,能让一方在不分享底层资料的情况下证明某个叙述为真。两者已成为现代区块链在处理隐私与扩容方面的核心技术。
最初,人们对这些技术的兴趣来自于加密货币中的隐私应用。随著时间推移,最具影响力的使用案例已转向扩容。现在,ZK 证明支撑了以太坊上一些最大的 Layer 2 网路,使交易能更快、更便宜,同时不牺牲安全性。
本文将说明 zk-SNARKs 与 zk-STARKs 的运作方式、它们的差异,以及它们在实务中如何被使用。
什么是零知识证明(Zero-Knowledge Proofs)?
零知识证明可让证明者说服验证者:一个叙述为真,同时在不揭露任何内容(除了「该叙述为真」这件事之外)下,验证者仍能相信。经典的例子是阿里巴巴的山洞(Ali Baba's Cave):想像一个中间有魔法门的环形山洞。Alice 宣称她知道打开门的秘密字句。
Bob 站在外面,Alice 进入后再出现。接著,Bob 告诉她要从哪个出口出来。若 Alice 能够持续地从正确的出口出现,Bob 就会相信她确实知道秘密,即使 Bob 本人从未听到她说出字句。这个过程可以重复进行,以降低她因运气猜对的机率。
ZK 证明把这个概念转化成用于验证计算、验证身分(authenticate identities)、以及确认交易有效性的密码学协议,同时不会暴露底层的资讯。
什么是 zk-SNARKs?
zk-SNARK 是 zero-knowledge succinct non-interactive argument of knowledge 的缩写。Zcash 是最早部署 zk-SNARKs 的加密货币专案之一,使用它们让网路能在不揭露交易金额或地址的情况下验证私密交易。
「Succinct(精简)」表示即使底层运算非常复杂,证明仍然很小且可快速验证。「Non-interactive(非互动)」表示证明者与验证者不需要交换多则讯息;证明者产生证明,验证者则在单一步骤中完成检查。这使得 zk-SNARKs 在区块链使用案例中变得实用。
传统的 zk-SNARKs 需要可信设定(trusted setup)阶段。这包含生成一组共用的公开参数,供证明者与验证者共同使用。若在这个设定过程中使用的随机性(randomness)曾经被泄露,就可能有人制造出看似有效的诈欺证明。Zcash 透过多方计算(multi-party computation)仪式来解决:多位参与者各自贡献随机性;只要至少有一位参与者销毁了其所属份额,设定就仍然是安全的。
较新的 SNARK 设计,最具代表性的是 PLONK(2019),使用通用且可更新的可信设定。这表示同一套设定可以用于许多不同的程式,而不需要为每一个电路(circuit)都进行一次独立的仪式。这能大幅降低对可信设定的实务性顾虑。自那之后,证明系统的生态也持续演进,例如 Plonky2 与 Plonky3 结合了类 SNARK 的精简性与类 STARK 的透明性特质,而 Circle STARKs 也为特定类型的运算提供了进一步的效率提升。
什么是 zk-STARKs?
zk-STARK 是 zero-knowledge scalable transparent argument of knowledge 的缩写。所谓「transparent(透明)」是关键差异:zk-STARKs 不需要可信设定。他们依赖从杂凑函数产生、且可公开验证的随机性。这代表任何人都能在不需要信任某群仪式参与者的情况下验证设定参数。
zk-STARKs 使用的是具抗碰撞性的杂凑函数(collision-resistant hash functions),而不是多数 SNARK 设计所依赖的椭圆曲线密码学。这使得它们理论上可能更能抵抗来自量子电脑的攻击,因为量子电脑可能破坏基于椭圆曲线的方案。一般而言,杂凑函数被认为对量子攻击更有抗性。
取舍在于证明大小。zk-STARK 的证明大小明显大于 zk-SNARK,这会增加需要在链上发布的资料量。在某些情境下,这可能转化为更高的交易成本;不过研究人员仍持续寻找方法来缩小证明大小。
zk-SNARKs vs. zk-STARKs:关键差异
这两项技术用于达成相似目的,但做了不同的取舍。zk-SNARKs 能产生更小、可更快速验证的证明,且拥有更成熟的工具生态。它们主要缺点是需要可信设定,这会引入协调与信任成本;但较新的设计已经降低了这种问题。
zk-STARKs 完全消除了可信设定,使其更容易审计与部署。它们的证明较大,但被认为对潜在的量子运算进展更具未来性(future-proof)。Starknet 这个重要的以太坊 Layer 2 是建立在 zk-STARKs 上。ZKsync 使用称为 Boojum 的自订证明系统,借鉴了 SNARK 与 STARK 的设计原则,而不是干净地只归于其中一类。Polygon zkEVM 则主要建立在基于 SNARK 的证明之上。
在 2026 年的大多数实务区块链应用中,这两种技术都具有可行性。选择通常取决于特定的实作需求、工具可用性,以及团队对各自系统的熟悉程度。
zk-SNARKs 与 zk-STARKs 的使用案例
目前最重大的使用案例是第二层(Layer 2)的扩容。ZK-rollup 会在链下将大量交易进行批次打包,然后向以太坊主网提交一个单一的 ZK 证明,以证明所有交易都是有效的。这使得网路能以更低的成本处理远更多的交易,同时不会削弱底层(base layer)的安全保证。
例如 ZKsync 与 Starknet 这类专案,会在其各自的证明系统之上运行基于 ZK 的 Layer 2 网路。zkEVM 技术的开发,让 ZK 证明可以实用地用于一般用途的智慧合约执行,且可与以太坊虚拟机(EVM)相容。到 2026 年,多个已上线的 zkEVM 网路正在投入生产使用。
除了扩容之外,ZK 证明也被用于保护隐私的交易(例如 Zcash)、去中心化身分系统(使用者可以在不揭露个人资料的情况下证明属性)、以及可验证的投票系统。相较于乐观式 rollup,ZK-rollup 的优点是不需要为提款到主网预留 7 天的挑战期。实务上,生成证明仍需要一些时间,因此提款并非即时,但由于不存在挑战视窗,最终性(finality)可以快得多。
常见问题(FAQ)
zk-SNARKs 与 zk-STARKs 的差异是什么?
zk-SNARKs 会产生更小、可更快速验证的证明,但需要可信设定(trusted setup)阶段。zk-STARKs 不需要可信设定,并被认为对量子攻击更有抗性,但会产生较大的证明大小。两者都已用于当今主要的区块链 Layer 2 网路。查看我们的零知识证明(zero-knowledge proof)术语表条目,以获得快速参考。
为什么 zk-SNARKs 需要可信设定?
zk-SNARKs 要能运作,需要一组共用的公开参数。这些参数会在设定(setup)阶段透过秘密随机性(secret randomness)产生。若这些随机性被暴露,某人就可能创造看似有效的假证明。较新的 SNARK 设计(例如 PLONK)使用通用设定(universal setup),能大幅降低所需的信任程度。
zk-STARKs 比 zk-SNARKs 更安全吗?
zk-STARKs 完全移除了可信设定,并使用基于杂凑函数(hash-function-based)的密码学;相较于大多数 SNARK 系统中依赖的椭圆曲线密码学(elliptic curve cryptography),它被认为对量子运算威胁更有抵抗力。究竟哪个更「安全」取决于具体的威胁模型(threat model)与实作细节。
哪些区块链使用 zk-SNARKs 或 zk-STARKs?
Zcash 使用 zk-SNARKs 来进行隐私交易。Starknet 使用 zk-STARKs 来驱动其以太坊 Layer 2。ZKsync Era 使用自订的证明系统(Boojum),结合了两种做法的元素。Polygon zkEVM 使用基于 SNARK 的证明来实现 ZK-rollup 的扩容。ZK 证明系统是区块链基础建设中正在被高度积极开发的领域之一。
zk-proofs 能用在加密货币以外的领域吗?
可以。ZK 证明在隐私保护的身分验证(例如在不揭露护照的前提下证明年龄或国籍)、安全的投票系统,以及已验证的资料查询(authenticated data queries)等方面都有应用。不过,截至 2026 年,最成熟且被广泛部署的使用案例仍主要存在于区块链网路中。
结语
zk-SNARKs 与 zk-STARKs 代表了零知识证明技术的两种重要实作。它们起初多半与加密货币中的隐私交易有关,而今 ZK 证明已扩展到 Layer 2 扩容、身分系统,以及一般计算的验证。
这两种技术都持续快速演进。证明大小正在缩小、工具链也在成熟;更新的证明系统也让 SNARK 与 STARK 两个分类的界线变得更模糊。理解它们之间的取舍,特别是可信设定、证明大小与量子抗性方面的差异,能帮助读者更清楚地追踪这个领域的最新发展。
延伸阅读
什么是零知识证明(Zero-Knowledge Proof)?它如何影响区块链?
什么是 ZK-Rollups?这项第二层扩容技术是如何运作的?
乐观式(Optimistic) vs 零知识(Zero-Knowledge)Rollups:差异是什么?
什么是 zkEVM?它如何强化以太坊生态系?
声明:本内容仅以「现况(as is)」提供给您作一般资讯与教育用途,不提供任何形式的声明或保证。内容不应被解读为金融、法律或其他专业建议,也不旨在推荐购买任何特定产品或服务。您应自行向合适的专业顾问寻求建议。若本内容由第三方贡献者提供,请注意其中所表达的观点属于该第三方贡献者,并不必然反映 Binance Academy 的观点。数位资产价格可能波动。您的投资价值可能上升或下降,而您可能无法取回投资金额。您需自行承担您的投资决策责任,且 Binance Academy 不对您可能产生的任何损失负责。如需更多资讯,请参阅我们的使用条款(Terms of Use)、风险警示(Risk Warning)以及 Binance Academy Terms。
