区块链技术体系,快捷学习路径?
这两年,数字货币和区块链很火。年初写过一些区块链与比特币的文章,反响也很不错。不少网友催我继续写区块链,我在这个方向未曾深耕,也不敢造次,结合自己的经验,写写区块链涉及的技术体系,以及学习区块链的途径和方法。
一、区块链技术体系
数据层
数据层是区块链结构的基础,涉及的技术体系包含:区块元存储,区块链式结构,时间戳机制,哈希签名技术,Merkle树,非对称加密等一系列技术。
网络层
区块链是一个全球的分布式结构,网络层包含点对点传播与一致性的技术:P2P网络,传播机制,一致性校验机制等一系列技术。
共识层
共识层主要封装各个网络节点的共识算法,推动各个P2P节点高效的达成策略一致。就如同“*”与“集中”的决策方式一样,共识算法决策权越分散,效率越低,满意度越高。
比特币采用算计工作量证明PoW(Proof of Work)来保证记账的一致性。除了PoW之外,还有PoS,DPos等一系列算法。
激励层
达成了共识,有什么方法激励矿工来挖矿,激励矿工来记账呢?激励层将经济因素引入区块链技术体系,主要包含发行机制,分配机制。
画外音:为什么要挖矿,挖矿能得比特币呀。为什么要帮你记账,记账要付费呀。
合约层
如果说数据层、网络层、共识层、激励层是底层基础功能,合约层是建立在基础功能之上的商业逻辑与商业策略,技术上并不复杂,通过脚本去实现合约算法,合约策略。
智能合约具备自治,自足,去中心化等策略,合约脚本一旦启动,不需要进行任何干预,通过底层基础功能来保障合约的履行,保障合约的公正性与公平性。
应用层
利用底层基础功能,编写合约脚本,就能实现最上层的区块链应用,例如比特币BTC,以太币ETH等。
二、做区块链开发要学什么
如果你不只是想学习与了解区块链技术,而是要做区块链开发,想问需要学习什么应用技术,这两块是必不可少的:
Hyperledger Fabric架构:封装了底层基础功能,让工程师专注于业务规则的编码,保证模块化与扩展性
Solidity以太坊智能合约开发
画外音:类比一下,写代码,虽然用SpringMVC,以及各种Java库,但个人认为,http,TCP等基础知识是必要的。
三、如何学习区块链技术
书籍类
如果你英文比较好,google一下应该很快能找到你需要的资料。
英文比较差的话,这些书籍可能适合你上手:
《数字货币与智能合约技术》
《区块链技术指南》
《图说区块链》
网站类
巴比特论坛和非小号是我逛得比较多的:
http://8btc.com/
http://www.feixiaohao.com/
视频课程类
网易云课堂的《区块链开发工程师》课程,是比较不错的。
课程讲师:钟蔚蔚,浙江大学软件工程硕士,趣链科技平台支撑部负责人。
课程大纲内容:
1.区块链生态现状介绍
2.区块链平台的选择
3.开发项目,手把手教你写区块链应用
4.数据上链实践
视频类直播
网易云课堂的区块链直播《3步了解区块链》,是口碑比较好的。
直播时间:7月25日20:00
直播讲师:梁秀波,浙江大学软件学院副研究员,网易区块链开发工程师微专业技术顾问。
直播大纲:
1.区块链技术体系与技术前沿
2.区块链典型应用场景及落地应用
区块链学习资料包
如果没有时间看视频或者直播,网易云课堂这边提前梳理好的资料包,是一个快速获取区块链系统资料的途径。
四、如何获取资料,一起学习
感兴趣的同学,欢迎加QQ群554226279,一起学习,相互讨论。
画外音:一起学习,相互讨论,同时有个督促。
群主已经整理好福利:免费课程,免费直播,免费资料包(源码,笔记,PPT,电子书),加QQ群即得。另外,直播时间是7月25日20:00,得抓紧了。
扫码加QQ群554226279,免费领取资料,一起学习
分享给想往区块链方向发展的程序员们,希望能够帮助到你们。
点击阅读原文,交个朋友,一起进步吧!
不感兴趣也没关系,帮忙转发给更多朋友!谢谢。