首页 资讯 正文

学习区块链技术需要掌握哪些知识?

字节区块 2019年12月04日 07:45

区块链作为当下的热门技术,入门的人不多,深入研究者更是少之又少

区块链技术从最开始的简单的炒币行为到现在以技术为核心的发展过程中,越来越多的人了解到区块链技术的重要性,学习区块链技术我们需要掌握哪些知识呢?

学习区块链需要了解网络通信

目前来看,区块链主要涉及无结构化的点对点通信(P2P);未来有可能会在联盟链中衍生为结构化的P2P通信。点对点通信其实就是建立起一条虚拟链路,底层物理链路可能随着网络抖动的变化(与网络状况、区块大小、区块中交易数量等因素有关)而改变相应的路径。因此,建议夯实了解网络通信的基础知识。

学习区块链需要了解数据存储

之前的数据存储方式大多都是基于面向高吞吐量的键值数据库,而现在随着区块链技术的发展,传统关系型数据库(例如MysqlOracle)也可以成为存储介质,甚至有的公司开始使用大数据平台(Hadoop+Habse)来构建底层的存储机制。下一代分布式版本文件系统(IPFS)也是一个需要跟踪的重要方向;

学习区块链需要了解加密技术

主要需要了解哈希函数和非对称加密的基本原理和数字签名的运行机制,这也是区块链核心的加密技术,更重要的,目前金融系统中使用的都是国密算法,与区块链技术对应SM2SM3SM9国密算法需要重点了解;

学习区块链需要了解共识机制

最开始流行的是可信任环境中分布式系统的共识机制(例如PaxOSRaft),主要涉及CAP理论,在保留分区容错性(Partition tolerance)的基础上,数据最终一致性(Consistency)和系统可用性(Availability)之间会存在一个权衡。区块链技术主要强调的是,在一个去信任环境中的共识机制,包括比特币的工作量证明机制(PoW)、点点币的权益证明机制(PoS)、比特股的股份授权证明机制(DPoS),以及后期发展的实用拜占庭容错算法(PBFT)和相关共识算法的持续演进,需要一个长期的跟踪和实践。

学习区块链需要关注隐私保护

区块链本身就是基于非对称加密的安全通信。但是,可以根据交易末尾的特定数字查询到相应的交易关系,通过核心路由器的路由表、网卡的物理地址(MAC地址)和手机的国际移动设备识别码(IMEI号)等信息追踪交易者的身份信息,破解基于洋葱路由(Tor)的暗网对信息的隐藏。后来,逐步出现基于环签名的门罗币(Monero)、基于零知识证明的ZCash和同态加密技术。不论是环签名、零知识证明,还是同态加密技术,都有些艰深晦涩,属于一个较大的门类。一般来说,掌握了隐私保护技术,也算是一个区块链专家了。

学习区块链需要掌握安全技术

主要涉及私钥安全,如何产生私钥的保密算法或者基于身份的新私钥生成算法,后期还要跟踪研究智能合约的安全性,以太坊区块链会遭受的脆弱性攻击。智能合约的安全性可能还需要熟悉相应的编译原理和虚拟化等技术。

学习区块链需要了解跨链技术

跨链技术是指不同结构、不同类型的区块链互联互通的一种技术。业界中比较出名的是波卡链(Polkadot链)和宇宙链(COSMOS),属于面向异构区块链的跨链技术代表。跨链技术可以分为以区块链自身作为消息传递媒介的波卡链(Polkadot链),通过账本间连接者传递通信消息的瑞波Interledger协议和通过状态通道及路由来支持跨链通信的Aeternity等多个子类。

学习区块链需要了解链下技术

如果区块链的每笔交易都在链上完成,性能可能是区块链系统的一大瓶颈。那么如何提升区块链系统的性能呢?以不采用数字签名验签的方式,在链下完成大批量的小额支付,是一个不错的发展方向,这种技术称之为链下技术。学习区块链的链下技术,可以重点关注比特币对应的闪电网络和以太坊对应的雷电网络。

学习区块链需要关注一些衍生技术

例如单链和多链的结合,参考英国数字货币RSCoin;埃森哲推出的可编辑的区块链技术,颠覆无法篡改的本质(银行回滚需要);IOTA推出的基于有向非循环图(DAG)的区块链技术(其实已经没有链的概念了),开始摆脱区块链的传统定义,逐步向分布式账本技术靠拢。

学习区块链需要与实际行业相结合

最最最重要的,区块链只是一门技术,真正的要完成区块链的学习,离不开专业垂直领域的深度学习,懂区块链只是懂个皮毛,懂行业+懂区块链才是真正的区块链专家。

区块链是一门技术应用,是一种工具,真正应用到才是的价值体现。它不仅带来的是技术上的创新,而且对未来的经济关系、行业分工都有着巨大的价值潜力。