零知识证明二——zksnarks学习笔记

写一下最近研究零知识证明的一些理解 ,也许会有错误,不过后续会继续更新。
1、零知识证明是一种协议,任何人都可以按照这套协议实现工程,当然前提是你现实的工程无懈可击;后续我也会根据自己的写一个demo;

2、零知识证明有交互式和非交互式之分,但是非交互式并不意味着没有任何信息的传递,还是有信息的交换的,只是很少;

3、zksnarks中的多项式盲证KCA,并不是直接证明P拥有的多项式p‘(x)就是V需要的多项式p(x);它只是通过阿尔法对证明了,1、P使用的多项式p’(x)确实是一个多项式而不是指数函数,阶乘函数等其他的;2、证明了P使用的多项式p‘(x)是由V提供一些列子项的线性组合;

4、至于如何验证P使用的多项式就是V要求的,而不是P随意用的;这事靠匹诺曹协议来完成鉴定;因为如果P使用随意的多项式p’‘(x),则他和正确的多项式p(x)交集最多只有d个(d即p(x)的最高阶);而实际中x的域的取值范围F则远远大于d,所以P只有d/F的概率能够欺骗V;之前我一直以为KCA直接就完成这一步步骤,后来看了很多资料,才有所觉悟;

5、为什么要用QAP,要把一个问题转换为QAP,1、首先我觉得公式计算进行各种转换时,逻辑性更强,更严谨,也更方便转换为一个实际的工程;2、很多交互型的零知识证明就是运用NP问题,所以这里用QAP也是希望将问题和NP问题结合起来。3、密码学本身就需要数学来作为基础的,零知识证明用到QAP也就不足为奇;

6、同态隐藏,其实并不意味着一定是E(x+y)= E(x)+E(y),也可以是E(x+y)= E(x)*E(y)或者E(x+y)= E(x)/E(y);这里应该和同态加法和同态乘法的并不是完全一致的;其实指数函数就是很好的例子,f(x+y)=f(x)*f(y),有兴趣的可以自己算一下;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0xweb3q

有钱的捧个钱场,没钱的捧个人场

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值