如何学习零知识证明

币圈资讯 阅读:48 2024-04-22 12:11:25 评论:0
美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

我不是来告诉你 ZK[5] 是如何工作的。我也不是来告诉你应该学习什么。

这更多的是关于我在挖掘(巨大的)ZK 兔子洞时的感受。我是如何学习 ZK 的,哪些方法对我有用,哪些方法可能对你也有用。

请记住,没有正确的方法:每个人都有自己的学习方法。

学 ZK 你是认真的吗?

首先,你可能需要重新考虑一下你的人生选择。最终学会烹饪不是更容易吗?或者学做魔方?我是说,你确定要用 ZK 来折磨自己吗?

果你想要更轻松的生活,请单击此浏览器标签旁边的 "X",你就可以回到舒适的生活中,养着可爱的小狗,玩着刺激的填字游戏。否则,请注意,请放心继续。

从魔法开始

ZK 很难。我是说,几乎每一个方面都很难。

虽然很难理解它是如何运作的,但它的基本思想非常简单。你要在不透露任何数据的情况下证明你掌握了某些数据。这听起来像魔术,而魔术基本上就是从这里开始的。而魔术是很难的。

动力

在我看来,动力是所有学习的核心。你有足够的动力学习 ZK 吗?还是仅仅因为妈妈让你学,你就学了?

我有时会想,如果我在正规学校学习时就有动力,我的生活会是什么样子。我花了 10 年时间 "学习 "法语,但没有任何动力,所以学得很少。试想一下,如果一个人花 10 年时间,带着极大的动力去学习某样东西,结果会是怎样 -- 你也许已经可以登月了。

所以,找出是什么让你心动。是什么让你心动?你是否有明确的目标,或者是什么促使你去学习?

选什么材料

现在有很多 ZK 材料。我将在本帖末尾列出一些合适的材料,但我的目的不是告诉你该读什么。

我觉得大多数资料的主要问题在于,要么是针对一些铁杆密码学家,要么就是内容太多。很难理解自己应该关注哪些。

想象一下,一个 5 分钟的视频介绍了 20 个新概念。这意味着你将每隔 15 秒暂停一次视频,上网搜索(或使用 AI)更深入的资料,然后再返回到原始视频。这样做还算有效,但却非常令人泄气。这会让你觉得自己根本不适合学习 ZK。

学习 ZK 这样会更容易:有很多概念你都不会理解。你将不得不学习其中的许多概念,但你不应该试图一下子把它们都学会诀窍在于每次都要学习大拼图中的某一部分:它也许只是你听到的一个新术语,也许只是你找到的一些新资源。

不要独自学习

性格内向没关系,但如果能得到他人的反馈,一切都会变得容易得多。

对我来说最有效的一件事就是参加各种 ZK 学习小组。他们会给你带来同伴压力,让你真的想跟上别人的步伐,以同样的速度学习。看到别人在同样的问题上挣扎,这也是一种激励。这让你意识到自己可能并不是一个失败者。

你也不需要任何既定或约定俗成的学习小组。只要找到对学习 ZK 有兴趣的人,然后一起交流想法就可以了。

你可以从加入各种与 ZK 相关的聊天群组、论坛或其他社区开始。阅读其他人的发言,联系他们,然后开始行动。

分享

公开你的进展!分享你的收获。你将从(希望)收到的评论中学到更多。

在推特上分享 ZK 工作

作为额外的奖励,你还可以与其他有着同样热情的人建立联系。

(不要怕)提愚蠢的问题

我们都是从零起步的。

我为 ZK 敞开心扉

曾经有一位同事告诉我,他已经厌倦了回答初级开发人员提出的愚蠢问题。现在,想象一下你是一名初级 ZK 学习者,你遇到了一个愚蠢的问题。你可以自己想办法解决,也可以表明自己是初学者,公开提出问题。

我知道人们对这种问题的反应不尽相同,但在我看来,有人提出这种问题是件好事。在我看来,这表明这个人真的很想学习,而且在学习过程中融入他人,会更快取得成效。是的,有时提出愚蠢的问题会很丢人,但这也是一种收获。公开提出愚蠢的问题也会给其他人带来同样的勇气。

我的意思是,最坏的结果会是什么呢?

使用武力

根据你想使用 ZK 的目的,你也许可以在学习的第一天就开始编写一个项目。有多种 ZK 领域专用语言 (DSL) 可以抽象出几乎所有 ZK 难点:即使你对 ZK 零起点,也可以开始编写 ZK 程序。所有神奇的事情都在后台发生。

施展 ZK 魔法

我觉得实际看看你编写 ZK 程序时会发生什么很有帮助。你运行一些神秘的命令来生成证明,突然就会出现一个包含实际证明字符串的文件。你运行另一个神秘命令,也许会生成一个智能合约,用来验证你的证明。下一个命令就会使用你生成的证明来验证程序的执行。很酷吧?

不要对自己太苛刻

总的来说,不要对自己太苛刻。学习 ZK 很难。一开始,你可能无法理解很多概念。

要坚持不懈,不断学习,总有一天,一些难题会迎刃而解。

试着从不同的角度切入主题。找一些 YouTube 视频,阅读文章,问一些愚蠢的问题,犯一些错误。我无法只通过重读一篇文章就学到很多东西,但从不同的角度攻克同一难题对我来说确实很有效。

