学习区块链技术和任何其它任何技术一样,没有捷径。
我会从两个角度来阐述,
首先要意识到,在学习过程中,你会产生无数次想否定区块链的想法,这很正常,先把学习这个技术的想法放下,做一些你觉得更有意义的工作,在日常工作中再不断来感受区块链的意义。
我个人12年通过Hacker News第一次听到了比特币的名字,由于网络原因,只是下载了客户端软件,无法同步网络,这是我第一次放下。
16年被朋友说服去研究以太坊,我下载了Mist 客户端(它是以太坊智能合约的开发环境和工具),我根据官网的教程写了一些代码,说实话体验非常差,要知道那时候我正在使用Rails这样优秀的开发框架。这是我第二次放下。
然而我却发现了去中心技术这样一个新大陆,没有区块链,没有币,只有“干净”的技术,这些技术包括但不局限于存储相关的IPFS、DAT,社交领域的ScuttleButt、Solid。说实话,这是我第一次感觉到技术的魅力,我几乎每晚都保持着高压的学习,因为白天有日常的工作,只能靠晚上挤出来时间,熬了数不清的夜,辗转反侧,来思考某个技术的特点和意义。
17年底老婆怀孕了,我很开心,但是由于孕吐比较严重,我只能肩负起做饭的重任(做的不好吃,到后面只能买孕妇餐)。我晚上的时间也没有了。这是第三次放下,前面说的各种去中心技术也都放下了。但是我不后悔,因为第二年我有了可爱的孩子。
说了这么多放下,**但是我真的能放下吗?**你一旦了解了去中心的技术,就很难完全的放下,它会充斥在你生活和工作的方面,每一天都在感受它。
19年,宝宝一岁了,我决定做出改变,去追求我认为当前最有意义的事情,毫无疑问就是我们说的以区块链为代表去中心技术。机缘巧合,了解到了Parity 这个区块链领域的技术先行者,获取了一个兼职的机会,到20年又变为全职,这中间遇到很多挑战,这里不再啰嗦。
你可以看到,对于热爱某项技术的人,放弃它其实是非常难的,区块链也是一样。可能有的人会好奇,为什么有那么多人热爱它?我无法完全地了解别人的想法,但从我的经历来看,区块链带给我的不只是技术边界的拓展,更多的是一种或者多种不同的思维方式,让我接触到不同的人,了解了不同地区的文化,更清楚的知道了自己的方向和责任。就和看同一本书,每个人都有自己的体会,我建议大家开始去读,去看别人的体会,自己也多总结。
每个人的学习方法不同,这里分享我对区块链技术的学习方法,希望能给大家带来帮助。对我个人比较有效的学习方法,是由应用层到底层。我不会一开始就去读比特币或者以太坊的白皮书,或者《Master Bitcoin》这类的书。其实我在学习过程中都有下载,但真的读进去、看明白也是最近一两年才发生的。那对于技术人员或者有一定学习能力的非技术人员,我建议的学习路径是:
这么多不同的项目我应该浏览哪一个呢?从比特币、以太坊开始,然后发现不同的其它项目,和相关的查找方法,由于区块链领域良莠不齐,这里不再放过多的细节。个人建议你应该最少看10个不同的国外顶尖项目。如果还需要讨论更细节的内容,可以去添加我的公众号。
如果仅仅是钱包和区块浏览这样简单的去中心应用,其实给人们带来不了多少改变。将现实生活的问题深入理解,并转化成技术解决方案,需要非常多的领域知识,也只有这样的人才能将区块链技术带入寻常百姓家。已经有很多的区块链应用通过引入智能合约和应用链开发框架,来帮助开发者实现更加复杂的应用场景,满足各种灵活的需求。我建议的两个值得学习的相关技术为,
这里我们不去过多地介绍两者的区别,如果感兴趣,可以订阅下面的知乎专栏了解更多的技术内容。
如果你不满足于解决生活中的问题,还想要探索代码背后的奥秘,我想你已经迫不及待地想了解这个区块链应用的底层协议和实现。下载源代码,打开项目的白皮书,比特币白皮书(迄今为止应该是最精简的区块链技术教程),然后就开始和代码硬钢吧。这个时候组成一个兴趣小队,互相交流分享,会事半功倍。别忘了你还可以向官方的技术大牛请教,这些人通常都很乐于讨论技术问题。这个过程可能会花费比较多的时间,如果想深入底层技术,这个过程是跳不过去的。同时还要积极地去找bug、提issue、提PR,将学习结果进一步的展现出来。当你对协议和代码有了一定的理解后,你通常会想做这么几件事:
以上仅是我个人的学习经历和方法,不作为标准,也不一定正确,只希望对大家能有一点帮助。
写在最后,我相信很多人都了解这个领域有很多的噪音,区块链这个词一度也被认为是只有投机者和骗子才会使用。我想说的是,技术解决不了人性的黑暗面,但是我们可以选择以什么样的角度来看待这个世界。
欢迎订阅公众号:守护进程