SNARK Design

Posted mutourend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SNARK Design相关的知识,希望对你有一定的参考价值。

1. 引言

主要参考Justin Thaler 2022年8月在a16z crypto专题研讨会上的系列讲座:

2. 何为SNARK?

SNARK针对的场景为:
Prover P P P声称其知道满足某属性的witness w w w,如:

  • 某原像 w w w,使得其哈希结果为指定的 y y y,即 h ( w ) = y h(w)=y h(w)=y【Prover和Verifier均已知哈希函数 h h h和哈希结果 y y y w w w为wtiness仅Prover已知】。
  • 某私钥 w w w,使得其对应某密码学系统指定的公钥,即 Public_key ( w ) = y \\textPublic\\_key(w)=y Public_key(w)=y。【Prover和Verifier均已知公钥 y y y和相应的公钥计算规则 Public_key \\textPublic\\_key Public_key w w w为wtiness仅Prover已知】。

最简单直接的证明方式为:

  • Prover P P P w w w直接发送给Verifier V V V V V V对其运算验证是否满足所声称的属性。

SNARK(全称为Succinct Non-interactive ARgument of Knowledge)可实现同样的效果,但其对Verifier更友好——验证证明的开销更小:【由于当前Rollup重点关注可扩展性而不是隐私性,其无需zero-knowledge SNARK,因此本文未添加ZK字段。】

  • SNARK证明 π \\pi π的长度要比 witness w w w短——即对应为“Succinct”;
  • 验证 π \\pi π证明 的速度 要快于 基于 w w w直接运算——即节约Verifier V V V的计算开销。

以上是关于SNARK Design的主要内容,如果未能解决你的问题,请参考以下文章

BSV上的高效 zk-SNARK:技术解释

8种zk-SNARK构建的比较

SNARK原理示例

SNARK性能及安全——Verifier篇

zk-snark 时延

SNARK+深度神经网络