眼花缭乱的区块链技术 如何入门?

区块链技术有多火?整整烧了3个月!在学习Blockchain的同时让我激动的主要两点:

其一,它集各种现存的技术于一身,解决了一个实实在在的问题:在一个节点之间彼此不能信任的分布式环境下,如何构建一个 open ledger,解决 double spending(双花)问题。如果说 blockchain 是站在巨人肩膀上的技术,一点也不为过。下图是主流的 cryptocurrency 使用到的技术:

它涵盖了分布式系统,密码学,网络,编译原理,虚拟机以及各式各样的数据结构,基本上把 CS 所涉及的主要技术都摸了一遍。如若完整走过某个 cryptocurrency(比如 bitcoin / ethereum)的学习,对技术的夯实是显而易见的。

其二,blockchain 领域的创新(如果是真正要做事情而非圈钱式创新),在目前这个阶段,技术人占主导地位(翻身农奴把歌唱)。和 SaaS,电商,OMO 等应用领域不同,blockchain 还处在基础研究的阶段,技术起决定性因素。如果没有对现有技术体系完整详尽的了解,你很难找对切入点,甚至都不知道哪些问题可以解决,哪些问题不能解决。我看过一些 Product-driven 的白皮书,连起码的技术都没搞懂,对 blockchain 技术的现状都不清楚,就抨击比特币和以太坊的诸多道听途说过来的问题,然后洋洋洒洒写下大篇毫无意义的文字解释自己如何发明了一种新的方法,解决现存的问题,从而可以完成某某某应用。

以上两个原因使得我们关注 blockchain 相关的技术变得理所当然。我在「程序员的好日子什么时候才到头?」一文中说过:

市场一直对程序员的需求强劲,可靠的供给却严重不足。70 年来,几乎平均每五年,对程序员的需求就增长一倍。这意味着市场上大量充斥着 < 5 年工作经验的,新入行的程序员。这意味着什么?在这样一个疯狂的市场下,程序员这个职业本身已经获得比其他职业高得多的溢价,而靠谱的,有经验的程序员,则很容易在这个溢价的基础上,再翻上一两番。没办法,这是供需决定的。

如今 blockchain 领域的投资不断飙升,需求越来越强进,而市场上靠谱的程序员却少之又少,巨大的亏空必然会让有经验有能力的程序员变得超级抢手。

然而区块链技术比较难以入门,很多人一腔热血扎进去却碰了个钉子 —— 这有几个原因。

一. 整个体系还处在相当早期的阶段,工具和资料都不完善,大部分时间,我们需要 read the fxxking paper / code 来获得正确的认知。这往往令初学者很难窥到门径去深入学习。网络上虽然充斥的大量的文章,但要么蜻蜓点水,流于表面,要么干脆不谈技术,只聊虚头巴脑的应用。

二. 虽然 blockchain tech 还在早期,但各种 cryptocurrency 已经「乱花渐欲迷人眼」,市值在千万美金以上的都有 450 种之多(https://coinmarketcap.com)。generation 也从第一代的 bitcoin,到第二代的 ethereum,再到目前喧嚣的 blockchain 3.0。到底从哪里看起,心里没数。

三. 主流的 cryptocurrency,比如 bitcoin 或者 ethereum,安装个环境,就把你那 mbp 可怜兮兮的 512G disk 快要吃光 —— 还没开始学习呢,家底先败没了。

四. 新概念太多,不好理解。好容易搞清楚了 open ledger,又冒出来个 PoW,然后是 UTXO,然后是 smart contract,然后是 side-chain,无穷无尽。就拿核心的共识机制来说吧 —— 我最近在写一篇关于共识的文章,整理了一下,目前被各种白皮书提及的共识机制就有:PoW,PoS,PoI(NEM),PoD(Nebulas),PBFT(Hyperledger),FBA(Stellar),Hybrid PoW/PoD(peercoin),Tendermint(cosmos),dPoS(EOS)。。。数不胜数,真是黑云压城城欲摧,共识机制惹人悲。再说下去,都快要「从入门到放弃」了,有木有?

不过,我们敬爱的 Professor Randy Pausch 说过:The brick walls are not there to keep us out; the brick walls are there to give us a chance to show how badly we want something.

你可能感兴趣的:(眼花缭乱的区块链技术 如何入门?)