什么是区块链技术入门必看,什么是区块链技术的核心

  

  区块链实际上是多种技术的结合。非区块链技术人员想入门需要掌握哪些知识?让我们来看看思维导图。   

  

  区块链知识图谱   

  

  眼睛里有一些花和树?搞技术这么辛苦,要不断学习学习。简单总结一下这张图,图中有些知识点其实没有列出来。   

  

  1.程序设计语言   

  

  要懂C是因为比特币的源代码是用C写的,想要懂比特币,就要懂C;   

  

  了解golang是因为以太坊和超级账本的架构是用go写的;   

  

  坚固是以太坊的智能契约语言,想发展DApp必须学会;   

  

  2.分布式基础   

  

  区块链的基础是P2P网络,所以需要掌握P2P网络相关的知识:   

  

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

  

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

  

  NAT穿透,比如比特币使用的upnp协议;   

  

  3.比特币的运行机制:   

  

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

  

  4.共识算法:   

  

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

  

  Paxos算法:非拜占庭一致性算法,常用私有链;   

  

  Pbft算法:拜占庭容错一致性算法,一般用于联盟链;   

  

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

  

  5.算法:   

  

  加密算法,特别是非对称加密和数字签名技术,以及哈希算法,这些都在区块链使用;   

  

  零知识证明:区块链常用的算法:   

  

  此外,如默克尔树、布鲁姆过滤器等。还需要掌握以下内容;   

  

  6.以太坊工具:   

  

  Web3.js、geth、truffle等以太坊开发工具需要熟练使用,会用到它们来构建私有链,部署自己的契约。   

  

  7.区块链安全:   

  

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

  

  8.数据库资料库   

  

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

  

  9.源代码:   

  

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

  

  简而言之,非区块链岗位的技术人员如果想在区块链起步,还有很多知识要学。从最近找工作的经验来看,一般从事后台开发的技术人员加入公会比较容易,其他的相对比较难。他们可以考虑做一些更高层次的方向比如钱包、交易所。   

相关文章