Skip to content

零知识证明:R1CS 与 QAP #3

Description

@SpaceStation09

zk-SNARKs 是一种比较难掌握的技术,我们需要将大量的部件组合在一起,才能使整个系统正常工作,因此,想要深入学习这项技术,我决定将各项部件拆解,分别学习并理解它。zk-SNARKs 不能直接应用于任何计算问题,我们需要将计算问题一步步的转化为正确的“形式”,以便问题可以在zk-SNARKs的体系中顺利运行,其流程如下图:


这其中就包含了这篇博客要讲的两个重要流程,R1CS 和 QAP: - R1CS 的全称是 Rank-1 Con­straint Sys­tem,一阶约束系统,其本质是一个方程组。 - QAP 全称 Qua­dratic Arith­metic Problem, 二次算术问题。QAP 转换不仅可以将函数的代码转换为 QAP,还可以在转换的同时构建一个对应于代码输入的解(又称为 QAP 的 Wit­ness),之后再基于这个 wit­ness 构建一个实际的零知识证明系统。

后文将以Vitalik的文章Quadratic Arithmetic Programs: from Zero to Hero 为参照,详细展开解释R1CS和QAP转换的流程。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions