-
Beta Was this translation helpful? Give feedback.
Answered by
qizhou
Oct 24, 2023
Replies: 1 comment
-
默认的simple selector不能跟其他的selector混用(会影响优化)。可以把simple selector换成complex selector如下:
程序就可以跑通了。 但是,在这个例子里面,我们建议不要使用连加作为约束,因为会出现多个selector为1,并且每个selector相乘的多项式数值不为0,导致每个selector的多项式的无法分别单独约束。
比如,这里面可以让 最好的方式是把他们分开如下:
至于为什么会最终得到一个多项式,使得以上3个多项式同时满足,就需要了解PLONK/SNARK的原理了。 |
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
readygo67
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
默认的simple selector不能跟其他的selector混用(会影响优化)。可以把simple selector换成complex selector如下:
程序就可以跑通了。
但是,在这个例子里面,我们建议不要使用连加作为约束,因为会出现多个selector为1,并且每个selector相乘的多项式数值不为0,导致每个selector的多项式的无法分别单独约束。
比如,这里面可以让
s_add = s_sub = 1
,同时sum = lhs * 2
,difference = 0
,一样是可以通过约束检查,但是并没有实现lhs + rhs = sum
和lhs - rhs = diff
的约束。最好的方式是把他们分开如下: