zhwanwan
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 : 范围证明
欢迎来到《Rust 基础入门指南》!本专栏专为计划学习 Solana 智能合约开发的你量身打造,旨在帮助你快速掌握 Rust 编程语言的核心基础,为后续的 Solana 合约开发做好充分准备。
专栏内容聚焦 Rust 的基础语法、内存管理、所有权机制等关键知识点,并结合简单易懂的示例代码,帮助你快速上手。我们将重点讲解 Rust 中与 Solana 合约开发密切相关的概念,如所有权、借用、生命周期、宏等,确保你能够理解并运用这些机制,为编写高效、安全的 Solana 合约打下坚实基础。
借助 Rig 之力,开启专属 AI Agent 创造之旅
你是否渴望拥有一个完全贴合自身需求的 AI Agent,却苦寻无门?在这个科技飞速发展、AI 应用层出不穷的时代,定制专属 AI Agent 已不再是遥不可及的梦想。本专栏将以深入浅出的方式,带你借助强大的 Rig 工具,一步步构建属于你的个性化 AI Agent。
前沿技术交汇 我们生活在一个充满无限可能的时代,AI 正以前所未有的速度改变着我们的生活和工作方式。Rig 作为一款前沿的开发工具,凭借其高效、灵活的特性,为 AI Agent 的构建提供了强大的支持。在本专栏中,你将见证 Rust 语言的高效性能与 Rig 工具的创新能力完美结合,为你解锁全新的 AI 开发体验。
深度剖析与实践 从基础概念的讲解到实际项目的操作,本专栏将全方位为你呈现 AI Agent 构建的全过程。我们会详细剖析 Rig 的各项功能和特性,让你深入了解如何运用它来实现不同类型的 AI Agent。无论是用于自动化任务的智能助手,还是具备深度学习能力的复杂决策系统,你都能在本专栏中找到构建的灵感和方法。
个性化定制之路 每个人对于 AI Agent 的需求都是独特的。本专栏将重点关注如何根据个人需求进行个性化定制。你将学会如何调整 AI Agent 的行为模式、优化其学习能力,以及如何让它与你的业务流程无缝对接。通过一系列的实践案例和技巧分享,你将能够打造出一个真正属于自己的、独一无二的 AI Agent。
持续更新与支持 AI 技术发展日新月异,本专栏也将紧跟时代步伐,持续更新内容,为你带来最新的技术趋势和实践经验。同时,我们还将为你提供丰富的资源和技术支持,帮助你在构建 AI Agent 的过程中遇到的问题能够得到及时解决。
无论你是一名 AI 初学者,还是经验丰富的开发者,本专栏都将为你提供有价值的信息和指导。快来加入我们,一起借助 Rig 的力量,构建你专属的 AI Agent,开启属于你的 AI 新时代!
2025,Move 迈入新阶段。 不仅有 Aptos 和 Sui 等 L1,也出现了 Movement 和 Rooch 等 L2。
本专栏特性:
Let's Walrus 一项学Walrus获得WAL(前期发SUI)的激励计划,鼓励更多的人学习如何使用Walrus,大家可以通过学习以及完成task任务来获取前期共学激励奖励,本专栏主要用于发布该共学任务的教学,希望能够帮助小白进行学习以及了解使用walrus进行存储和网站发布。
zk101.io 使用简单的文字讲述简单的ZK, 最少的数学,最容易理解的逻辑。 zk101将包含,startk101,snark101,zkvm101,plonk101等等内容,希望读者可以在阅读后对zk有清晰明了的了解。
你是否厌倦了繁琐的语法和低效的开发流程?是否渴望掌握一门简洁、高效、现代化的编程语言?Go语言,这门由Google开发的开源编程语言,正以其独特的魅力吸引着越来越多的开发者。
本专栏将带你从零开始,逐步掌握Go语言的核心概念和编程技巧。我们将从基础语法入手,深入理解并发编程、接口、错误处理等关键特性,并通过实战项目带你领略Go语言在Web开发、微服务架构、云计算等领域的强大威力。
无论你是编程新手,还是经验丰富的开发者,本专栏都将为你提供清晰易懂的讲解和丰富实用的案例,助你快速上手Go语言,开启编程新世界的大门。
本合集为普及move编程入门,为大家普及move语言的使用。 涉及语法基础,工具使用,应用开发等方面, 在语法基础中,我们将介绍在move中,支持的数据结构,循环分支,结构体定义等。 在工具使用方面,将介绍sui-cli的使用,设计账户,合约,链上交互等。 应用开发方面,将普及在应用开发中的规范以及技巧。 将会持续更新文章,希望可以帮助到大家。
专注于Web3.0开发过程中涉及的各类安全技巧,深入解析代码编写、合约部署、漏洞防护等多个环节中的安全要点。通过丰富的实战经验和实际案例,提供适合开发者的实用建议,帮助提升代码的可靠性和防护水平,构建更加安全的去中心化应用(dApps)。本系列覆盖从入门到高级的安全实践,适合对Web3.0安全有兴趣的开发者,打造全面的安全开发参考指南。
初入web3,选择move,跟随Move共学营学习,记录下学习过程,包括move编程环境配置、智能合约部署和调用、sui文档的基础学习和demo、前端和智能合约的联调,适合move小白,对move感兴趣打算入门的同学。 本专栏计划长期更新,欢迎各位行业大佬点评、交流,大家共同进步。