Qing
Rareskills 出品的零知识证明之书, 对程序员最友好的零知识证明教程
这里有关于从头开始实际编写实用的零知识证明器和验证器(ZK-SNARK)所需知道的内容。
对事物的概念性理解和具体理解是不同的。大多数相当聪明的人在阅读教程后会对某些东西有一个概念性的理解,但他们离用这些知识做一些有用的事情还有很长的路要走。
对于数学家来说,具体的理解发生在他们写证明的时候。对于程序员来说,具体的理解发生在他们编写功能代码的时候。
《零知识证明之书》主要面向寻求具体理解的程序员。我们的书中充满了代码片段,并演示了实际加密库的使用。我们使用数学符号,但是我们以这样一种方式来编写,将其转换为源代码只是一个小小的飞跃。
Groth16是tornado cash(和许多其他公司)用于实现链上零知识证明的算法。我们相信这是学习之旅的最佳起点,我们的书是完全理解算法的最直接途径。
我们的 ZK Book 的Circom 和 Constraint 设计模式将带您踏上从乘法到数字相加的旅程:
学习约束设计中反复出现的设计模式
模块一 零知识证明的基础数学 1 : P vs NP 及其在零知识证明中的应用
2 : ZK的算术电路
3 : 用于零知识证明的有限域与模运算
4 : 为程序员准备的基础集合论
5 : 抽象代数
6 : 程序员的基本群论
7 : 同态映射
8 : 椭圆曲线点加法
9 : 有限域上的椭圆曲线
模块二 ZK-SNARKS Part 1 (Groth16)
10 : Python、Solidity 和 EVM 中的双线性配对(Bilinear Pairings)
11 : 将代数电路转换为R1CS(一阶约束系统)
12 : 从R1CS构建零知识证明
13 : 使用Python实现拉格朗日插值
14 : Schwartz-Zippel 引理及其在零知识证明中的应用
15 : 二次算术程序
16 : 在Python中将R1CS转换为有限域上的二次算术程序(QAP)
17 : 可信设置
18 : 在可信设置中评估和二次算术程序
19 : Groth16 详解 模块三 Circom 和 Constraint 设计模式
20 : Circom 零知识电路简介
21 : Circom 之 Hello World
22 : Circom模板参数、变量、循环、If语句、断言
23 : 二次约束 - Circom
24 : Circom中的符号变量
25 : Circom 中间信号与子组件
26 : 先指示再约束 - 在 Circom 中复杂约束条件的方法
27 : 先计算,后约束 - ZK 电路设计模式
28 : Circom循环中的组件
29 : 使用虚假证明攻击欠约束的Circom电路
30 : Circomlib中的AliasCheck和Num2Bits strict
31 : Circom 中的条件语句
32 : Quin Selector(选择器)
33 : ZK 中有状态计算简介
34 : 在Circom中交换数组中的两个条目
35 : 选择排序的零知识证明
36 : 在 ZK 中建模栈数据结构 - 如何在 Circom 中创建一个堆栈
37 : ZKVM 的工作原理
38 : ZK中的32位仿真
39 : Circom 中的 MD5 哈希
40 : 零知识证明友好的哈希函数
41 : 排列论证 - The Permutation Argument
42 : Tornado Cash 的工作原理(开发者逐行解析)
模块四 BulletProofs:内积论证的 ZKP 43 : BulletProofs 详解
44 : 什么是Pedersen承诺及其工作原理
45 : 多项式承诺通过 Pedersen 承诺实现
46 : 零知识乘法
47 : 内积的零知识证明
48 : 向量承诺的简洁证明
49 : 对数大小的承诺证明
50 : Bulletproofs零知识证明:内积的零知识与简洁证明
51 : 内积代数
52 : 通过随机线性组合减少等式检查(约束)的数量
53 : 范围证明
详解 Compound V3 - 待修改
一个协议工程师坐下来与你一起,逐步讲解代码库和设计决策。这就是本书的样子。
关于 Compound V3
Compound 只借出一种资产,称为“基础”资产。
与 Compound V2(和 AAVE)不同,后者允许借款人从资产菜单中借款,在 Compound V3 中,借款人只能借用单一资产(而贷方也只能贷出单一资产)——每个“市场”。在撰写本文时,有一个借用(和贷出) USDC 的市场和一个借用和贷出 ETH 的市场。
在信息时代,数据的安全与隐私至关重要。密码学作为保障信息安全的核心学科,其重要性日益凸显。本专栏旨在为读者提供密码学领域的入门指南,涵盖其理论基础、关键技术以及实际应用。我们将深入探讨密码学的核心概念,包括对称加密算法(如AES)、非对称加密算法(如RSA)、哈希函数(如SHA-256)以及数字签名等。我们将解析这些技术的原理、优缺点以及应用场景。
欢迎来到《Rust 基础入门指南》!本专栏专为计划学习 Solana 智能合约开发的你量身打造,旨在帮助你快速掌握 Rust 编程语言的核心基础,为后续的 Solana 合约开发做好充分准备。
专栏内容聚焦 Rust 的基础语法、内存管理、所有权机制等关键知识点,并结合简单易懂的示例代码,帮助你快速上手。我们将重点讲解 Rust 中与 Solana 合约开发密切相关的概念,如所有权、借用、生命周期、宏等,确保你能够理解并运用这些机制,为编写高效、安全的 Solana 合约打下坚实基础。
2025,Move 迈入新阶段。 不仅有 Aptos 和 Sui 等 L1,也出现了 Movement 和 Rooch 等 L2。
本专栏特性:
你是否厌倦了繁琐的语法和低效的开发流程?是否渴望掌握一门简洁、高效、现代化的编程语言?Go语言,这门由Google开发的开源编程语言,正以其独特的魅力吸引着越来越多的开发者。
本专栏将带你从零开始,逐步掌握Go语言的核心概念和编程技巧。我们将从基础语法入手,深入理解并发编程、接口、错误处理等关键特性,并通过实战项目带你领略Go语言在Web开发、微服务架构、云计算等领域的强大威力。
无论你是编程新手,还是经验丰富的开发者,本专栏都将为你提供清晰易懂的讲解和丰富实用的案例,助你快速上手Go语言,开启编程新世界的大门。
本专栏主要通过原理和代码结合的方式,讲解目前zkMIPS的实现原理。本专栏从基础的代数学知识开始介绍,然后逐步讲解Plonky2的实现,以及zkMIPS本身的prover部分的实现,包括Lookup Scheme,Proof aggregation,最后会讲解zkMIPS算数化。 通过专栏,大家可以真是感受到如何到从0实现一个zkVM。
About this Column Analyzing recent or significant security incidents is crucial for understanding the root causes and developing effective strategies to prevent future breaches. In this column, I will delve into the underlying factors and attack steps that contribute to these incidents.
About Myself
Hello everyone, I'm Lori. I specialize in blockchain security. Here are some of the works I completed during my master's program:
Blockchain Security Research
Go语言开发基础到通关,系统的学习的Go语言基础知识、开发技能、Go微服务应用以及Go语言在区块链领域的实战开发应用。Go 语言以其简洁高效的语法、出色的并发支持和强大的标准库,在后端开发、微服务架构、区块链等领域得到了广泛应用。专栏内容覆盖基础语法、进阶技巧、区块链领域的实战,帮助读者从零开始掌握 Go 语言的核心技能。无论你是初学者还是有一定经验的开发者,都能从中获得实用的知识和技能,提升编程水平。