不好意思,打个假!互联网上,总是有人在制造话题。
短视频、共享单车、直播答题、新零售,所谓的风口一个接着一个的出现,然后又瞬间消失。
这里面大概有3种人。极少数的人真正去研究开发产品,以期改变世界和创造未来。而更多数的人不过是为了投机,他们愿意花钱投资这些热门的新兴产业,希望能够短期为自己带来爆炸性的回报。而有人愿意砸钱就肯定有人会去圈钱,许多人打着这些新兴产业的名号,不过是为了圈一笔热钱,然后逃之夭夭。
年,这个风口和话题变成了区块链。
是人才泡沫,还是真实需求?
近日,拉勾网公布“年区块链高薪清单”,其中腾讯、小米、阿里等互联网公司招聘区块链工程师的月薪在20k-60k之间,苏宁易购区块链资深开发岗的最高月薪达10万元。随后BOSS直聘也公布“旺季人才趋势报告”,报告显示区块链技术的岗位平均薪资已经达到了2.85万元。
前海知行资本总裁孙祺扬接受采访是曾言,“当前区块链行业薪酬标准存在泡沫,是因为很多公司、项目都在做,所以只能抓紧时间备足粮草。当越来越多人进入这个行业,区块链行业的高薪便不可持续了。”
然而更深层次的情况则是,市面上大量“区块链”的公司和项目只是噱头,高薪招聘中存在大量泡沫,“而很多招聘从JD中就能看出,很多公司就是为了招人去割“韭菜”的。”根据去年年底德勤发布的《区块链技术变革:来自GitHub平台的见解》,GitHub上有关区块链的项目有个,每年平均增长个新项目。其中,仅有8%的项目在过去的6个月中有更新,项目平均寿命仅为1.22年。
是新鲜科技,还是不明盲从?
在行业发展的初期,人才缺口大是常态。但与人工智能之类的高科技不同,区块链行业出现“人才荒”的主要原因是行业发展太快,而技术队伍还没有反应过来。事实上,区块链技术非常简单,对于搞计算机技术的人来说几乎没有门槛。下面奶总就给大家从技术角度解释一下区块链的技术。
什么是区块链
区块链就是把加密数据(区块)按照时间顺序进行叠加(链)生成的永久、不可逆向修改的记录。区块链使用最高级的加密技术,同一个时间将数据(区块)遍布全球数百万的电脑上的账本中,所有的数据都是公开透明的,并不需要一个中心服务器作为信任中介,在技术层面就能保证信息的真实性、不可篡改性,也就是可信性。
直接一点,核心技术是什么?
核心技术1:区块+链
关于如何建立一个严谨数据库的问题,区块链的办法是:将数据库的结构进行创新,把数据分成不同的区块,每个区块通过特定的信息链接到上一区块的后面,前后顺连来呈现一套完整的数据,这也是“区块链”这三个字的来源。
区块:在区块链技术中,数据以电子记录的形式被永久储存下来,存放这些电子记录的文件我们就称之为“区块”。区块是按时间顺序一个一个先后生成的,每一个区块记录下它在被创建期间发生的所有价值交换活动,所有区块汇总起来形成一个记录合集。
区块结构:区块中会记录下区块生成时间段内的交易数据,区块主体实际上就是交易信息的合集。每一种区块链的结构设计可能不完全相同,但大结构上分为块头(header)和块身(body)两部分。块头用于链接到前面的块并且为区块链数据库提供完整性的保证,块身则包含了经过验证的、块创建过程中发生的价值交换的所有记录。
核心技术2:分布式结构
我们有了区块+链的数据之后,接下来就要考虑记录和存储的问题了。我们应该让谁来参与数据的记录,又应该把这些盖了时间戳的数据存储在哪里呢?在现如今中心化的体系中,数据都是集中记录并存储于中央电脑上。但是区块链结构设计精妙的地方就在这里,它并不赞同把数据记录并存储在中心化的一台或几台电脑上,而是让每一个参与数据交易的节点都记录并存储下所有的数据。
核心技术3:加密算法
什么是非对称加密?简单来说,它让我们在“加密”和“解密”的过程中分别使用两个密码,两个密码具有非对称的特点:(1)加密时的密码(在区块链中被称为“公钥”)是公开全网可见的,所有人都可以用自己的公钥来加密一段信息(信息的真实性);(2)解密时的密码(在区块链中被称为“私钥”)是只有信息拥有者才知道的,被加密过的信息只有拥有相应私钥的人才能够解密(信息的安全性)。
核心技术4:脚本
脚本可以理解为一种可编程的智能合约。如果区块链技术只是为了适应某种特定的交易,那脚本的嵌入就没有必要了,系统可以直接定义完成价值交换活动需要满足的条件。然而,在一个去中心化的环境下,所有的协议都需要提前取得共识,那脚本的引入就显得不可或缺了。有了脚本之后,区块链技术就会使系统有机会去处理一些无法预见到的交易模式,保证了这一技术在未来的应用中不会过时,增加了技术的实用性。
再直接一点,区块链技术都要用上什么开发语言?
未来从事区块链开发的主要有三类开发者:
第一类是开发基于区块链的Web或移动App。这种开发者所需要的技能与今天的Web和移动开发者并无二致。
第二类开发者是开发智能合约的。这类开发者使用类似Solidity这样的智能合约语言,或者直接用Go、Java、Python等语言开发。开发智能合约所要求的语言和算法技术水平不高,什么并发、多线程之类的东西一般用不到,普通开发者均可胜任。但是智能合约的难点在于业务与安全。本质上智能合约就是以代码写成的商业合同,必须对于业务有非常清晰的认识,对于安全有着深刻的理解,才能够写出正确的智能合约。因此,未来智能合约的开发者,可能反而是具体应用领域的行业专家出身居多,因为让他们掌握Python语言,远比让程序员去理解进出口贸易规则或者商业票据业务要容易得多。
第三类开发者,就是区块链核心应用系统和核心平台的开发者。这部分人当然必须是技术高手,按现在通俗的说法,得是后端专家。从语言上讲,C++、Go、Java、Python、JavaScript都有可能要触及。从基础知识来说,要求对密码学、分布式系统、P2P技术、网络编程、系统架构和部署都有相当程度的理解和实践经验。这种开发者显然将是区块链技术浪潮当中的弄潮儿,也将是最大的受益者之一。
区块链到底是未来技术?还是庞氏骗局?
区块链行业真正的门槛主要是认知问题。区块链本身的技术壁垒不算高,发展也不是很深刻,很多程序员一看比特币、以太坊的白皮书,就知道怎么写了。行业现阶段面临的问题是,会写代码的人很多,但从技术层面上升到理念层面还需要时间。未来在市场的推动下,会有越来越多传统IT行业的人进入这个领域。随着人们理念层面认知的提升,区块链行业将愈加规范,技术应用将逐渐出现并有效落地,直至改变人类生活。而在此之前在热门科技出现之时,技术人员应当先了解本质核心,扎实基本功,才是正确掌握未来之道。