什么是 Zero Knowledge Scalable Transparent Argument of Knowledge (zk-STARK)?
Zero Knowledge Scalable Transparent Argument of Knowledge (zk-STARK) 是一种证明系统,允许某人证明一次计算已被正确执行,同时不泄露输入或整个计算过程。它之所以被称为可扩展且透明,是因为它省去了需要信任的初始化步骤,依赖简单的哈希运算,这也更有利于抗量子思路。可以把它想成一张小而可验证的收据,说明作业已完成,但不展示作业内容。
“zk-STARK 就和 SNARK 一样。”并非完全如此。它是零知识证明 (ZKP)的一种变体,但它避免了受信任的初始化设置,追求抗量子能力,并以略大些的证明换取快速的公开验证。
Zero Knowledge Scalable Transparent Argument of Knowledge (zk-STARK) 如何工作
想象一个 rollup 需要证明数千笔交易已被正确处理。使用 Zero Knowledge Scalable Transparent Argument of Knowledge (zk-STARK) 时,链无需重跑所有计算。它只验证一个紧凑的证明,然后继续处理。
- 步骤 1:证明者选择要证明的声明,例如“这批交易遵守规则”。
- 步骤 2:计算被转换为结构化的执行轨迹。证明者用哈希对该轨迹进行承诺,从而之后无法更改。
- 步骤 3:进行复杂的数学运算,由易用的代码封装。证明者构造一个小型证明,这很难伪造。
- 步骤 4:证明被发送给验证者,通常是一个智能合约。验证者运行轻量级的检查。
- 步骤 5:如果通过,结果将在链上被接受并更新状态。最终效果:通过更少的数据字节实现更高的吞吐量和性能。
以上即为流程,省去粉笔灰。
为什么 Zero Knowledge Scalable Transparent Argument of Knowledge (zk-STARK) 很重要
这值得关注,因为它改变了区块链在不放弃信任的情况下实现高速和隐私的方式。
- 好处:大型计算被简化为小型核验,可节省费用和时间。
- 视角:可以在保持隐私的前提下证明正确性。共享证明,而非秘密。
- 适用性:它将在 rollup、游戏、NFT 和支付等需要速度与确定性的应用中出现。
当你看到某个项目使用 zk-STARK 时,请检查两点:它是否避免了受信任的设置,以及它是否通过递归或巧妙的数据可用性设计保持 calldata 小。这样的选择会影响费用和用户体验。
Zero Knowledge Scalable Transparent Argument of Knowledge (zk-STARK) 的主要特征
以下是它的突出点:
- 透明:无需受信任的初始化设置,因此不必信任任何特定群体。
- 可扩展:为大规模扩展设计,可将大量工作批量为小型证明,参见 可扩展性。
- 抗量子:基于哈希函数,这被认为对未来量子技术更友好。
变体
你可能会听到的相关变体:
- SNARKs:证明更小且验证更快,但通常需要受信任的设置。与 zk-STARK 有不同的权衡。
- 有效性证明:一个总称,包含 SNARKs 和 STARKs,用于证明状态更新是正确的。
- 欺诈证明:由乐观 rollup 使用,假定正确直到有人提出错误并发起挑战。
Zero Knowledge Scalable Transparent Argument of Knowledge (zk-STARK) 证明的是正确性,而不是合法性或公平性。它可以隐藏输入,但默认情况下不会隐藏所有元数据,除非应用专门为此设计。
示例
一个 DeFi 交易所在 Starknet 上将交易批处理,并在以太坊上发布一个 zk-STARK 证明,从而让链以极少的 gas 验证整个批次。
趣闻
该缩写由包括 Eli Ben Sasson 在内的研究者提出。顺便一提,STARK 在德语中也有“强壮”的含义。这很贴切,因为该设计依赖稳健的哈希函数,而不是复杂的公钥仪式。
总结
简短版:zk-STARK 为大型工作提供小型证明,因此你可以在不查看数据的情况下信任结果。
