ブロックチェーンエンジニアになるには?- 必要なスキルと学習方法-

ブロックチェーンエンジニアとは

まず「ブロックチェーンエンジニア」とは何か?
ここ点に関しては正直、まだ明確な解がないように思います。

一般的にはブロックチェーン領域で活動しているエンジニアという意味合いで使われており、大きくは以下の2種類に分けられると思います。

・ブロックチェーン自体を実装するエンジニア
・ブロックチェーンを使いこなして開発をするエンジニア

数としては圧倒的に後者の方が多く存在しています。ブロックチェーンを用いるアプリケーションを開発する場合、現在はEthereumのような大きなプラットフォームもあります。

チェーンを独自実装するよりもハッシュパワーが大きい既存のブロックチェーンを用いる。そのほうがより効率的なパターンが多いからでしょう。

そのため、企業が提示している求人の募集要項などを見ると「ブロックチェーンを使いこなせる」ことが求められています。それができるエンジニアがブロックチェーンエンジニアと呼ばれているという肌感です。

ブロックチェーンエンジニアは、領域によって身につける技術の特性などは異なり、一般化は難しいのではないかと思います。

ブロックンチェーンエンジニアに必要なスキル

ブロックチェーンエンジニアになるために必要なスキルは、
ざっと列挙していくと下記の通りになるかと思います。

  • webの基礎知識
  • サーバーサイド/DBの知識
  • ブロックチェーンの仕組み – 暗号技術、ハッシュ関数、公開鍵暗号方式

webの基礎知識やサーバーサイド/DBがまだ身についてない方は、
Progateやドットインストール、Udemyなどの学習サイトやプログラミングスクールを活用して身につけていいかもしれません。

ブロックチェーンの仕組みを知りたい方は、下記の本がおすすめです。

「Mastering Bitcoin」(ビットコインとブロックチェーン)

現時点で最も基礎を身につけられる技術書は、A・アントノプロス氏が著された原題「Mastering Bitcoin」(邦題:ビットコインとブロックチェーン)だと考えています。

Bitcoinと実装されているブロックチェーンの仕組みについて、トランザクション構造、公開鍵暗号方式、ウォレット方式などがコード付きで丁寧に解説されている良書です。

ブロックチェーンの始まりはBitcoinで、LitecoinもDashもビットコインのソースコードを基に作られています。「Mastering Bitcoin」で基礎となる技術要素を身につける事がまず第一歩だと考えています。

image

ビットコインとブロックチェーン:暗号通貨を支える技術
作者: アンドレアス・M・アントノプロス,今井崇也,鳩貝淳一郎 

また、有志による日本語訳も無料PDFで公開されています。

「ブロックチェーンアプリケーション開発の教科書」

2018年2月に発売されたこの本は、Bitcoinに限らず、Ethereum、日本語情報では詳しく書かれています。 Ethereumのアプリケーションを開発するためのTruffleフレームワークについても書かれているのは、日本語の書籍でこれがはじめてかと思います。

image

ブロックチェーンアプリケーション開発の教科書
作者: 加嵜長門,篠原航,丸山弘詩

ブロックチェーンがどのように動いているのかを把握し、基礎となる用語がわかったら第一関門突破です。

また、もともとwebエンジニアとして活躍されている方は、Ethereumに触れてみるのがいいかと思います。簡単にDapps開発ができるようになるでしょう。

ブロックチェーンエンジニアになるための学習方法(Etheruemに触れる)

Ethereumはスマートコントラクトを簡単に実装することができ、オリジナルのトークンや分散アプリケーションを比較的簡単に実装することができます。

また世界的に見てもEthereumの開発者が多く、ネットや書籍に情報が多いため学習にこまることがないです。

Ethereumを触るなら下記リンクに基礎から応用までをまとめたので、この内容を順番に実践すると理解が早くなるのでおすすめです。

