...较。证明系统一个证明系统 (Proof System)是一个交互式协议,包含两个参与方 Prover 和 Verifier,以及一个算法 Setup。证明系统的作用是让 Prover 说服 Verifier 相信一件事,我们把这件事叫做一个陈述 (Statement)。协议开始前,需要由某人调用 Setup 算法。Setup 算法接受一些公共参数作为输入,并输出 Prover 和 Veri...
知识:系统,知识,知识性,模拟器
...秘密值 s 的幂的加密值再进行求幂来对系数进行“赋值”。我们已经限制了 prover 对 s 幂的加密值的选择, 但是这个限制并不是强制的 ?,也就是说,prover 可以使用任何可能的方法找到满足下面等式的值 ?zp 和 zh再用这两个值来代替 ?g? ?和 g? ?将它交给 verifier。所以 verifier 需要能够证明 prover 给出的值就...
知识:多项式,链上,知识,参与者
...大。(BHD买彩票原理)PoC其背后的核心理念,便是在存储资源上,"证明者(Prover)低效,验证者(Verifier)高效",以达到验证者可以花费很少的存储资源,在较少的计算时间内,验证证明者(Prover)拥有一定存储空间的目的。在Stefan Dziembowski提出的PoC算法中,文件的内容是一种有向无环图(Directed Acyclic Graph,DAG)...
知识:挖矿,区块,矿工,钱包
...已经进入到第四个十年的研究。在任意的「零知识证明」系统中,都有一个 prover 在不泄漏任何额外信息的前提下要让 verifier 确信某些陈述(Statement)是正确的。例如 verifier 仅能知道 prover 的银行账户金额超过 X(也就是不披露实际金额)。协议应当满足下面三个性质:完整性——只要「陈述」是正确...
知识:多项式,协议,同态,因式
...秘密值 s 的幂的加密值再进行求幂来对系数进行「赋值」。我们已经限制了 prover 对 s 幂的加密值的选择, 但是这个限制并不是强制的,也就是说,prover 可以使用任何可能的方法找到满足下面等式的值 zp 和 zh解决这个问题的一种方法就是用另一个「变换」的加密值做同样的操作,充当类似算术中「校验...
知识:零知识证明,zk-SNARK
...在本系列的第一篇文章中,我们介绍了Bulletproofs 在 Range proof 上的应用,当 prover 想要证明 v 值在范围[0, 2n-1]内时,他需要发送 2n+7 个元素。然而,这种O(n)级的CC并不是我们想要的,希望能寻找一种方法可以把CC降低到O(log(n)级。本篇我们就主要介绍这个优化过程。主要分为两部分:以简单的场景去阐述...
知识:向量,复杂度,过程,篇文章
...已经进入到第四个十年的研究。在任意的「零知识证明」系统中,都有一个?prover?在不泄漏任何额外信息的前提下要让?verifier?确信某些陈述(Statement)是正确的。例如?verifier?仅能知道?prover?的银行账户金额超过?X(也就是不披露实际金额)。协议应当满足下面三个性质:完整性 —— 只要「陈述」是正确...
知识:多项式,协议,同态,因式
...已经进入到第四个十年的研究。在任意的「零知识证明」系统中,都有一个?prover?在不泄漏任何额外信息的前提下要让?verifier?确信某些陈述(Statement)是正确的。例如?verifier?仅能知道?prover?的银行账户金额超过?X(也就是不披露实际金额)。协议应当满足下面三个性质: 完整性 —— 只要「陈述」是正...
知识:零知识证明,ZKSNARK
...已经进入到第四个十年的研究。在任意的「零知识证明」系统中,都有一个 prover 在不泄漏任何额外信息的前提下要让 verifier 确信某些陈述(Statement)是正确的。例如 verifier 仅能知道 prover 的银行账户金额超过 X(也就是不披露实际金额)。协议应当满足下面三个性质:完整性——只要「陈述」是正确...
知识:零知识证明,zk-SNARKs,zk-SNARK
...上某个点的取值。这就是借助多项式来完成证明的依据。限制运算如果一个 prover 声称某两个数字的乘积,verifier 要怎样去验证呢?为了证明单个计算的正确性,我们就必须首先确保所提供的操作数的输出(结果)的正确性。我们再来看一下运算的形式:左操作数 运算符 右操作数 输出类似得我们也可...
知识:零知识证明,zk-SNARK
...是操作数正确运算得到的结果。所以我们称之为约束,即一个 verifier 约束 prover 去为预定义的「程序」提供有效值,而无论这个「程序」是什么。多个约束组成的系统被称为「约束系统」(在我们的例子中这是一个一阶约束系统,或被称为 R1CS)。@Maksym(作者):这里其实隐含了寻找所有正确答案的一...
知识:zk-SNARK,零知识证明,Pinocchio
...已经进入到第四个十年的研究。在任意的「零知识证明」系统中,都有一个prover在不泄漏任何额外信息的前提下要让verifier确信某些陈述(Statement)是正确的。例如verifier仅能知道prover的银行账户金额超过X(也就是不披露实际金额)。协议应当满足下面三个性质:<ul style="margin-top: 15px; margin-bottom: 15px; mar...
知识:多项式,协议,同态,因式
...。我们知道,零知识证明算法的第一步,就是算术化(Arithmetization),即把 prover 要证明的问题转化为多项式等式的形式。如若多项式等式成立,则代表着原问题关系成立,想要证明一个多项式等式关系是否成立比较简单,根据 Schwartz–Zippel 定理可推知,两个最高阶为 n 的多项式,其交点最多为 n 个...
知识:零知识证明算法,多项式,算法,去中心化
...立:A(X)*B?(X)-C(X) = (X????–1)*D(X)) 低阶顺应性(LDC)是指使用密码学来确保prover实际选择低阶多项式[3],并在verifier请求的随机选择点上评估这些多项式。在上面的例子中(本文会持续提及),一个好的LDC解决方案向我们保证,当询问有关x?的问题时,它将使用a?、b?、c?、d?的值来回答输入x?上的A、B、C和...
知识:零知识证明,zkSNARKs,zkSTARKs,StarkW
...为「约束」,因为多项式结构代表的运算,并非是为了计算出结果,而是在 prover 已经知晓的变量赋值的情况下,检验这个运算的过程是否正确。换句话说,即约束 prover 必须提供一致的值,无论这些值是什么。所有的算术计算(加减乘除)都已经有了,于是运算结构不再需要修改。注解even@ 安比实验室...
知识:零知识证明,zk-SNARK