在今天,无论商业圈、科技圈还是金融圈,最热的词汇无非只有一个,那就是“区块链”, 我是黑马程序员的"无崖子"老师,下面我来介绍一下区块链的当下现状、一些区块链基本词汇的扫盲讲解以及未来科技领域的新趋势和开发人员需掌握的知识体系。
一、区块链当下现状
1.国家首推
我们先来几组数据,2018年3月12日,工信部宣布“区块链和分布式记账技术标准化委员会”成立。代表国家承认区块链技术本身,虽然现在区块链的概念被炒作的很神话,很多人用区块链行业的发行代币进行投资甚至投机,但是技术无罪!区块链是一种新型的解决数据安全的一种解决方案。
工信部成立区块链委员会
2.市场现状
我们先看一组Boss直聘统计的数据。
区块链相关照片岗位薪资
根据数据可以看出,区块链的相关岗位的平均薪资已经高达2.58w/月! 我的天,这是捡钱的节奏么?而且这个数据目测一直还在上升阶段。不管是做技术、产品、运营、还是市场,行业薪资都是领先地位。
区块链岗位城市分布比例
再来看市场分布,一线城市岗位居多,北京为首。上海,深圳,杭州也在逐步增加。
二、区块链小白扫盲-去中心化意义
既然区块链如此之火,那么它的概念到底是个啥呢,我们可以用几个场景给读者们还原一下。首先我们要了解两个词汇,“中心化”与“去中心化”。
1.信息公正问题
为了解释这两个词,我们先构建一个场景,如下图所示。
信息场景
有一天一个男孩对一个女孩说,"愿意爱你一生一世",这个誓言发送了给了女孩,女孩居然真信了。但是男孩过几天突然就变卦了。如下图所示。
信息不公正
当男孩提出说分手的时候,他之前承诺的誓言“愿意爱你一生一世”将毫无意义,而且对之前的誓言不需要承担任何的责任,因为“愿意爱你一生一世”这句话,没有任何人可以作证。那怎么去解决这个问题呢?有两种方式可以解决,一种是中心化的方式,另一种就是去中心化的方式。
2.“中心化”解决信息公正问题
我们可以通过传统的"中心化"方式解决以上问题。怎么解决,之前不是没有人证明么,我们找一个公认的公平人物不就可以了嘛,比如大公无私的包青天,在男孩向女孩表白的时候,让包青天证明不就可以了嘛~这样,当有一天男孩变心反悔,女孩可以找包青天爷爷作证,当然也可以找一些权威的机构去证明这件事。这就是用中心化解决了信息公正的问题。
中心化解决信息公正
3.“去中心化”解决信息公正问题
“中心化”方式虽然解决了信息公正的问题,但是也会有一系列的弊端。有啥弊端呢? 你把全部的依托都压在包青天爷爷身上,人家包青天也是人啊,他也会挂的。就是他长生不老,他也是人类,拥有七情六欲,他也会被男孩用200块钱买通,而说假话。所以将所有的公正权威交给某个中心化的体制管辖,是有一定风险的。而且维护这个体制的公正的成本也会越来越大。
那么怎么解决这个问题呢?
我们可以用一种新的方式,叫做“去中心化”方式。
去中心化解决信息公正
如果男孩向女孩表白的时候,女孩将男孩的某事某刻“爱你一生一世的”聊天记录,转发到微博、朋友圈、QQZONE、抖音甚至是快手。那么这个誓言将被全世界的人所知道,那么所有的吃瓜群众可能都是你的证明人。
这样除非全世界的吃瓜群众同一时刻挂掉,或者男孩要买通所有的人,来更改他之前说过的誓言,但那几乎是不可能发生的事情。
综上, “去中心化” 彻底解决了“信息公正” 的安全问题!
三、区块与区块链
那么,去中心化这个词,我们理解了,那么它和区块链又有啥关系呢?
我们通过去中心化解决的信息公正问题,可以打成一个包裹,里面包含(发出信息的人,收信息的人,需要被公正的信息,和发起的时间), 我们把这个包裹定义称作,叫一个"区块"。那么这个世界上,每天需要被公正的信息,不只有一个,很多通过去中心化得到的包裹,都会得到一个对应的“区块”。
区块
这些区块会每时每刻在全世界各个地方被生成,如果将这些区块通过时间轴穿在一起,就会得到根据时间排序的区块集合,我们就称他们是一个“区块链”了。
区块链
那么每个人都会拥有区块链,而且每个人手里的区块链都是一致的。
由于去中心化,每个人手里都有一个区块链
这样,如果有一个区块,里面包含的事件是某日小One向小露借1000元。这个信息被公正,打包成一个区块,放在区块链中,然后每个人手里的区块链都会加入这个区块的信息。那么当有一天小One不想承认这个区块的信息,他可以销毁自己手里所对应的区块,但是他并不能够去修改其他人手里的区块链,这样小One无法在同一时刻篡改所有人手里的区块信息,信息得到了永远的公正。
区块链不可篡改
四、区块链的应用领域
-
金融领域:
所有人的财产证明,将不只有银行说了算,你的个人价值将永远保值!
-
司法领域:
每个人的不良记录将永远不能被销毁,树正公民良德!
-
社交领域:
比如:恋爱表白区块链应用app。男生如何证明到底有多爱她,只要你敢把你的誓言,放在表白App里。
-
行政领域:
比如:我们每个人的纳税。但是税到底花在什么地方,花多钱并不知道,让国家税透明化,每笔交易记录去中心化,有助于彻底解决腐败。
-
人事领域:
市场大量存在假学历,假履历。如果国家会建立去中心化的每人的履历区块链系统,那么每人的教育经历将永远无法造假,人才市场将更加公正。
-
商业领域:
双11商品限时秒杀!所有的秒杀记录在区块链里,防止内部员工内定。 区块链技术可以净化复杂不可信的世界!彻底解决人与人之前的信任问题!
五、区块链与人工智能
我们现在已经有了人工智能相关的解决方案,但是人工智能通过深度学习,网络神经等技术,只能够解决单个机器的智慧。
如果一个人工智能团队他们项目分享数据,或者共享数据,彼此之间也存在信用问题。
人工智能面临的问题
但是如果区块链系统已经成熟,就可以彻底解决人工智能团队配合问题,任何领域的智慧机器都可以共享数据,并且通过区块链技术可以彻底解决数据公信的问题。所以真正的智能时代现在只是竖起了***条腿,如果站的更稳就需要第二条腿,那就是区块链技术。
未来趋势
人工智能+区块链
六、区块链开发技术栈
1.区块链技术岗位技能要求
我们再来看一组boss直聘上统计的数据,目前在招的区块链岗位主流的语言是Go和C++语言,早起的区块链系统和应用程序主要是以C++实现,现在多树公司在打造自己的公链系统都会选择Go语言作为实现。
区块链岗位技术
2.Go语言与区块链
为什么Go语言会成为区块链的主流编程语言呢?Go语言来自Google,创建于2009年,英文名字叫Golang,中国人翻译的很直接,"够浪"(Golang)。Go语言的开发者被称作Gopher(地鼠), 当然也有很多开发者喜欢自嘲,直接称,"I am 够浪!".
Go语言
Go语言有三个特性,开发速度快,并发性好,编程简单。Google在创立Go语言的初衷就给Go语言定义为:“简单快乐的开发高性能程序。”
Go语言的特征
因为区块链系统开发涉及到算力及应用,这些C++语言自然可以解决,但是繁琐的开发成本过高,用其他上层语言,如java、python等虽然能降低开发成本,但是性能及区块链的算力又跟不上,所以很多企业在开发区块链技术的时候,就会选择开发成本低并且开发性能客观的Go语言作为***语言。
再看几组拉钩的区块链岗位招聘数据。
区块链岗位1
区块链岗位2
我们会得到几乎大多数以上的岗位均需要掌握Go语言,并且区块链的体系多偏向后端编程语言体系,多数岗位要求具备密码学、安全协议及对安全认证算法有一定了解。
3.区块链开发方向
目前市场对于区块链开发的技术方向已经逐步清晰,主要分为区块链上层应用开发和区块链底层系统开发。上层应用开发涉及到的语言比较广泛,如Go、Solidity、Java、C++、Python、node.js等。但是有关区块链底层系统开发,多数Go语言为主,或者C++语言开发。
区块链技术方向
区块链架构
七、结语与QA
随着越来越多人的了解区块链,区块链也会不知不觉伴随我们的生活,作为技术开发人员,我们应该以敬畏的态度面对新科技。今后新的时代或新的生活方式到来,我们应该保持学习和采纳并且客观的态度面对,而不是主观的排斥,这样我们才能顺应这个时代,成为时代的先驱者。
Q:还是感觉太抽象,至今都还不能具象化的理解这个区块链,也没找到具象化的解释,费解???
A:正如区块链这个名词一样,它是被创造出来的,并没有以往的概念可以映射到上面,所以容易费解。我们不谈这个概念,我们只需要想想我们的互联网还需要什么。正如比特币白皮书提到的,一个点对点的现金系统,他使用的前提要求是很低的,不需要注册,不需要手机号,一个点对点的网络,只要你用设备接入,那么你就可以使用。区块链这个概念也一样,目的是构建一个点对点的生态,解构权力带来的不对称。它本身只是一个共享的总账本,不同于网络中多节点自己记账,再对账,这就瓦解了中心权力。