Py学习  »  区块链

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

程序人生 • 6 年前 • 463 次点击  

2018 年,最令人激动的技术便是 blockchain tech —— 我曾在今年的计划中,将 ML 和 blockchain 列为上下半年学习的方向,不料阴差阳错,先上了 blockchain 的贼船。blockchain 让我激动的地方主要有两点:

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

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

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

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

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

如今 blockchain 领域的投资不断飙升,需求越来越强进,而市场上靠谱的程序员却少之又少,巨大的亏空必然会让有经验有能力的程序员变得超级抢手。所以,对于程序员来说,这是一个非常值得关注的领域 —— 它不像 ML/DL/AI,专业性强,如若没有好的数学底子和开放性的思维,很难出类拔萃;在 blockchain 领域,需要的更多是广博的知识和工程能力。

然而 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.

所以不要畏惧。那么,如果我现在开始看 blockchain,究竟该如何入门?是从 bitcoin 看起?还是直接上 ethereum?甚至,直接研究感兴趣的白皮书?

这次回京,我将和云享客合作,举办一次 blockchain 技术的线下活动,针对初学者,介绍以下几个话题,希望能帮助大家更好地入门:

  • 什么是 open ledger?从 bitcoin paper 谈起

  • 分布式系统简介

  • 为什么形成共识这么困难?从 paxos 到 PoW,再到一堆 PoX,它们都解决什么问题?

  • bitcoin 交易是如何完成的?为什么需要引入op code 和虚拟机?

  • bitcoin 里面那些天才的设计?对我们设计软件有什么启发?

  • bitcoin 目前都支持哪些应用?它的主要问题是什么?

  • Ethereum 对于 bitcoin 有哪些技术优势?什么是 smart contract?

  • 什么是 ERC?都有哪些重要的 ERC?

  • 在数百种 cryptocurrency / blockchain solution 中,哪些项目在技术上值得关注?

  • 如何阅读白皮书?有哪些值得读的白皮书?

分享的时间大概 3-4 小时。

时间:3/31 下午 1:00 - 5:00

地点:云享客长富宫中心(朝阳区建国门外大街26号5号楼一层)

人数上限:80

报名链接:见「阅读原文」。



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/zjzXYWG0dr
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/9136
 
463 次点击