首先,建议大家先去了解一些基本概念。零知识证明涉及的知识其实非常多,需要学习的内容也很多,建议大家先从一个协议开始,比如就从 Pinocchio 协议开始,这个资料也比较多。当然椭圆曲线,pairing,同态加密这些基础知识都是必不可少的,建议大家去学一学。
第二阶段就是建议大家开始上手写一些代码,建议可以试着写写简单的代码,做过开发的小伙伴应该都有过这样的感觉,面对一个很难理解的概念原理,用代码实现一下就会容易理解狠毒,所以多写写代码真的非常重要。
第三阶段就是深入理解基础原理,功底深厚的小伙伴可以直接去看论文,密码学基础相对较弱的小伙伴可以找几本密码学书来看一看,系统的学习一下密码学的知识。不过非常花时间,一开始可能完全看不懂,需要慢慢啃,哈哈!
第四阶段就是上手设计零知识相关的安全协议,这个就难度比较高了,建议咨询相关密码学专业人士。
零知识证明的学习之路并不简单,最后给大家一点点小建议~
1~多写代码!!
没有什么不是先动手写几行代码解决不了的,哈哈哈!很多复杂的原理其实多试试写点代码,多实现一些小例子就很容易get到点了,所以强烈建议大家多写写代码。
2~分享和讨论很重要,学习零知识证明过程很枯燥,涉及的内容也比较多,一个人学很难坚持,也容易走入误区
3~打好基础,零知识证明作为现代密码学重要的组成部分,自然离不开密码学基础知识,零知识证明的背后牵扯的基础知识非常非常多,要想深入学好零知识证明,打好密码学基本功是必不可少的
Leave a Reply