技术

Zero-Knowledge

零知识证明

一种密码学技术,可以在不泄露背后数据的前提下,证明某个陈述为真。

最近审阅: 2026-05-24 审阅人Kevin Riedl wiki ↗

零知识证明允许一方(证明者)让另一方(验证者)确信自己知道某条信息,而不揭示这条信息本身。经典例子:在不暴露出生日期的情况下,证明自己满 18 岁。

在生产中 ZK 有两类常见形态。ZK-SNARK 体积更小、验证更快,但需要 Trusted Setup。ZK-STARK 更大也更慢,但不需要 Trusted Setup 且抗量子。多数链已经为常见证明(身份、余额、投票资格)提供了预制电路,因此不必专门聘密码学家。

商业价值范围比炒作的窄:当你需要在链上(或对一个交易对手)证明某个属性而不泄露数据时,ZK 真的有用。多数消费级应用用它属于杀鸡用牛刀。

// FAQ

常见问题

常见问题

SNARK 体积小、验证快,但需要 Trusted Setup(一次仪式出错,整条电路就废)。STARK 不需要 Trusted Setup 且抗量子,代价是证明体积更大、验证更慢。链上费用敏感选 SNARK,长期安全敏感选 STARK。
自己手写电路。除非你团队里有密码学博士,否则用 Circom、Noir、Halo2 这类成熟框架,加上已经审计过的预制电路(身份、余额、投票资格)。自己手写电路在生产里出 Bug,几乎一定是私钥泄露级别的灾难。
当你只是想「隐藏数据」时。简单的对称加密加上权限控制能解决 90% 的需求,成本是 ZK 的千分之一。ZK 真正的杀手锏是「在不揭示数据的前提下向第三方证明属性」,没有这个需求就别上。