ZK 火箭科学

记住:学习不是火箭科学。只有教材才是。

关于学习材料

我尽量不推荐太多资料,因为每个人的学习方法都不一样。但这里有几个:

  • Least Authority 的 Moonmath 手册[6] 用于学习Snarks, 从基础开始

  • 学习 Stark , 参考 StarkWare's Stark 101 series[7].

  • 编写一些 ZK 代码,看看实际会发生什么:Noir from Aztec[8]


I'm not here to tell you how to work, and I'm not here to tell you what to learn. It's more about how I feel when I'm digging a huge rabbit hole. What methods are useful to me and what methods may be useful to you? Please remember that there is no right way. Everyone has his own learning method. Are you serious? First of all, you may need to reconsider your life choice. Isn't it easier to learn to cook in the end? I mean, are you sure you want to torture it? Yourself? If you want to live a more relaxed life, please click the button next to the browser tab, and you can return to a comfortable life. You have a cute puppy and play exciting crossword puzzles. Otherwise, please pay attention. Please rest assured that it is difficult to continue to start with magic. I mean, it is difficult to understand how it works in almost every aspect, but its basic idea is very simple. You have to prove that you have some data without revealing any data. It sounds like magic, and magic basically starts from here. At first, magic is a hard motivation. In my opinion, motivation is the core of all learning. Do you have enough motivation to learn? Or is it just because my mother asked you to learn? I sometimes wonder what my life would be like if I had motivation when I was studying in a regular school. I spent years learning French, but I didn't have any motivation, so I learned very little. Imagine what would happen if a person spent years learning something with great motivation. You may have been able to go to the moon, so find out. What excites you? Do you have a clear goal or what motivates you to learn what materials to choose? Now there are many materials. I will list some suitable materials at the end of this post, but my purpose is not to tell you what to read. I think the main problem of most materials is that they are either aimed at some hardcore cryptographers or there are too many contents, so it is difficult to understand what you should pay attention to. Imagine a one-minute video introducing a new concept, which means that you will temporarily read it every second. Stop the video, search online or use more in-depth information, and then go back to the original video. This is effective, but it is very frustrating. It will make you feel that you are not suitable for learning at all, which will make it easier. There are many concepts that you will not understand, but you will have to learn many of them at once. The trick is to learn a certain part of the puzzle every time. It may be just a new term you hear or just some new ones you find. It doesn't matter if you don't study alone, but if you can get feedback from others, everything will be much easier. The most effective thing for me is to join various study groups, which will bring peer pressure to you and make you really want to keep up with others' pace and learn at the same speed. It is also an incentive to see others struggling on the same problem, which makes you realize that you may not be a failure, and you don't need any established or established study groups, just find the right one. People who are interested in learning can then exchange ideas together. You can start to read other people's speeches and contact them by joining various related chat groups, forums or other communities, and then start to act and share your progress and share your gains. You will learn more from the comments you want to receive and share your work on Twitter as an extra reward. You can also establish contact with other people with the same enthusiasm. Don't be afraid to ask stupid questions. We all started from scratch. I used to open my heart. A colleague told me that he was tired of answering stupid questions raised by junior developers. Now imagine that you are a junior learner and you have encountered a stupid question. You can find a way to solve it yourself or you can show that you are a beginner. I know people have different reactions to this kind of question, but it seems to me that it is a good thing for someone to ask this kind of question. In my opinion, it shows that this person really wants to learn and will get faster results by integrating with others in the learning process. Sometimes it's shameful to ask stupid questions, but it's also a kind of gain. Asking stupid questions openly will bring the same courage to others. I mean, what's the worst result? Use force. Depending on the purpose you want to use, you may be able to start writing a project on the first day of your study. There are many domain-specific languages that can abstract almost all the difficulties. Even if you start from scratch, you can start writing programs. All the magical things happen in the background. I think it's practical. It's very helpful to see what happens when you write a program. You run some mysterious commands to generate a certificate, and suddenly a file containing the actual certificate string will appear. You run another mysterious command, and maybe a smart contract will be generated to verify your certificate. The next command will use the certificate you generated to verify the execution of the program. Don't be too hard on yourself. Generally speaking, it's difficult to learn. At first, you may not be able to understand many concepts. You should persevere. One day, some problems will be solved. Try to cut into the theme from different angles, find some videos, read articles, ask some stupid questions and make some mistakes. I can't learn a lot just by rereading an article, but it is really effective for me to overcome the same problem from different angles. Remember that learning is not rocket science, only teaching materials are about learning materials. I try not to recommend too much information because everyone's learning methods are different, but here are a few manuals for learning from the basics, and write some codes to see what will actually happen. 比特币今日价格行情网_okx交易所app_永续合约_比特币怎么买卖交易_虚拟币交易所平台

文字格式和图片示例

注册有任何问题请添加 微信:MVIP619 拉你进入群

弹窗与图片大小一致 文章转载注明 网址:https://netpsp.com/?id=62785

美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址
可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
平台列表
美化布局示例

欧易(OKX)

  全球官网 大陆官网

币安(Binance)

  官网

火币(HTX)

  官网

Gate.io

  官网

Bitget

  官网

deepcoin

  官网
关注我们

若遇到问题,加微信客服---清歌

搜索
排行榜
扫一扫,加我为微信好友加我为微信好友