译自 halo2 book:https://zcash.github.io/halo2/design.html
设计
关于术语的说明
我们使用与他人略有不同的术语来描述 PLONK 概念。以下是概览:
- 我们倾向于把类 PLONK 的论证(argument)看作一张表格,其中每一列对应一条"线"(wire)。我们把表格中的条目称为"单元格"(cell)。
- 我们倾向于把"选择子多项式"(selector polynomial)之类的东西改称为"固定列"(fixed column)。当一个固定列中的单元格被用来控制某条约束(constraint)是否在该行启用时,我们会专门称之为"选择子约束"(selector constraint)。
- 当另一些多项式由证明者(prover)填充时,我们通常把它们称为"建议列"(advice column)。
- 我们使用术语"规则"(rule)来指代像下面这样的"门"(gate):
- TODO:检查我们在这一点上的一致性,并更新代码和文档以保持匹配。