- 2018.02.14
- Events
【セミナーレポート】外国人スタッフによる、ブロックチェーン実証実験のソースコード解説と現場の声
2018年1月24日(水)、INDETAIL本社LABO2にて、ブロックチェーンのセミナーを開催いたしました。
2017年10月に発表した医薬品売買システムの実証実験(PoC)を題材に、以下の二部構成でのセミナーとなります。
- 第一部:PoCにて使用したプラットフォーム「Hyperledger Fabric」の特徴や概要の説明
- 第二部:実際のシステム開発担当者によるPoCの「ソースコード」の解説
今回とても特徴的なのは、いずれの講師も外国人スタッフが登壇する、ということです。
多国籍なスタッフが活躍するINDETAILらしさが垣間見える、当セミナーの模様をレポートしたいと思います。
第一部:PoCにて使用したプラットフォーム「Hyperledger Fabric」の特徴や概要
日本人なら誰でも知ってるあのフレーズから、ブロックチェーンのルーツを語る。
第一部の講師は、ロシア出身のスタッフが登壇。
ご参加いただいた皆さんの目の前には外国人しかいないという、普段とは別の緊張感が漂う中、彼の講義は意外なあのフレーズから始まりました。
「むかしむかし、あるところに・・・」
わたしたち日本人には馴染みのある昔話の始まり文句が出た瞬間、おそらく皆さんの聞き耳が立ったのではないでしょうか。
その昔話というのは、台帳管理のルーツを語るものでした。
昔の人が馬の売り買いに「粘土板」を台帳として使っていた話に始まり、2008年のブロックチェーン誕生までが語られます。
また、ブロックチェーンの有用性についても解説。中央管理型のデータベースとブロックチェーンとの比較でわかりやすくおさらいしました。
ブロックチェーンと分散型データベースの違い | BlockChain Online ブロックチェーンオンライン
「Hyperledger Fabric」の概要について
続いては、Hyperledger Fabricについて、です。
プライバシーの機密性の高さや、Chaincodeの機能の多様性などの特徴とともに、フレームワークのモデル、トランザクションで成り立つブロックの生成や、ネットワークと構成についてなど、詳しく紹介しました。
参考:Hyperledger Fabricについての入門やチュートリアルを、ブロックチェーンオンラインにて公開中です。
医薬品の売買システム実証実験(PoC)の概要
最後に、「医薬品のデッドストック解消」を目的とした実証実験(PoC)の概要についてです。
医薬品の在庫データを正確に追跡できること、また、取引に信頼性を担保できることなどから、この実証実験の有用性に触れ、ではどんなことに流用できるか、といった解説で第一部は幕を閉じます。
第二部:システム開発担当者による実証実験(PoC)の「ソースコードの解説」
第二部は、実際に2017年10月に発表した医薬品売買システムの実証実験(PoC)の開発メンバーから、ヨーロッパ出身の開発者が登壇。
現場の生の声によるソースコードの解説が、この第二部のメインになります。
Hyperledger Fabricのセットアップを、ステップごとにソースコードで解説
そのセットアップは大きく以下の6ステップです。
- Docker
Hyperledger FabricのDockerイメージ を起動する - Channel
チャネルを作成・参加する - Chaincode
チェーンコードをインストールする - Initialize
マスターデータをアップロードする - REST
RESTサーバーを起動する - Ready
ウェブ・アプリが使えるようになる
それぞれの要点を解説しながら、時折実際のソースコードをスクリーンに映し出し、どのようなプログラムで組まれているかを解説していきます。
開発者自らが解説するという貴重な機会とあって、メモをとったり写真に収めたりしながら聞き入る方も数多くいらっしゃいました。
話せなくてもいい、英語を「読める」人がいると強い ~開発を振り返って~
二部の締めくくりは、当PoCを振り返っての現場からの感想です。
開発にあたって文献や資料を探す際、日本ではまだまだ情報が少なく、日本語のドキュメンテーションを見つけることはほぼ不可能だったという背景から、開発現場には英語を「読める」開発者がいることが大きな強みとして作用する、という話がありました。
これは決して、英語を話せる必要はなく、ドキュメンテーションに対して理解できるレベルであればよい、という観点から、敢えて「読める」という表現をしています。
その点、5名の外国人スタッフが在席するINDETAILのブロックチェーンチームは、分があると言えるのかもしれません。
質疑応答
最後に、今回のセミナーにおいて、一部・二部ともにご質問をいただきましたので、いくつかご紹介します。
負荷と安全性について
<ご質問>
従来のデータベースの場合、全ての大量のデータは1つの場所に集約されていますが、分散型のブロックチェーンの場合はそのすべての場所において各々が大量のデータをもつことになりますか?
<回答>
ブロックチェーンの場合、各ピアーに同じデータが保管されており、そのデータ量が大きくなることは当然あります。しかし、その代わりに安全性の担保があります。ネットワークの全ての参加者が同じ情報を持っているため、こっそりデータを更新することができません。容量の面で確かにマイナス面に見えるかもしれませんが、安全性を担保する観点から、それはデメリットとしては扱えません。
Dockerの管理について
<ご質問>
Dockerイメージをどのように管理しますか?
<回答>
Hyperledger Fabric をスタートするときに複数のDocker コンテナをマウントしなければなりません。最も重要なのはノードのロケーションを管理するイメージです。実際、プロダクションに入ったら、各ノードがロケーションかサーバーにデプロイされます。物理的に離れていても、ネットワークのアドミニストレータが全てのノードのイメージにアクセスおよび管理できるようなシステムが必要となってきます。Docker swarm か Kubernetes を使用すれば、これらは実現できます。
ご参加いただいた皆さま、ありがとうございました。
当セミナーのためにわざわざ東京からいらっしゃった方もおり、たくさんの方にお越しいただき、わたしたちも今後の活動により一層気が引き締まる思いです。
ご参加いただいた皆さま、この度はどうもありがとうございました。