技术控看过来,一张图告诉你区块链的知识图谱

区块链实际上是由多种技术组合起来的一个东西,非区块链岗的技术人员要想入门需要掌握哪些知识呢,来张思维导图看看。

技术控看过来,一张图告诉你区块链的知识图谱

区块链知识图谱

眼睛有点花有木有?搞技术就是这么苦逼,得不断的学啊学。简单概括一下这个图吧,图里有些知识点实际上都没列出来。

1、编程语言

要懂C++是因为比特币的源代码就是C++写的,要想看懂比特币,必须得会C++;

要懂golang是因为以太坊和超级账本的fabric是用go写的;

solidity是以太坊的智能合约语言,要想从事DApp的开发必须得学;

2、分布式基础

区块链的基础就是P2P网络,因此和P2P网络相关的知识需要掌握:

KAD算法,这是以太坊的P2P路由查询算法;

泛洪机制,这是比特币中用到的P2P路由查询算法;

NAT网络穿透,比如比特币中用到的upnp协议;

3、比特币的运行机制:

交易的原理,交易验证的原理,比特币的交易脚本等等;

4、共识算法:

区块链的核心之一就是共识。常用的共识算法:

paxos算法:非拜占庭一致性算法,私链往往要用到;

pbft算法:拜占庭容错的一致性算法,联盟链中一般都采用pbft;

pow/pos/dpos算法:公链中用到的一些共识算法,比特币和以太坊用的就是PoW,也就是常说的挖矿。

5、算法:

加密算法,尤其是非对称加密和数字签名技术,另外还有hash,这都是区块链中用到的;

零知识证明:区块链中常用的一种算法;

另外像merkel树,bloom filter等也需要掌握以下;

6、以太坊工具:

web3.js,geth,truffle等以太坊开发工具需要熟练运用,会用他们搭建私链并部署自己的合约。

7、区块链安全:

一些与区块链安全相关的知识也要了解,例如比特币中的双花攻击的原理,以太坊上经典的安全事件及原理等等;

8、数据库

NoSql数据库需要掌握,比如google的level db,redis等等,很多区块链公司都要求掌握这些非关系型数据库。

9、源码:

源码是最好的教程,在源码面前没有秘密可言,比特币和以太坊等经典的区块链都是开源的,荡下源码学习是必不可少的。

总之,非区块链岗的技术人员想入门区块链还是有很多知识要学,从近期找工作的经验看,一般从事后台开发的技术族入行会比较容易,其他的就相对难一些,可以考虑做做钱包、交易所等偏上层一些的方向考虑。


分享到:


相關文章: