正經(jīng)區(qū)塊鏈工程師需要掌握哪些技能?

從2017年開始,區(qū)塊鏈逐步成為互聯(lián)網(wǎng)的風口浪尖。曝光度的激增帶來了人才市場的火爆,我陸陸續(xù)續(xù)接觸了許多來參加面試的候選人,大部分是沒有區(qū)塊鏈從業(yè)經(jīng)驗的。

作為專業(yè)方向是分布式系統(tǒng)理論并且從事相關(guān)行業(yè) 5 年多的研發(fā)架構(gòu)師,我想從面試官的角度來闡述要想要掌握區(qū)塊鏈核心技術(shù)所需要的一些知識和技能。希望能給到加入這個新興行業(yè)的同學,一些啟發(fā)。

說到技術(shù),我所指的主要還是研發(fā)。由于我負責的是技術(shù)崗,因此對于技術(shù)上要求會比較嚴格(嚴格并不等于高),簡單來說,基礎(chǔ)知識需要十分扎實。許多過來參加區(qū)塊鏈工程師面試的同學,大部分人給我的印象是,看過一點介紹區(qū)塊鏈知識的書籍,問一點淺顯的知識是能夠答得上來,但是稍微具體一點的,就會變得含糊不清了。

在我看來,區(qū)塊鏈所要求的知識并非什么特殊的或者新興的知識,除了密碼學領(lǐng)域的知識需要專門了解之外,其他知識和技能幾乎都是一些比較通用的網(wǎng)絡(luò)開發(fā)核心知識。

由于區(qū)塊鏈行業(yè)涉及到的范圍非常廣泛,從各種基礎(chǔ)設(shè)施,到各種上層應(yīng)用,它們對技能的要求范圍是不一樣的。根據(jù)我的經(jīng)驗,大致把區(qū)塊鏈開發(fā)分為兩個大的部分:技術(shù)層和應(yīng)用層,以便候選人根據(jù)自己以往的專業(yè)技能背景選擇自己合適的領(lǐng)域。

圖片發(fā)自簡書App

一、技術(shù)層

技術(shù)層是區(qū)塊鏈最下面的一層,這一層主要工作是底層技術(shù)與基礎(chǔ)設(shè)施的開發(fā)。我們可以把技術(shù)層比作操作系統(tǒng)的內(nèi)核,應(yīng)用層則是在操作系統(tǒng)之上構(gòu)建各種軟件。比如我們最常見的比特幣網(wǎng)絡(luò),它的核心技術(shù)就來源于它的共識機制(POW)。當然,對于大部分鏈來說,共識的原理都是其最核心的部件。要構(gòu)建這樣的共識機制,還需要更加底層的技術(shù)支持,比如網(wǎng)絡(luò)通信、數(shù)據(jù)存儲、加密安全等等。所以,這一層對于技術(shù)的內(nèi)涵要求比較高,這里的技術(shù)是一項綜合的能力,我把它總結(jié)為三個部分:理論基礎(chǔ)、專業(yè)經(jīng)驗以及技術(shù)能力。

1)理論基礎(chǔ)

理論基礎(chǔ)主要是指分布式系統(tǒng)理論,如果是專業(yè)出身(比如計算機專業(yè)-分布式系統(tǒng)方向),或者有過從事過分布式數(shù)據(jù)庫、網(wǎng)絡(luò)等相關(guān)的經(jīng)驗,那么可能會對這一部分相對了解或熟悉。熟悉并深入理解分布式網(wǎng)絡(luò)的特點和各種算法,是能夠在區(qū)塊鏈領(lǐng)域大有作為的前提之一。

這里,我簡單列舉需要掌握的一些分布式系統(tǒng)核心概念:

· 全序/偏序,因果順序

· 物理時鐘/邏輯時鐘

· 兩階段算法(2PC)/三階段算法(3PC)

· Safety && Liveness

· FLP 不可能定理

· Paxos/Multi-paxos

· Raft/Multi-Raft

· CAP 理論

· 副本一致性、強/弱、最終一致性

· 簡單哈希/一致性哈希

· Base/ACID、分布式 ID 等等

· BFT(Byzantine Fault Tolerance)

2)專業(yè)經(jīng)驗

專業(yè)經(jīng)驗則是指對目前最主流的區(qū)塊鏈項目的掌握程度,比如 Bitcoin、Ethereum 等,不僅要了解它們的運行原理,賬戶模型、智能合約等,而且要能在它們的基礎(chǔ)上持續(xù)改進、開拓以及創(chuàng)新,比如對側(cè)鏈的輕節(jié)點、分布式存儲、擴容方案等有一定的理解等。

為此,我也做了一個列表,主要展示對區(qū)塊鏈的專業(yè)經(jīng)驗的一些要求:

· 目前區(qū)塊鏈主流共識算法之間的差異(比如 PBFT、 POW 等原理與區(qū)別)

· 聯(lián)盟鏈、公鏈及私鏈之間的區(qū)別及適用場景

· 針對區(qū)塊鏈的攻擊方式:51%算力攻擊、Sybil 攻擊、Eclipse 攻擊、DDos 攻擊

· P2P 網(wǎng)絡(luò)通信模式(Gossip、Totem、DHT 等)

· Merkle Tree 數(shù)據(jù)結(jié)構(gòu)

· Bitcoin UTXO 模型,以太坊轉(zhuǎn)賬流程(GAS 計算、Nonce 值等等)

