译自 halo2 book:https://zcash.github.io/halo2/design/gadgets/ecc/witnessing-points.html
见证点(Witnessing points)
我们在电路中用仿射表示(affine representation) 来表示椭圆曲线点(point)。 单位元(identity)用伪坐标(pseudo-coordinate) 表示,我们 假设它不是曲线上的有效点。
非单位元点(Non-identity points)
为了约束坐标对 表示曲线上的一个有效点,我们直接检查曲线方程。 对于 Pallas 和 Vesta,曲线方程为:
包含单位元的点(Points including the identity)
为了允许 表示曲线上的一个有效点,或者表示伪坐标 , 我们定义一个单独的门(gate),除非 和 都为零,否则强制执行曲线方程检查。