【session 2】有推荐或者规范的circom写法么 #21
Answered
by
qizhou
lkiversonlk
asked this question in
Q&A(提问题在隔壁~)
-
circom的写法感觉非常灵活,比如exercise里的IsZero,除了标准答案的写法外,写成:
也能编译通过,看起来没问题,但是这种写法是否可行? |
Beta Was this translation helpful? Give feedback.
Answered by
qizhou
Feb 23, 2023
Replies: 2 comments 6 replies
-
我认为这个代码是有问题的。<--的语句是pre-prove提供的witness,但是电路并没有约束a的具体数值。这样的话即使a为任意一个{0,1} (跟in独立的),该电路都可以通过验证的。也就是电路等价于:
回到原来的代码:
其中inv也是pre-prove的一个witness,但是inv不满足in!=0 ? 1/in : 0,电路是无法通过的。可以简单的演算如下:
|
Beta Was this translation helpful? Give feedback.
6 replies
Answer selected by
lkiversonlk
-
还有个问题:用作赋值的intermediate参数,就是a,有这样的赋值:a <-- in != 0 ? 1 : 0; |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
我认为这个代码是有问题的。<--的语句是pre-prove提供的witness,但是电路并没有约束a的具体数值。这样的话即使a为任意一个{0,1} (跟in独立的),该电路都可以通过验证的。也就是电路等价于:
回到原来的代码:
其中inv也是pre-prove的一个witness,但是inv不满足in!=0 ? 1/in : 0,电路是无法通过的。可以简单的演算如下: