...BB%A5%E5%BE%97%E5%87%BA%E6%9B%B4%E6%9C%89%E6%95%88%E7%9A%84%E7%BC%93%E8%A7%A3%E6%8E%AA%E6%96%BD%E5%90%97%EF%BC%9F "提议对最差情形有多大提升?我们可以得出更有效的缓解措施吗?")提议对最差情形有多大提升?我们可以得出更有效的缓解措施吗? 共...
Ciara Nightingale ## ZK 数学 101:集合论 学习集合论的基础知识,从有限集和无限集到集合运算和函数,这对于理解 ZK 证明中的密码学结构至关重要。 **集合论是数学的一个分支,研究对象的集合,这些对象称为集合。** 它提供了处...
...博文中,我们将更仔细地研究内部乘积论证(Inner Product Argument)。我们将首先了解这项技术的基础知识,然后将重点转移到 Halo2 证明系统中的变体。具体来说,我们将探讨 Halo2 如何巧妙地将内部乘积论证用作多项式承诺方案。...
...性代数、椭圆曲线等相关。 ## **单一运算符** ### **Magma** Magma 是最简单的构造,它只是一组配备二元运算符的集合,可以对该集合的元素进行运算。这用以下符号表示。 a,b∈S:a⋆b=c∈S 注意,运算符是一个星号。虽然...
 [Bulletproofs 协议](https://eprint.iacr.org/2017/1066) 允许你仅基于离散对数假设生成这些零知识证明,而无需可信设置。这实际上意味着不需要配对(比如 KZG/Groth16),而是比仅...
...、`3` 和 `6`,其中 `6` 是最大的。对于任何一对非零整数 `a` 和 `b`,都可以构造出这样一组共同因数。这个集合至少会包括数字 `1`,因为它是所有整数的因数。由于这个集合是有限的,它将始终具有最大值。 ### 定义1 - GCD 考虑...
...个群之间就存在同态。 假设我们有两个代数数据结构 (A,◻) 和 (B,◼),其中 A 的二元运算是 ◻,B 的二元运算是 ◼。 从 A 到 B 的同态存在当且仅当存在一个函数 ϕ:A→B 使得 $$ \phi(a_i \square a_j)=\phi(a_i)\blacksquare\phi(a_j)\s...
Ciara Nightingale ## ZK 数学 101:环和域 学习代数结构环和域如何在密码学中使用,以及为什么它们对于理解零知识证明背后的数学是必要的。 _"F 是一个超多项式大小的素域 _ ”**PLONK:用于普适非交互式知识论证的基于拉格朗日...
...则将附带一个简单的证明。 ## 记号 加粗变量,如 $\mathbf{a}$,表示一个向量。未加粗的变量,如 $v$,表示一个标量。操作符 $\circ$ 是两个向量的 Hadamard 乘积(逐元素相乘),即 $[a_1, \dots, a_n]\circ[b_1, \dots, b_n] = [a_1b_1, \dots, a...
...这样的证明。高层的想法是,如果我们能证明一个向量 $a_L$ 仅包含 0 和 1,并且 $a_L$ 是 v 的二进制表示,那么 v 必须小于 $2^n$。这类似于说一个可以放入 8 位无符号整数的数字必须小于 256。 使用 Bulletproofs 进行范围证明的优...
...篇文章逐步展示了 `get_D()` 和 `get_y()` 的代码是如何从 StableSwap 不变式推导而来的。 给定 StableSwap 不变式: $$ A \cdot n \sum x_i + D = A \cdot n \cdot D + D^{n+1} \cdot n \prod x_i $$ 我们希望对其进行两种常见的数学操作: 1. 在 A 和储备 x1,...
给定一个[算术电路](https://learnblockchain.cn/article/11317),可以将其编码为[等级1约束系统](https://learnblockchain.cn/article/11313),从而创建一个有见证的ZK证明,尽管不是简洁的。本文描述了如何实现这一点。 对于R1CS的零知识证明是通...
在前面的章节中,我们展示了将向量 $\mathbf{a}$ 和 $\mathbf{G}$ 的元素总和相乘可以计算外积项的总和,即 $\sum \mathbf{a}\otimes\mathbf{G}=\sum\mathbf{a}\sum\mathbf{G}$。我们还展示了外积在其主对角线上“包含”了内积。 要“提取”内积 $\...
...# 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 SafeMath.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/math/SafeMath.sol SafeMath库是对solidity中uint256的加、减、乘、除和取模运算的一层封装。由于...