📖

『試して学ぶ スマートコントラクト開発』を読んでみた

2022/02/05に公開

🎍 はじめに

この記事は、 加嵜長門, 篠原航, 金志京, 河西紀明, 田中克典, 佐々木亮彰 2019 『試して学ぶ スマートコントラクト開発』 マイナビ出版 の読書感想文です。

本書は、ブロックチェーンにおけるスマートコントラクト開発を、俯瞰的に解説した書籍であり、スマートコントラクト開発に携わる、あらゆるロールの人に役立つ知見が包含されています。


  1. 「Chapter1 はじめてのスマートコントラクト」

スマートコントラクト開発に必要となる基礎知識として、ブロックチェーンやDAppsなどの概念や特徴を解説。

2 「Chapter2 Solidityによるスマートコントラクト開発」

EthereumベースのDApps開発で使われる言語、Solidityの解説とともに、ゲーム開発を通じてSolidityを学べるCryptoZombiesとブラウザベースの統合開発環境Remixを紹介。

  1. 「Chapter3 スマートコントラクトのプロダクトデザイン」

DApps開発の価値を高めるための、UXデザインの基礎知識や実践的なプロトタイピングの手法を紹介。

  1. 「Chapter4 DApps開発環境の構築」

DApps開発で必要となる開発ツール群とそのインストール方法を紹介。

  1. 「Chapter5 開発用ブロックチェーンの構築」

開発に利用するブロックチェーンのノードを構築する手法を紹介し、ノードが実際にP2Pネットワーク内でどのように動作するのかを解説。

  1. 「Chapter6 スマートコントラクトの設計」

スマートコントラクトの設計と実装。DAppsに特有の設計上の注意点や利用するフレームワークの使い方も解説。

  1. 「Chapter7 テスト手法と自動化」

スマートコントラクトのテストコードの記述方法とその自動化の手順を解説。セキュリティ対策についても触れている。

  1. 「Chapter8 Webアプリケーションの実装」

ブラウザでのスマートコントラクトの利用に必要となる実装を解説。

  1. 「Chapter9 テストネットへのデプロイと監査」

スマートコントラクトをテストネットへデプロイする手順を説明。

  1. 「Chapter10 発展的なDApps開発」

DApps開発のためのサービスや標準規格、デザインパターンなど、より発展的なDAppsを設計・実装する際に役立つ情報を紹介。

  1. 「Chapter11 DApps開発の未来」

急速な技術革新が進むEthereumの先端技術や暗号技術に加え、新たなスマートコントラクトプラットフォームなど、今後のDApps開発に有用となりうる技術を紹介。


以上が本書の目次であり、この目次からも、非常に多くの知見が包含されている書籍であることを読み取れることと思います。

私のための本なのか?

本書を読了した時の最初の感想は、 「この本、誰が想定読者なんだ?」 でした。

DApps開発に関するあらゆる要素が詰め込まれた本書は、企業のボードメンバーや意思決定者、決裁者が理解するには仔細が過ぎており、一方でいち開発者やデザイナーが読むには、紹介範囲がその職域を大幅に超えております。DApps開発者のマネージャーやディレクターが読むのには適しているのかもしれませんが、些か内容が難しいかも知れません。プロジェクトマネジメントやシステム監査の項が含まれており、個人開発者にとっては、関係が薄い内容も多分に含まれております。

ただ、理想を言うのであれば、上記に紹介したロールの各位にも、本書を読み、内容を理解してほしいとは思います。本書に書いてある知見は、DAppsに限らず有用なケースも多々あるため、システム開発を俯瞰するためにも、一読する価値はあるはずです。営業職に役立つ内容は比較的少なかったですが、とはいえ知見が広いに越したことはないでしょう(それを言ったら元も子もないのですが...)。

なお、本稿の筆者たる私にとっては、非常に有用な本であり、繰り返し読んでおきたい内容でした。

正社員としての私は、Webフロントエンド領域の開発をしつつ、チームのマネジメントも行う立場です。また、ブロックチェーンについて探求し、自社に情報をフィードバックしたりもしています。一方で、私は私の企業の代表取締役社長でもあります。おひとり零細企業なので、当然、あらゆる決裁権と責任を有している立場です。

