リモートで働くブロックチェーンエンジニアのブログ

ブロックチェーン領域のエンジニアとして働いています

【書評】マスタリングイーサリアム(Mastering Ethereum)は、Ethereumで何ができるかが分かる良書

f:id:naomasabit:20191222233816p:plain
マスタリングイーサリアム

SECURITIZEに買収が発表されたブロックチェーン・コンサルティング会社のBUIDLのVPであり、監訳者である宇野さんより、マスタリングイーサリアムをご恵贈いただきました。

頂いたので、僭越ながら書評を書かせていただこうと思います。

マスタリングイーサリアムは、Ethereumで何ができるかが分かるように構成されている

本書は15章に分かれており、1章の「イーサリアムとは何か」から始まって、Ethereumのノードクライアント、トランザクションやウォレットの仕組み、中盤からはスマートコントラクトの内容が書かれています。

スマートコントラクトを実現するためのSolidityに加えて、おそらく日本語書籍では初のVyper言語に関する解説があり、またERC20,ERC721トークンの実例などが書かれています。

トークンに関してはERC721の説明に必要なファンジビリティ(参考:https://blockchainexe.com/erc721/)の説明からしっかりと書かれていますし、ユーティリティトークンとエクイティトークンの違いも書かれており、イーサリアム界隈でよくでてくる知識が体系的にまとまっています。

終盤の章では、オラクル、DAppsの要素技術、ENSなど発展的な内容も含まれています。

なお、ENSに関しては私が監修しているエンジニアがブロックチェーンを見るノートでも解説していますのでよければご覧ください笑

note.com

章の一覧はこちらです。

1章 イーサリアムとは何か
2章 イーサリアムの基礎
3章 イーサリアムクライアント
4章 暗号化
5章 ウォレット
6章 トランザクション
7章 スマートコントラクトとSolidity
8章 スマートコントラクトとVyper
9章 スマートコントラクトセキュリティ
10章 トークン
11章 オラクル
12章 非中央集権型アプリケーション(DApp)
13章 イーサリアム仮想マシン(EVM)
14章 コンセンサス

プロダクション環境でスマートコントラクトを動かす人には超有用なセキュリティ事例集がある

9章では「スマートコントラクトのセキュリティ」が記述されています。有名なDAO事件、Parityハックは有名ですが、BECトークンのアンダーフローによるトークン不正発行、DELEGATECALLのオペコードを使うことによる問題や、ハッカーをターゲットにしたハニーポットコントラクト、バンコールDEXのフロントランニングなど多岐にわたる論点について詳説されています。

これほど広範に脆弱性を説明している書籍は他にないと思います。

セキュリティ観点に関してはConsensysのSmart Contract Best Practicesなどにも掲載されていますが、コードとともに実例が掲載されています。プロダクション環境でスマートコントラクトを動かす人はみておきたい内容が特にあると思われます。

Ethereumに携わる方、これから携わろうと考えている方にはおすすめ

マスタリングイーサリアムは過去のナレッジがまとまっており、しかもオラクルもchainlinkやOraclizeなどへの言及や比較的新しい内容が載っています。(Solidityは0.4系ですが、書籍発行とのタイムラグを考えると致し方ない)

逆に、ブロックチェーン一般の知識については、ウォレットの生成方法や公開鍵暗号の章でブロックチェーンに触れる上でどうしても必要な基礎内容には触れられていますが、利用されている暗号技術を深く掘り下げることはしていません。

これはアンドレアス氏の前著マスタリングビットコイン(邦題:ビットコインブロックチェーン)でブロックチェーンや暗号技術の利用手法がすでに書かれているからでしょう。

Ethereumに携わる方、これから携わろうと考えている方は本書で「Ethereumで何ができるのか」がわかり、引き出しを増やすことができるのでおすすめの書籍です。ブロックチェーンを広く学びたい方は、マスタリングビットコインを読んだ後に手に取ると良いと思います。

また、マスタリングイーサリアムを読まれる際は、拙訳「Solidityプログラミング」もよろしくお願いします笑

マスタリング・イーサリアム ―スマートコントラクトとDAppの構築

マスタリング・イーサリアム ―スマートコントラクトとDAppの構築