0

0

ZK-SNARKs和ZK-STARKs有什么区别?三分钟带你搞懂两者的区别

下次还敢

下次还敢

发布时间:2025-09-02 09:22:54

|

301人浏览过

|

来源于php中文网

原创

零知识证明(Zero-Knowledge Proofs)允许一方(证明者)向另一方(验证者)证明一个陈述是正确的,而无需透露该陈述之外的任何信息。在区块链和隐私计算领域,ZK-SNARKs和ZK-STARKs是实现这一目标的两项关键技术。它们都属于零知识证明,但在其底层设计、安全假设和性能表现上存在显著差异。

zk-snarks和zk-starks有什么区别?三分钟带你搞懂两者的区别 - php中文网

ZK-SNARK代表“零知识简洁非交互式知识论证”,而ZK-STARK代表“零知识可扩展透明知识论证”。这两个名称本身就揭示了它们的一些核心特性。理解它们之间的不同,有助于我们了解它们在不同应用场景中的适用性。

底层密码学假设的差异

1、ZK-SNARKs的构建通常依赖于非对称密码学中的特定难题,例如椭圆曲线配对(Elliptic Curve Pairings)。其安全性建立在诸如离散对数问题等数学难题的计算复杂性之上。这意味着它们的安全性依赖于特定的、相对较新的密码学假设,这些假设尚未像一些经典密码学工具那样经过长时间的考验。

2、ZK-STARKs的构建则基于更简单和更成熟的密码学工具,即抗碰撞哈希函数(Collision-Resistant Hash Functions)。其安全性依赖于哈希函数的随机性和抗碰撞性。这种对称密码学基础使其安全假设更少,也更为保守。由于哈希函数被认为是抗量子计算攻击的,因此ZK-STARKs天然具备抗量子攻击的能力。相比之下,基于椭圆曲线的ZK-SNARKs在理论上容易受到未来量子计算机的攻击。

透明性与可信设置

1、大多数类型的ZK-SNARKs需要一个被称为“可信设置”(Trusted Setup)的初始阶段。在这个阶段,会生成一组公共参数,用于后续的证明生成和验证。这个过程会产生一个秘密值,通常被称为“有毒废料”(Toxic Waste)。这个秘密值必须被安全地销毁,因为任何掌握它的人都可以伪造无效的证明,从而破坏整个系统的安全性。这个初始设置的信任要求是SNARKs的一个关键特征和潜在的中心化风险点

2、ZK-STARKs中的“T”代表“透明”(Transparent),这意味着它们完全不需要可信设置。STARKs的证明和验证过程所需的所有随机性都是公开可验证的,从协议本身公开的信息中提取,没有任何隐藏的秘密参数。这种透明性消除了对一小群参与者诚实执行设置仪式的信任需求,使得整个系统更加去中心化和无需信任

性能与效率的权衡

1、在证明大小方面,ZK-SNARKs拥有巨大的优势。它们的证明(Proof)非常小,通常只有几百个字节,并且其大小是恒定的,不会随着被证明计算的复杂性增加而显著变大。这种“简洁性”(Succinctness)使得它们非常适合在存储空间和带宽有限的链上环境中使用。

2、ZK-STARKs的证明则要大得多,通常在几十到几百KB之间。其证明大小会随着计算复杂度的增加而呈对数级增长。虽然仍然比原始计算数据小得多,但相较于SNARKs,它们在存储和传输上会占用更多的资源。

3、在证明生成时间(Prover Time)上,对于非常复杂的计算,ZK-STARKs的证明生成速度通常更快。证明者的计算开销与计算规模呈准线性关系,扩展性良好。而ZK-SNARKs的证明生成过程可能计算量更大。在验证时间(Verifier Time)上,ZK-SNARKs的验证速度极快,几乎是恒定的,这对于需要大量验证者的去中心化网络非常有利。ZK-STARKs的验证时间则与其证明大小一样,随计算复杂度的对数增长而增长,通常比SNARKs的验证时间要长

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

7

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

1

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

1

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

16

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

18

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
光速学会docker容器
光速学会docker容器

共33课时 | 1.9万人学习

go语言基础与基本函数
go语言基础与基本函数

共17课时 | 3.1万人学习

Css3入门视频教程
Css3入门视频教程

共21课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号