零知识证明,zkSNARK,zero-knowledge Succint Non-interactive ARguments of Knowledge的简称:
Succinct:证明的数据量比较小
Non-interactive:没有或者只有很少交互。
ARguments:验证者只对计算能力有限的证明者有效。拥有足够计算能力的证明者可以伪造证明。这也叫“计算可靠性"(相对的还有”完美可靠性")。
of Knowledge:对于证明者来说在不知道证据(Witness,比如一个哈希函数的输入或者一个确定 Merkle-tree 节点的路径)的情况下,构造出一组参数和证明是不可能的。
零知识证明大体由四部分组成:
1.多项式问题的转化 - 需要证明的问题转化为多项式问题 t(x)h(x) = w(x)v(x),证明者提交证明让验证者确认多项式成立。
2.随机挑选验证 - 随机选择验证的数值s,验证t(s)h(s) = w(s)v(s)。相对于验证多项式相等t(x)h(x) = w(x)v(x),随机挑选验证,简单,验证数据少。随机挑选验证,安全性肯定不及多项式等式验证,但如果确实足够随机,安全性还是相当高的。
3.同态隐藏 - 同态隐藏指的是函数的一种特性。输入的计算和输出的计算保持“同态”。以加法同态为例,满足如下的三个条件的函数E(x),称为加法同态:1. 给定 E(x),很难推导出x. 2. 不同的输入,对应不同输出 3. E(x+y) 可以由 E(x),E(y)计算出来。乘法同态类似。
4.零知识 - 证明者和验证者之间除了“问题证明与否”知识外,不知道其他任何知识(不知道随机挑选值,不知道挑选值的多项式计算结果等等)。
P问题和NP问题
NP问题(Non-Deterministic Polynomial Problem,非确定性多项式问题)
P问题指的是在多项式时间内可解的问题
QSP问题是个NP问题,给定一系列的多项式,以及给定一个目标多项式,找出多项式的组合能整除目标多项式
https://github.com/zcash/librustzcash/tree/master/bellman
分享到:
相关推荐
基于零知识证明的身份认证机制是一项重要的信息安全技术,它允许一方证明其拥有某种信息或能力,而无需透露该信息的具体内容。零知识证明的概念最早由Goldwasser、Micali和Rackoff于1985年提出,在密码学领域有着...
零知识证明是零信任吗.docx零知识证明是零信任吗.docx零知识证明是零信任吗.docx零知识证明是零信任吗.docx零知识证明是零信任吗.docx零知识证明是零信任吗.docx零知识证明是零信任吗.docx零知识证明是零信任吗.docx
Python零知识证明三色图
零知识证明技术 现代密码学 零知识安全协议 身份鉴别协议
零知识证明(Zero-Knowledge Proof,ZKP)是一种密码学技术,它允许一方(证明者)向另一方(验证者)证明自己拥有某些信息,而无需揭示这些信息的任何细节。这种技术在保护隐私和安全方面具有极大的潜力,特别是在...
零知识证明在区块链中非常有用。如果能够将零知识证明用于验证,将可以有效解决许多问题。
### 基于零知识证明的身份识别体制探讨 #### 摘要 本文主要探讨了基于零知识证明的身份识别体制。随着信息技术的发展和社会信息化程度的加深,身份认证变得尤为重要。传统的方法已经无法满足日益增长的需求,尤其...
### Fabric-零知识证明-idemix:一种基于双线性映射的签名方案与匿名凭证系统 #### 引言 本文介绍了一种新的、高效的签名方案,并探讨了其在匿名凭证系统中的应用。该方案由Camenisch和Lysyanskaya提出,在安全性...
自学零知识证明算法zk-ANARK总结的PPT,借鉴了许多大佬总结的文章作为参考资料,学完头昏脑涨
我们构建了一个系统,为冯·诺依曼RISC体系结构上的程序执行提供简洁的非交互式零知识证明(zk SNARKs)。该系统由两部分组成:一个用于验证算术电路可满足性的密码验证系统,以及一个用于将程序执行转换为此类电路...
信息安全 安全协议 零知识证明 身份识别技术 网络安全
零知识证明及其应用 零知识证明是由 Goldwasser 等人在 20 世纪 80 年代初提出的,它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更...
零知识证明分为交互式和非交互式 详细的讲述了交互式和非交互式的零知识证明以及比较
最后,简洁非交互零知识证明的研究热点和发展方向包括:基于机器学习的零知识证明、基于homomorphic encryption的零知识证明、基于trusted execution environment的零知识证明等。这些方向的研究将推动简洁非交互零...
【零知识证明与零信任的区别】 零知识证明与零信任是信息安全领域的两个重要概念,它们虽然都涉及“信任”,但其核心理念不同。零知识证明(Zero-Knowledge Proof,ZKP)是一种加密技术,旨在让一方(证明者)向另...
### 零知识证明zkSNARK相关基础知识整理 #### 一、零知识证明基础与定义 零知识证明(Zero-Knowledge Proof,简称ZKP)是一种密码学技术,它允许一方(通常称为“证明者”或Prover)向另一方(通常称为“验证者”...