どちらのロールにおいても、もし将来的にブロックチェーンの案件に従事する場合に、本書の俯瞰的な視座に基づく数多くの知見を、実案件にも採用していく立場たりえます。故に個人的には、本書の内容は非常にありがたいものだったのですが、私のような異端者は世に多くはいないはずですので、本書の著者が「誰に向けて書いたのか」は気になる次第です。

会社に1冊常備して、読み回すのがいいかも知れない

「いや全員買えよ」という話ではあるのですが、如何せん視野が広い本であるため、1社に1冊置いて、それを読み回すのもありかなと思います。Chapter1 は全員が読んで、Chapter2 以降は必要なロールの人員が読むといった感じですね。

例えば、Chapter3 はプロダクトデザインの話です。本章では、UXハニカムといったプロダクトデザインの理論や、ストーリーテリングといったデザインのための具体的なアプローチなどが紹介されております。こういったトピックは、DApps開発以外でも有用な知見であり、Webデザイナーを始めとするプロダクトデザインに関するステークホルダーは一読しておくべき内容でしょう。逆に、Chapter4は開発環境の構築方法の話なので、Webデザイナーには関連の薄いトピックとなります。一方で、Chapter4はこれからDAppsを開発するエンジニアにとっては有用な内容ですので、このような状況にあるエンジニアは一読しておくといいかもしれません。

Chapter9であげられている監査については、プロダクトの規模が小さかったり、読者のロールが作業者レベルである場合には馴染みの薄いトピックですが、監査の依頼を決済できるレベルの担当者はもちろん、通常のWeb AppよりもセキュリティにシビアであるDAppsを作る開発者にとっても一読の価値があります。

幅広いトピックを扱う本書では、Chapterによっては「自身とは直接的な関係の薄い」トピックが往々にして包含されています。本稿の掲題では読み回すことを推奨していますが、地震と関係の薄いトピックであっても、ステークホルダーに関する理解を深めるためにも、本稿の読者には、願わくば、全てのChapterに目を通していただきたい所存です。

お気持ち

本稿執筆時現在、ブロックチェーン技術や、それを低レイヤーに据えた技術設計であるWeb3、またブロックチェーン技術の一環であるNFTに対する世間からの評価は、決してポジティブ一辺倒とは言い難い状況にあります。これらの語が一般層に認識され始めた昨年よりかは一定の理解が得られつつあるものの、「必要ない」「詐欺的である」「環境に悪い」といった風評が根強く残っているのが現実です。

一方で、ビジネスの観点では、これらの技術を活用したプロジェクト・プロダクトは増え続け、その市場は拡大し続けています。一般層にリーチし、Web2の市場に対してゲームチェンジを引き起こすプロダクトが世に出るのもそう遠くないことと思われます。

こうした状況において、プロダクトのセラーと、プロダクトのユーザーとなりうる市民の双方に求められるのは、ブロックチェーン技術を学ぶことです。こと技術的トピックスであるブロックチェーンにおいて、これについて物申したり、市場に参入する以上、その学習を怠ることは、怠惰であり、欺瞞であり、大罪です。インフルエンサーでない私が「インフルエンサーになる方法」を語るのと同様に、それは荒唐無稽であり愚かな営みです。

言ってしまえば、「必要ない」「詐欺的である」「環境に悪い」というブロックチェーンに偏見をいただくVR原住民の意見も、「NFT化すれば価値が出る。所有権を証明できる」「ブロックチェーンを使えば分散化できる」といった上流工程担当各位の言説も、不勉強ゆえのお気持ちでしかなく、嘆息しかでません。

なので、ブロックチェーン技術を勉強しましょう。

本書では、幅広いトピックスからスマートコントラクトの開発を多角的に俯瞰することができます。少々難度は高いですが、繰り返し読めば非エンジニアであっても理解できる内容ではあるはずです。最初の学習に本書を勧めるかは迷うところですが、ブロックチェーン技術の概要を理解できているレベルであれば、一読して損する内容ではないはずです。

惜しむならば、ビザンチン将軍問題や囚人のジレンマといったゲーム理論への言及がなかったことでしょうか。ゲーム理論はブロックチェーン技術におけるAppendixな要素である気もするので、言及しないことが悪いことではないのですが、「ここまでやるならゲーム理論も...」という欲が出てしまいます。

末筆ながら、タイトルは「詐欺的」だと思います。

GitHubで編集を提案

Discussion