区块链技术没那么复杂,别被外界忽悠晕了

这两年数字货币很火,不过很多人把数字货币和区块链等同于一码事,其实这是两个完全不同的概念。区块链是一项技术,而数字货币是区块链的一种应用而已,但区块链的应用远不止于此,只不过当下区块链的应用只有数字货币比较火热而已,很多人就会把区块链误解为就是数字货币。

区块链技术近两年丝毫不亚于人工智能,大公司的岗位需求与布局比比皆是,区块链作为一种全新的技术,未来具体的应用有很多可能。

区块链开发需要掌握什么样的技术知识?接下来的文章将向大家仔细解读。

01

区块链技术体系

数据层

数据层是区块链结构的基础,涉及的技术体系包含:区块元存储,区块链式结构,时间戳机制,哈希签名技术,Merkle树,非对称加密等一系列技术。

网络层

区块链是一个全球的分布式结构,网络层包含点对点传播与一致性的技术:P2P网络,传播机制,一致性校验机制等一系列技术。

共识层

共识层主要封装各个网络节点的共识算法,推动各个P2P节点高效的达成策略一致。就如同“民主”与“集中”的决策方式一样,共识算法决策权越分散,效率越低,满意度越高。

比特币采用算计工作量证明PoW(Proof of Work)来保证记账的一致性。除了PoW之外,还有PoS,DPos等一系列算法。

激励层

达成了共识,有什么方法激励矿工来挖矿,激励矿工来记账呢?激励层将经济因素引入区块链技术体系,主要包含发行机制,分配机制

画外音:为什么要挖矿,挖矿能得比特币呀。为什么要帮你记账,记账要付费呀。

合约层

如果说数据层、网络层、共识层、激励层是底层基础功能,合约层是建立在基础功能之上的商业逻辑与商业策略,技术上并不复杂,通过脚本去实现合约算法,合约策略。

智能合约具备自治,自足,去中心化等策略,合约脚本一旦启动,不需要进行任何干预,通过底层基础功能来保障合约的履行,保障合约的公正性与公平性。

应用层

利用底层基础功能,编写合约脚本,就能实现最上层的区块链应用,例如比特币BTC,以太币ETH等。

02

做区块链开发要学什么

如果你不只是想学习与了解区块链技术,而是要做区块链开发,想问需要学习什么应用技术,这两块是必不可少的:

Hyperledger Fabric架构:封装了底层基础功能,让工程师专注于业务规则的编码,保证模块化与扩展性

Solidity以太坊智能合约开发

画外音:类比一下,写代码,虽然用SpringMVC,以及各种Java库,但个人认为,http,TCP等基础知识是必要的。

03

如何学习区块链技术

书籍类

如果你英文比较好,google一下应该很快能找到你需要的资料。

英文比较差的话,这些书籍可能适合你上手:(下方高能)

《数字货币与智能合约技术》

《区块链技术指南》

《图说区块链》

网站类

巴比特论坛和非小号是我逛得比较多的:

http://8btc.com/

04

如何获取资料,一起学习

如果你想轻松又高效地了解区块链,推荐看几本区块链技术的书籍

链接:https://pan.baidu.com/s/1OC6KFU2xaOH2zhRLjmo0mA 密码:h5r0

-END-

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180824A10DE600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券