zk-SNARK共17篇
理解零知识证明算法之 Zk-stark-区块链开发网

理解零知识证明算法之 Zk-stark

谈到ZKP算法,大伙可能听过一些,比如zk-snark,zk-stark, bulletproof, aztec, plonk等等。今天,咱就给大伙聊聊这一对“表面兄弟”,zk-stark和zk-snark算法的异同之处。 ## Concept:zk...
从零开始学习zk-SNARK(一)-多项式的性质与证明-区块链开发网

从零开始学习zk-SNARK(一)-多项式的性质与证明

偶然一次机会,看到了 Maksym Petkus 的这篇文章。文章从最基本的多项式性质讲起,从一个简单易懂的证明协议开始,然后像堆积木一样在发现问题,修改问题中逐步去完善协议,直到最终构造出完整...
从零开始学习zk-SNARK(二)-多项式的非交互式零知识证明-区块链开发网

从零开始学习zk-SNARK(二)-多项式的非交互式零知识证明

上一篇文章(多项式的性质与证明)中,作者介绍了如何利用多项式的性质来证明某个多项式的知识,相信大家已经对构造证明有了一些基本的认识。目前的证明协议仍然存在一些缺陷,本文将会针对这些...
从零开始学习zk-SNARK(三)—从程序到多项式的构造-区块链开发网

从零开始学习zk-SNARK(三)—从程序到多项式的构造

前文主要介绍了如何构造多项式的零知识证明协议,现在将开始探讨如何构造更通用的协议。本节主要是讲如何将一组计算的证明转换为多项式进行证明。本文重点主要包括:多项式的算术性质,多项式插...
从零开始学习zk-SNARK(四)—多项式的约束-区块链开发网

从零开始学习zk-SNARK(四)—多项式的约束

上一篇文章中我们学习了如何将程序转换为多项式进行证明。到这里似乎已经有点晕了,本文将对协议执行进一步的约束,并对协议展开优化。 ## 导读 even@安比实验室: 上一篇文章中我们学习了如...
从零开始学习zk-SNARK(五)—Pinocchio 协议-区块链开发网

从零开始学习zk-SNARK(五)—Pinocchio 协议

作为本系列的最后一篇文章,本文继续对 zk-SNARK 协议进行完善,最终形成一个完整的 zk-SNARK 协议 > even@安比实验室: 作为本系列的最后一篇文章,本文继续对 zk-SNARK 协议进行完善,最...
[译]几种通用的zk-SNARKs 实现的比较-区块链开发网

[译]几种通用的zk-SNARKs 实现的比较

几种通用的zk-SNARKs 实现的比较 zk-SNARK 是一个快速发展的领域,仅在过去的两个月里, 就宣布了数个突破性的 zk-SNARK 实现。曾经必须的可信设置现在已经是冗余的了,这意味着可以使用任何...
彻底读懂零知识证明及其实现方法:解析zk-SNARK-区块链开发网

彻底读懂零知识证明及其实现方法:解析zk-SNARK

zk-SNARK 是如何实现零知识证明的 我们已经越来越频繁地见到zk-SNARK,我们还会更多地遇到它。 大家都知道它是一种实现零知识证明的方法,也知道它是扩容和隐私方向的利器,但究竟什么是零...
zkSNARK实践(二)——指数方程的证明-区块链开发网

zkSNARK实践(二)——指数方程的证明

zkSNARK实践(二)——指数方程的证明 上一篇文章我们讲解了如何用zkSNARK证明多项式方程,本文我们将介绍如何使用zkSNARK证明指数方程。 指数方程指的是指数中含有未知数的方程。考虑到这...
zkSNARK实践(三)—— 哈希函数的证明-区块链开发网

zkSNARK实践(三)—— 哈希函数的证明

哈希是一种常用的密码学工具,它可以把一个无限大的数据空间映射到另一个有限的数值空间。由于它的不可逆性,常用来隐藏一些信息。现在我们来分析一下怎么证明这类问题。 哈希是一种常用的密...
zkSNARK实践(四)—— merkle证明-区块链开发网

zkSNARK实践(四)—— merkle证明

merkle树在区块中应用非常广泛,比如比特币SPV节点,使用merkle树来验证一笔交易是否在区块中。 merkle树在区块中应用非常广泛,比如比特币SPV节点,使用merkle树来验证一笔交易是否在区块中...
理解Groth16,一些细节上的说明-区块链开发网

理解Groth16,一些细节上的说明

为什么要从R1CS转化到QAP? V神曾经写过一篇非常好的介绍R1CS与QAP问题的[文章](https://vitalik.ca/general/2016/12/10/qap.html)。但是,对于不熟悉[密码学](https://learnblockchain.cn/a...
zkREPL:一个zkSNARKs 在线开发环境-区块链开发网

zkREPL:一个zkSNARKs 在线开发环境

在计算的旧石器时代,计算机曾是机电的巨兽,每秒只可以执行几十次操作,但每年的成本却高达数百万美元。程序是通过细致的思考、在接线板中插入电线以及给卡片打孔来开发的。那个时候,bug就是...
聚焦:ZK-SNARK 技术-区块链开发网

聚焦:ZK-SNARK 技术

这篇文章将关注ZK-SNARK如何适应现有的应用程序,有哪些例子说明它们能做什么,不能做什么,以及有哪些通用的指导方针来判断ZK-SNARK是否适合某些特定的应用程序。 ![1.jpg](https://img.lea...
zkSnark教程:从方程到验证-区块链开发网

zkSnark教程:从方程到验证

使用zkSnark(一种非交互的自适应知识论证),我们就可以向一个或多个验证者提供一个简短的证明,证明我们对某些私人数据和函数(f)有特定的知识。 使用[zkSnark](https://learnblockchain.cn...
区块链中的数学 - Baby Jubjub Elliptic Curve-区块链开发网

区块链中的数学 – Baby Jubjub Elliptic Curve

本文将介绍一种新的椭圆曲线实例-- Baby Jubjub Elliptic Curve。 ## 写在前面 上一篇介绍了[plookup协议核心思想](https://learnblockchain.cn/article/2732),本文将介绍一种新的椭圆曲线...
区块链中的数学 - Halo2 Circuit-区块链开发网

区块链中的数学 – Halo2 Circuit

本文介绍另一种基于plonk的proof system--halo2,目前看到基于plonk的工程实现有三种:bellman, dusk, halo2. ## 写在前面 上一篇介绍了[Baby Jubjub 曲线](https://learnblockchain.cn/arti...