Replies: 3 comments 2 replies
-
的确是一个有意思的问题,我觉得可以直接去PSE问问这种情况到底是允许还是bug? |
Beta Was this translation helpful? Give feedback.
-
lookup_any不算blinding部分,会pad 0, 比如input是2, table是1,2,3,4, input会pad成 2,0,0.., table会pad成 1,2,3,4,0.., 跟lookup table column不太一样,个人觉得table pad成第一个value会更合理,这样就能排除input是0, table不包含0的问题。 但是,同时input的pad也应该是比如第一个值,否则相当于人为加了一个0的input |
Beta Was this translation helpful? Give feedback.
-
最后的结论:
所以,对input列,要注意设置非enable的值,比如pse版本的halo2的bad_fixed_lookup() UT: 所以正确与否,要看怎么定义这个列了,比如定义input的 lookup的是某几个cell,而table也是某几个cell, |
Beta Was this translation helpful? Give feedback.
-
https://github.com/privacy-scaling-explorations/halo2/blob/9b33f9ce524dbb9133fc8b9638b2afd0571659a8/halo2_proofs/src/dev.rs#L1800
在测试这个bad_lookup_any用例时候遇到一个疑问
比如电路
{
a: advice_column,
table: instance
}
在用例中instance设置为 1,2,4,6, 如果把a设置为9,lookup失败,没问题,但是如果a设置为0,lookup是能通过的,这感觉不对
从代码实现来看,是把所有值跟fill_row值比较,不同的才抽取出来,但是fill_row为0, 所以,a为0时候就没提取,就能通过,这是bug吗
Beta Was this translation helpful? Give feedback.
All reactions