Gincoのエンジニアである髙妻さんのブログに非常によいまとめがありましたので、下記引用させていただきます

>>Ethereumの基礎からSolidity、DAppsまで学ぶためのまとめ一覧

基礎は理解していて、より実践的な内容を学習したい人はこちらを読んでみてください。

>>TruffleとZeppelin Solidityを使ったERC20トークンの実装

>>EthereumのERC20トークンをRopstenネットワークにデプロイしてオリジナル通貨を作る

>>Truffle、Solidity、GanacheでEthereum DAppsを作る

そのほかですと、継続学習や復習の観点も兼ね下記サイトも見ながら学習を進めてみるのがよいかと思います。

[リンク]
「Ethereum公式チュートリアル」
:公式チュートリアルに則って学習していけば最低限の暗号通貨発行コントラクト、クラウドセール、投票機構などの実装が可能です。

Cryptozombies
:Ethereum特有の話になりますが、独自言語であるSolidityの文法を、ゲームを作りながら学ぶことが可能です。

概ね基本がわかってきたと感じたら、公式リソースから学習するのもおすすめです。

はじめに書いたように公式情報のWhitepaper、Wiki、GitHub上で行われる改善提案やリサーチのディスカッションを追ったり、参加するのが良いです。

[リンク]
BitcoinのWhitepaper
EthereumのWhitepaper(日本語版)

また、上記まではEthereumをメインに話を進めてきましたが、身に付けたいブロックチェーンの特性にあわせて学習の方向性を定めることです。

・DashやZcashといったBitcoinを基にしている純粋通貨型でも独自の実装があるブロックチェーン
・NEMやLISKといった独自プラットフォーム系ブロックチェーン
・Hyperledgerなどのプライベート系を構築できるブロックチェーン

などそれぞれ独自仕様が存在します。それらもドキュメントの参照と手を動かしつつ両輪で学んで専門知識を身に付けていくのが良いかと思います。

ブロックチェーンエンジニアの需要

ビットコイン(BTC)の相場は1年間下落トレンドでしたが、求人サイトのGlassdoorの調査によると、ビットコインやブロックチェーンに関連する仕事の数が前年比で300%増加しているといいます。(参照:Coingape

ビットコイン(BTC)のリアルタイムレートを確認

求人需要が大きくなっているのは、ニューヨーク、サンフランシスコで、それに続き、シンガポール、トロント、香港でも増加しています。資金調達をしたブロックチェーンスタートアップが集中している地域とこれはそのまま重なります。

もちろんこの求人の半分以上がエンジニアであることは言うまでもありません。日本国内でも、ブロックチェーンエンジニアは不足しており、今現在においてブロックチェーンの知識はなくとも、これからブロックチェーンエンジニアとして学習する価値は大きいでしょう。

前述をしたようにブロックチェーンエンジニアの需要は高く、それに伴い、給与も上がっています。技術職に特化した人材紹介企業のHired社の統計によれば、ブロックチェーンエンジニアの年収は平均15万ドル(約1,600万円)~17万5000ドル(約1,900万円)であり、機械学習領域のエンジニアと同等としています。

つまり、ブロックチェーンエンジニアの給与が高騰しています。
誤解を招かないように注意書きをしておくと、肌感では日本ではここまで高くないです。

おそらく調査元では多くの求人があるニューヨークやシリコンバレーエリアの給与が反映されており、給与の差はあっても、当該地域は生活コストも高く、生活費を差し引いた可処分所得に関しては日本の実感とは遠いものがあることも認識すべきと言えます。

しかし、それでも日本国内でもブロックチェーンエンジニアの給与が高騰していることは間違いありません。

まとめ

今後ブロックチェーンエンジニアの需要はどんどん上がってくることは確実だと考えています。

現時点でも、すでにブロックチェーンエンジニアが足りていません。
これからさらに市場が伸びていくことが予想されるので
今のうちからブロックチェーンを学んで将来への投資にしていきましょう。