区块链学习路线
目录
区块链学习路线
泛读精读,建立框架
- 区块链的创新在于老技术的组合创新,也正是区块链技术的系统之美,包括:分布式系统、拜占庭问题、密码学、数据结构、P2P网络等技术,以及博弈论、经济学等思想。针对这个特点要 系统化学习 ,具体是 以泛读精读的方式,先建立知识框架,对区块链有个大致的认识 。
- 区块链是伴随比特币产生,因此要搞明白区块链,先弄懂比特币
- 课程
- 了解作为区块链2.0代表的以太坊
- 区块链技术指南
- 这个过程中建立宏观整体的认识,并在日后学习中不断加深、修正和完善框架。同时思考这些问题:
- 区块链、比特币和以太坊是什么?它们的工作原理大概是如何的?比特币和以太坊的区别?
- 它们具备什么 性质?包含哪些关键的技术点?
- 区块链的发明目的是解决什么问题?除此以外,还能解决什么问题?
- 区块链具备什么优缺点?
从外到内,逐一突破
- 此阶段要:**发挥主观能动性—快速定位你存在疑惑的概念和知识点,用一切方法来攻克它。**在脑海中形成清晰的概念,两个区块链中文社区
- 攻克某一概念时难免遇到其他新的知识点,要注意向下递归的深度
- 重点关注的范围应该是区块链工作原理相关的概念,不必过分追求技术实现细节(存疑)。
- 去中心化
- 共识机制
- 工作量证明
- 非对称加密
- 硬分叉
- 双花
- 智能合约
- Merkle Tree
- 51%攻击
- 此阶段要:**发挥主观能动性—快速定位你存在疑惑的概念和知识点,用一切方法来攻克它。**在脑海中形成清晰的概念,两个区块链中文社区
从点到面,构建知识网络
在前面建立框架的基础上,扩大区块链技术的广度和深度,包括但不限于
- 其他区块链项目,如:Filecoin、Fabric、EOS等
- 不同类型的共识算法
- 零知识证明
- 区块链的可扩展性方案
- 智能合约的编写
- ……
学习这些东西过程中,不断思考和构建知识之间的联系—这个知识和别的知识有什么关系?是如何关联一起的?
知识的本质永远不是信息本身,而是信息之间的联系。正是这种联系,涌现出了超越单个信息点总和的「系统性」。
区块链技术创新的本身恰恰就是 系统性
所使用的方法有
对比 如:PoW与PoS之间的区别?
分类 如:目前解决区块链的可行性方案有哪些潜在的研发方向?具体有哪些技术手段?
提炼 尝试用最精炼的语言貌似一类相关的知识点,比如比特币的核心原理:
中本聪使用非对称加密解决电子货币的所有权问题;用区块时间戳解决交易的存在性问题;用分布式账本解决剔除第三方结构后交易的验证问题;用工作量证明和最长链约定来保证节点状态的一致性,已解决「双花」问题。
架构 尝试对系统中的关键模块和模块间的关系进行抽象,并绘制成架构图,如:区块链的分层架构。
流程
实践是检验真理的唯一标准
将技术落地到应用,尝试在本地搭建比特币、以太坊的测试网络,和做不同类型的交易交易。对于以太坊,你还可以部署和调用智能合约等等。
开始编写更加复杂的Dapp应用,在此环节,你的主要目标是熟悉并掌握开发Dapp的相关技能和工具。
Code As Documentation
选择一个你感兴趣的项目,阅读它的源码,了解底层技术的实现原理,将理论与实践进一步融会贯通。关于项目的选择,我个人建议是以太坊,至今为止,以太坊的应用面还是最广的,受到各大互联网公司的青睐
如何阅读和学习以太坊的源码,个人建议结合以太坊的黄皮书对比阅读学习。可参考:
最后
- 区块链行业真处于高速发展的时候,作为区块链从业人员,不仅仅要掌握技术,还需要时刻掌握行业动态,挖掘其他有价值的项目,把握认知变现的机会。
- 区块链行业真处于高速发展的时候,作为区块链从业人员,不仅仅要掌握技术,还需要时刻掌握行业动态,挖掘其他有价值的项目,把握认知变现的机会。