sec-bit / comments-for-secbit-blog

0 stars 0 forks source link

blog/2019/12/25/learn-zk-snark-from-zero-part-one/ #5

Closed utterances-bot closed 1 year ago

utterances-bot commented 3 years ago

从零开始学习 zk-SNARK(一)——多项式的性质与证明 - SECBIT Blog

当我第一次了解到 zk-SNARK 技术是如何将这些东西完美地融合在一起的时候,就被数学之美震撼到了,并且随着我发现的维度越多,好奇心就越强烈。在这篇文章中,我主要就基于一些实例简洁明了地阐明 zk-SNARK ,并对这里面的很多问题做出了解释

https://sec-bit.github.io/blog/2019/12/25/learn-zk-snark-from-zero-part-one/

wkmie commented 3 years ago

有一个计算有误, 2*4=2(mod6)

fbaiesec commented 2 years ago

最后的强同态加密,其关键是在于多项式系数,对 prover 的多项式阶数进行了约束。 想确认下,在这个验证中,prover和verify对于t(x)都是知道的是吗?而对于p(x),则是prover宣称他知道,而verify要对此宣称进行验证?这是我所理解的问题背景。

zhuoliuzhou commented 2 years ago

"例如,如果 prover 声称有一个满足条件的多项式它只使用了 2 个求幂值 s^3和 s^1 ,这个在当前协议中是不能验证的。"

这个是指假如真实的p(x) = c1 x^3 + c2 x 这样的形式,verifier无法验证prover是否真实知晓这个polynomial吗?

zhuoliuzhou commented 2 years ago

还是说prover可以用只包含s^3和s^1的假polynomial来满足p=h * t的条件来骗过Verifier(不管如何找到)

Dispa1r commented 2 years ago

最后的强同态加密,其关键是在于多项式系数,对 prover 的多项式阶数进行了约束。 想确认下,在这个验证中,prover和verify对于t(x)都是知道的是吗?而对于p(x),则是prover宣称他知道,而verify要对此宣称进行验证?这是我所理解的问题背景。

不是这个意思吧?我理解的是,prover宣称自己的多项式p(x)包含了t(x),然后prover不知道t(x),但是他想证明自己是包含了t(x)的,因此他需要在不知道t(x)的情况下得到正确的h和p