文章 视频 讲堂 百科图谱 线下集训
更多
  • 问答
  • 提问
  • 发表文章
  • 专栏
  • 活动
  • 文档
  • 工作
  • 集市
  • 发现
  • 文章
  • 问答
  • 视频
  • 讲堂
  • 线下集训
  • 专栏
  • 活动
  • 工作
  • 文档
  • 集市
搜索
  • 登录/注册
Krishang
  • 文章
  • 专栏
  • 问答
  • 视频
  • 课程
  • 集市作品
  • 活动
  • 招聘
TA的专栏 TA订阅的
零知识证明之书

Rareskills 出品的零知识证明之书, 对程序员最友好的零知识证明教程

这里有关于从头开始实际编写实用的零知识证明器和验证器(ZK-SNARK)所需知道的内容。

对事物的概念性理解和具体理解是不同的。大多数相当聪明的人在阅读教程后会对某些东西有一个概念性的理解,但他们离用这些知识做一些有用的事情还有很长的路要走。

对于数学家来说,具体的理解发生在他们写证明的时候。对于程序员来说,具体的理解发生在他们编写功能代码的时候。

《零知识证明之书》主要面向寻求具体理解的程序员。我们的书中充满了代码片段,并演示了实际加密库的使用。我们使用数学符号,但是我们以这样一种方式来编写,将其转换为源代码只是一个小小的飞跃。

Groth16是tornado cash(和许多其他公司)用于实现链上零知识证明的算法。我们相信这是学习之旅的最佳起点,我们的书是完全理解算法的最直接途径。

我们的 ZK Book 的Circom 和 Constraint 设计模式将带您踏上从乘法到数字相加的旅程:

  • 从头开始构建 ZKVM
  • MD5 哈希函数的编码约束
  • 学习约束设计中反复出现的设计模式

    模块一 零知识证明的基础数学 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 : 范围证明

创建于2025-02-27 10:39 订阅(24)
比特币交易与脚本开发

新专栏上架,前 100 个支持者,<font color="dd0000">一折优惠</font>哦,感兴趣的抓紧订阅哦~

专栏介绍

Davide De Rosa 这个比特币开发系列是学习比特币的精品材料。

Davide De Rosa 是一个追求极致的开发者,除了这个系列 Davide De Rosa 还写过 BitcoinSPV 客户端。

在这个专栏中,Davide De Rosa把需要理解私钥签名、比特币脚本执行、比特币交易处理需要理解知识拆解的非常详尽,并且配有相应的 C 语言代码示例。

无论是想入门比特币开发,还是希望加深理解,这个专栏都非常适合你。

适合对象

  1. 有计算机知识及网络基础, 如 十六进制等概念
  2. 想深入研究比特币和区块链技术的开发人员。

    学习方法

专栏文章逐步递进,尽量将每一篇的的内容读理解好。大部分文章附有实用的 C 语言代码示例,动手实操。

可收获:

读者将深入了解比特币的核心概念,培养实用的编码技能。

创建于2024-06-28 17:37 订阅(90)
从 scaffold-eth 开启 Web3 开发之旅

通过 Scaffold-eth 完整学习智能合约 DApp 开发, 涉及内容包含:

  • 掌握 scaffold-eth 创建项目并在 main-net 上部署
  • 学习我需要知道的关于 Solidity、ethersjs、hardhat 和 web3 开发的所有知识。
  • 在 scaffold-eth 中增加对 TypeScript 的支持(在 react 前端和 solidity/hardhat 中都有TypeChain)。
  • 前端部分从 React 切换到 NextJs
  • 增加支持将 react/nextjs 应用程序部署到 Vercel
  • 使用TailwindCSS创建一个 scaffold-eth-ui 工具包
创建于2021-11-09 10:30 订阅(91)
退款后将取消订阅本专栏 !
退款原因:
退款 取消
专栏删除后将不可恢复 !
删除 取消
Krishang
Krishang
贡献值: 25 学分: 15
an engineer / enthusiast trying to learn about Zero Knowledge https://zk.bearblog.dev/
0 关注 0 粉丝
关于
关于我们
社区公约
学分规则
Github
伙伴们
DeCert
ChainTool
GCC
合作
广告投放
发布课程
联系我们
友情链接
关注社区
Discord
Twitter
Youtube
B 站
公众号

关注不错过动态

微信群

加入技术圈子

©2025 登链社区 版权所有 | Powered By Tipask3.5|
粤公网安备 44049102496617号 粤ICP备17140514号 粤B2-20230927 增值电信业务经营许可证

发送私信

请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!

提醒

检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
编辑封面图
封面预览