零知识证明(Zero-knowledgeproofs)是允许一方向另一方透露信息知识而不透露信息本身的机制。ZK证明也称为有效性证明,最初用于隐藏以隐私为中心的区块链中的交易细节。
一段代码生成零知识证明可以分为代码变成多项式阶段,多项式生成承诺两个阶段。
第一阶段,简单来说就是把代码转换成 a * b = c 三元算式的列表(就是写电路),然后套数据公式把三元算式的列表转换成多项式,然后用R1CS&QAP的方式对多项式进行约束;
第二阶段,先是通过f(x) = h(x)t
Plonky2入门指南 ——关于全世界最快的ZK技术
零知识证明(Zero-knowledgeproofs)是一种在不暴露声明本身的情况下证明声明有效性的方法。
解析加密业界对零知识的见解及其未来的意义。
zkSNARK实践(二)——指数方程的证明
Trusted Setup其实就是生成一个非对称加密的私钥,即s;然后生成一系列的公钥,即g^(s^i), i = 0....n;其中g是椭圆曲线中的生成元; i是从0到n的整数,n是多项目的degree。其中的s必须销毁,谁都不能知道;只保留下来一系列的公钥;以太坊基金会已经生成了4组这类的公钥对
零知识证明已在区块链领域大放异彩,包括第一个实现 zkSNARK 的匿名加密货币 Zcash 和 Layer 2 的主要解决方案 ZK Rollup。
哈希是一种常用的密码学工具,它可以把一个无限大的数据空间映射到另一个有限的数值空间。由于它的不可逆性,常用来隐藏一些信息。现在我们来分析一下怎么证明这类问题。
导言:有些理论非常有趣,零知识证明便是其中之一,摸索了许久,想写点什么,与大家一起讨论。本文是『探索零知识证明』系列的第三篇。前两遍是:(一)初始「零知识」与「证明」 及 (二)理解「模拟」, 本文全文约 8,000 字,少量数学公式。
zkHack的Puzzle是我比较喜欢的活动。通过实例编码深入理解零知识证明的细节是比较高效的学习方式。zkHackV前几天已经开始了。这篇文章分析一下第一道题目
一个多方协同计算生成椭圆曲线上的秘密点的思路与实现,可以应用于随机数,身份验证等等
Zinc语言是一种智能合约语言,能方便的构建其对应的电路。Zinc开发的程序,编译成ZincVM指令,并在ZincVM执行并构建电路。构建电路的过程是将指令顺序执行,跟踪以及统一数据流。因为ZincVM构建电路需要将代码“静态”展开,所以Zinc不支持图灵完备。
要解释「零知识证明」,我们需要先解释「证明」,然后解释什么是「知识」,最后再解释什么是「零知识」。
如果 Web3 和 Crypto 有统治世界的一天, 我认为绝对不会是 EVM 生态占据 100% 的所有开发者, 而是所有的开发者会慢慢转化为 Web3 和 Crypto 开发者. 这就是通用的 zkVM 的绝妙之处.