当前位置: 首页 > news >正文

SNARK原理示例

1. 引言

前序博客有:

  • SNARK Design
  • Rollup项目的SNARK景观

SNARK方案由 Polynomial IOP ➕多项式承诺方案 组成。

当前的Polynomial IOP主要分为三大类:

  • 1)基于interactive proofs(IPs)的Polynomial IOP:如Hyrax、vSQL、Libra、Virgo等。【 P P P无需做FFT运算】
  • 2)基于multi-prover interactive proofs(MIPs)的Polynomial IOP:如Spartan、Brakedown、Xiphos等。【 P P P无需做FFT运算】
  • 3)基于constant-round的Polynomial IOP:如Marlin、PlonK、StarkWare的SNARKs等。【 P P P需要做FFT运算】

以上方案都是通过增加 P P P开销,来减少proof长度以及降低 V V V开销。
以上1)2)类,只要其结合的多项式承诺方案也不需要FFT,则 P P P无需做FFT运算。

当前的多项式承诺方案主要分为四大类:

  • 1)基于pairing的多项式承诺方案(既不transparent,也不post-quantum)
    • KZG10、PST13、ZGKPP18等。
    • 独特属性有:具有constant sized evaluation proofs。
  • 2)基于discrete logarithm的多项式承诺方案(transparent,但不post-quantum)
    • 如BCCGP16、Bulletproofs、Hyrax、Dory等。【其中Dory即需要discret-log hardness,还需要pairing。】
  • 3)基于IOPs+hashing(transparent 且 post-quantum)
    • 如Ligero、FRI、Brakedown等。
  • 4)基于Groups of unknown order的多项式承诺方案(若使用class groups具有transparent属性,但不是post-quantum的)
    • 如DARK、Dew等。
    • 由于使用class groups, P P P非常慢。

本文将:

  • 1)从“Multi-prover Interactive Proofs”(即基于MIP)的Polynomial IOP 分类中选择一个示例
  • 2)从“IOPs+hashing”的多项式承诺方案 分类中选择一个示例
  • 3)将以上1)2)2个示例组合,展示SNARK的工作原理
  • 4)将以上1)2)2个示例组合,所构成的SNARK具有novel efficiency:
    • 4.1)从文献来看,具有最快的 P P P(concretely and asymptotically);
    • 4.2)可基于任意(足够大)的域(即具有field agnosticism(域不可知)属性);
    • 4.3)首个实现见Brakedown [GLSTW21]:
      • 详细见 Alexander Golovnev、Jonathan Lee、Srinath Setty、Justin Thaler和Riad S. Wahby等人2021年论文 Brakedown: Linear-time and post-quantum SNARKs for R1CS)
      • 开源代码见:https://github.com/conroi/lcpc(Rust)
    • 4.4)缺点在于:proof相当大——近期已对其进行了改进,可参看Tiancheng Xie等人2022年论文Orion: Zero Knowledge Proof with Linear Prover Time。【Orion改进了proof size,但是牺牲了field agnosticism(域不可知)属性。
      在这里插入图片描述

2. Polynomial IOP示例

本文的Polynomial IOP示例运行在Arithmetic Circuit Satisfiability上下文中。
所谓Arithmetic Circuit Satisfiability,是指:

  • 已知某 arithmetic circuit C C C over F \mathbb{F} F of size S S S且输出为 y y y,判断是否存在某 w w w,使得 C ( w ) = y C(w)=y C(w)=y
    在这里插入图片描述

相关文章:

  • 上海服装网站建设/历下区百度seo
  • 做网站接口多少钱/沈阳seo推广
  • 手机端网站的建设/北京企业网站seo平台
  • 贵州省建设工程安全动态监管平台网站/查询网站
  • 网站设计建设专业服务/泉州seo优化
  • 动态网站设计主题/优化营商环境心得体会1000字
  • 一篇文章带你熟悉Ajax
  • PHP MySQL 预处理语句
  • 集成学习-理论概述
  • 网络工程师备考7章
  • Java 23种设计模式的分类和使用场景
  • Kubernets核心介绍及实战
  • Linux基本功系列之usermod命令实战
  • 点亮 LED
  • Vue 常用的修饰符有哪些?
  • LeetCode刷题笔记 - JavaScript(二)
  • 【GD32F427开发板试用】位带操作实现多线程下的跑马灯
  • 测试开发 | 实战演练基于加密接口测试测试用例设计