· 以太坊智能合約的編寫,Solidity 相關(guān)知識

· 密碼學(公鑰/私鑰、ECDSA、RSA、哈希算法)、簽名、多重簽名、盲簽名等等

· 以太坊協(xié)議:ERC20、ERC721、ERC223、ERC875

· 比特幣(P2SH 地址、交易腳本等)

3)技術(shù)準備

技術(shù)能力則是一項通用能力,是對網(wǎng)絡(luò)編程、內(nèi)存控制、操作系統(tǒng)、編解碼、密碼學、異步編程等開發(fā)功底的一個綜合考核。它是一個日積月累的能力,扎實的技術(shù)背景可以讓我們快速適應(yīng)區(qū)塊鏈底層的開發(fā)。

為此,我列舉了一些比較核心的研發(fā)能力和技術(shù)準備:

· 數(shù)據(jù)結(jié)構(gòu)(二叉樹、trie 樹、數(shù)組、結(jié)構(gòu)體/類 等等)

· 算法(回溯/遞歸、字符串編碼、排序、搜索等等)

· 鎖(原子鎖、互斥鎖/自旋鎖)、死鎖檢測、內(nèi)存泄露檢測

· 多線程編程(共享內(nèi)存、線程/進程/協(xié)程)、用戶態(tài)/內(nèi)核態(tài)

· 同步、異步、阻塞/非阻塞、多路復用 I/O

· 異步編程/響應(yīng)式編程范式、事件驅(qū)動

· 網(wǎng)絡(luò)編程:TCP/IP/UDP 協(xié)議、time_wait 狀態(tài)、socket/select/epoll、C10k 問題等

· 服務(wù)器編程:熟悉 Linux 編程、系統(tǒng)資源(如:cpu/io、disk、usage等)

· HTTP 協(xié)議、RPC 通信、負債均衡等等

圖片發(fā)自簡書App

二、應(yīng)用層

應(yīng)用層是區(qū)塊鏈最重要的一層,也是區(qū)塊鏈行業(yè)能蓬勃和持續(xù)發(fā)展的力量來源。應(yīng)用層主要涉及的是區(qū)塊鏈產(chǎn)品,我們常見的有比如:數(shù)字錢包(imToken)、分布式交易所(Cosmos、bitshare)、瀏覽器插件(MetaMask)、區(qū)塊鏈游戲(CryptoKitties、FOMO3D)、保險產(chǎn)品等等。

開發(fā)這些應(yīng)用級別的產(chǎn)品,通常是與底層的區(qū)塊鏈系統(tǒng)進行交互,因此并不需要對區(qū)塊鏈底層技術(shù)達到非常專業(yè)的掌握。但需要我們對區(qū)塊鏈的核心概念有了解,以便能與鏈的開發(fā)者在同一語言上進行溝通而不至于誤解。

當然,應(yīng)用層的開發(fā)對技術(shù)的要求也是共同的。它雖然沒有技術(shù)層對技術(shù)能力要求的那么高,但是其更加側(cè)重對創(chuàng)新和落地。

之后,我會通過分析一些常見的區(qū)塊鏈應(yīng)用,來展示思路而不是技術(shù)本身在應(yīng)用層所展現(xiàn)的強大能量和生命力。

作為區(qū)塊鏈行業(yè)中的一員,我深深感受到區(qū)塊鏈技術(shù)對互聯(lián)網(wǎng)世界的重大意義,它不僅帶來的是技術(shù)上的創(chuàng)新,而且對未來的經(jīng)濟關(guān)系、行業(yè)分工都有著巨大的價值潛力。當然現(xiàn)在,區(qū)塊鏈技術(shù)還處在改變世界的早期階段,沒有一個大規(guī)模的應(yīng)用是其一個硬傷。但是我們也看到,各種區(qū)塊鏈創(chuàng)新項目在這波浪潮中如雨后春筍般冒出來,許多頂尖的人才都在致力于解決當前區(qū)塊鏈項目的去中心化、安全性和可擴展性這個所謂的“不可能三角”,甚至已經(jīng)有項目處在領(lǐng)先的位置。所以,我們不僅需要找準自己的目標和方向,更需要夯實技能,爭取成為區(qū)塊鏈領(lǐng)域中有分量的一員。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 巴比特旗下時戳資本近日發(fā)布了《區(qū)塊鏈公鏈項目研究報告》。作為時戳資本區(qū)塊鏈行業(yè)研究報告系列03,這份最新的報告主要...
    shenciyou閱讀 2,649評論 1 10
  • 這是從走財富自由之路的第22篇文章,這一期要打磨的概念是,資本量級的差異。 一、思考與行動 你最近一次腦子里冒出“...
    璀璨如域閱讀 286評論 1 1
  • 我們都知道,高中生寫作文尤其是在寫議論文的時候,最大的問題有兩個:一個是沒有思想,不知道擬個什么中心論點好;一個是...
    流螢edu閱讀 805評論 0 2
  • 兒子最近迷上了沈石溪動物小說,今天幽幽地說:媽媽你像母狼一樣,很兇惡但是深愛著狼崽兒
    雙魚呆呆閱讀 159評論 0 0
  • 冬 那年冬天。晚霞寂照,星夜無眠。馬行跪在師傅的舍利面前,不禁潸然涕下。走時師傅尚能健步如飛,歸時卻已羽化涅槃。行...
    灑家老萬閱讀 397評論 0 0

友情鏈接更多精彩內(nèi)容