R1CS是Rank 1 Constraint System的简称,包含三个矩阵和一个见证(witness)向量。可将任意算术电路转换成R1CS。

例子

考虑下面的算术电路。我们将其转换成R1CS。 首先,我们需要拆分出中间变量和约束:

  1. 然后,我们组建见证向量

对于每一个约束,我们可以得到三个向量使得 其中表示向量的点乘。

于是我们有: 各自堆叠起来,我们得到了最终的矩阵满足: 其中表示逐元素乘法(Hadamard product)。

对于一个证明者,只需提供一个具体的witness向量: 对于验证者来说,只需验证上述等式成立。