Blockchain GIGのスタート:参加者の3分の2がFabric経験者
では実際に「Blockchain GIG #4」ではどんなセッションが行われたのか、その様子をダイジェストで紹介する。
開催日は9月4日。イベントの開始は18時半。月初めにもかかわらず、参加者は78人。ほぼ満席状態でスタートした。
大橋氏によるBlockchain GIGの目的などを含めた挨拶の後、セッションがスタート。最初に登壇したのは中村氏だ。
セッションタイトルは「クイックスタートHyperledger Fabric」。同イベントの告知ページには、「初心者でもすぐに使い始められるよう、基本の『キ』であるネットワーク、コンポーネント、トランザクションについて学ぶ」と記されていたが、中村氏は「内容は中上級編になる」と前置き。先述したように初参加の人も多かったが、ほとんどがブロックチェーンの経験者。中村氏が参加者に問いかけたところ、3分の2がHyperledger Fabricに触れたことがあり、またEthereum系も約3分の1が経験していた。
Hyperledger Fabricがエンタープライズ用途を目的として開発されているというのは、メンバー管理サービスを備えたパーミッションドブロックチェーンを実装していたり、セキュリティ、機密性/プライバシーを強化するための多様な機能や、スマートコントラクトが使えたり、スケーラブルにも対応できるようになっているからだ。
中村氏はHyperledgerのラインナップのうち、「Hyperledger Caliper(ベンチマークツール)やHyperledger Cello(構築ツール)、Hyperledger Explorer(ネットワーク可視化ツール)を覚えておくと便利」と紹介。またこれまで便利に活用できていたHyperledger Composerは8月29日に非推奨のステータスに移行したことも伝えた。
2019年1月にLTS版となるv1.4がリリースされ、本番活用拡大が期待されているHyperledger Fabricだが、v2.x系ではさらなる機能拡張が予定されており、「このように活発に開発されているのがHyperledger Fabricのいいところ」と中村氏は説明する。
そのほかにもHyperledger Fabricのネットワーク構成や台帳の仕組み、データ共有範囲制御、トランザクションフロー、クライアントアプリケーション開発などについても解説を行った。
だが、ブロックチェーンのアプリケーション開発は容易ではない。中村氏は最後に、参考になるサンプルアプリと資料を紹介した。
GitHubでは、fabric-samplesにいくつかサンプルアプリが公開されている。その中でも特に有用なのは以下の2つだ。
資料としては、中村氏が過去にOCHaCafe#4で発表した「Hyperledger Fabric アプリケーション設計入門ガイド」や、日本IBMのWeb連載「Hyperledger Fabric入門」シリーズを紹介。「きっと公式ドキュメントの理解がしやすくなると思います」(中村氏)
ブロックチェーンアプリ開発のヒントとティップスを紹介
続いて登壇したのは日本IBMの栗村彰吾氏。セッションタイトルは「ブロックチェーンアプリ開発のHint&Tips」。Hyperledger Fabricを使ったプロジェクトでディスカッションとなる代表的なポイント、データ設計、チェーンコード設計、アプリ設計、コンソーシアム(運用)に関するヒントとティップスが紹介された。
Hyperledger Fabricを使ったプロジェクトのデータ設計は、「容量の大きなデータの保管にはブロックチェーンは向いていないこと。またフロント・システムのDBとブロックチェーンの台帳はトランザクション処理の考え方が異なるので、更新処理の整合性を確保するには考慮が必要であること、タイムアウトを含む障害時には、運用などで整合性確保を行うこと」などのティップスを披露。そのほかにも個人情報については、ブロックチェーンに情報を書き込まず、オフチェーンを活用することなどが紹介された。
チェーンコード設計では、乱数やシステム時刻、外部システムからの連番取得など非決定論的処理の実装は回避すること、アプリ設計では「更新データの読み取りは同じトランザクション内で行うことができないということに注意してほしい」と栗村氏。またよくあるブロックチェーン・システム構成パターンやユーザー情報管理、鍵管理の方法などについても解説を行った。
最後はコンソーシアムについて。「ブロックチェーンは技術だけではなくコンソーシアムなどのつくりかたが重要になる」と栗村氏。例えば自分たちが管理する部分でアップグレードしたいと思っても、コンソーシアムの運営によっては、その決定が自分たちでできない可能性があるからだ。「ビジネスネットワークとしてどう運用していくかも、議論していかないといけないポイントになります」(栗村氏)
Hyperledger Fabricを商用適用する際の課題とは
休憩を挟んでNTTデータの安達氏が登壇。セッションタイトル「ここがつらいよ、Hyperledger Fabricの商用適用」が表すように、Hyperledger Fabricを商用アプリケーションに使っていく際に検討すべきポイントについて解説を行った。
安達氏はブロックチェーンが持つメリット、デメリットをまず紹介。さらに、Hyperledger Fabricを商用化するにあたって、「冗長構成がないと落ちてしまう」と指摘。可用性を高めるためのアーキテクチャをいくつか紹介するも、「Hyperledger Fabricの商用適用には、高可用性、運用/監視、セキュリティという面でまだまだ考慮すべき点があるのも事実」と述べた。
自前でHyperledger Fabricを構築、運用する場合に、これらを解決する手法として安達氏が紹介したのは、「ブロックチェーン基盤をKubernetes上に整備し、ロギング・監視基盤としては既存のノウハウであるEFK(Elasticeserch、Fluented、Kibana)を採用すること」である。Kubernetes上でHyperledger Fabricを整備すると、コンポーネントごとのHA構成は不要になり、ネットワーク障害、負荷分散を対応するメリットがあるという。「とはいえ、ブロックチェーン基盤だけでは何もできないので、一緒に商用システムを構築しましょう」と参加者に呼びかけ、セッションを終えた。
最後は登壇者全員で参加者の質問に答えるパネルディスカッション
最後のパネルディスカッションでは、参加者からのさまざまな質問に登壇者3人が答える形で進行。リアルタイムに投稿された質問に対して、参加者からのいいねの数が多い質問から順に紹介された。
最初の質問は「Hyperledger Fabricでいろいろ作ってきたが、正直ブロックチェーンを使う意味が見いだせなくなってきている。普通にWebアプリ作って使った方が早いし、安いのでは」。この質問に対して「ブロックチェーンの本当にはまるところは限定的なので、スィートスポットにあてることが必要になる」(中村氏)、「ブロックチェーンに適したユースケースなのかを考えることが大切」(栗村氏)、「DBやWebアプリでできることはブロックチェーンでやる意味はない。ただWebアプリではできないことがブロックチェーンでできることもある。そういう方向でチャレンジすること」(安達氏)とアドバイス。
また「Ordererを誰が管理するべきなのか分からない。どういう設計をすればいいのか」という質問には、栗村氏、安達氏、中村氏いずれも「これはユースケース、およびユーザーの運用能力にもよるが、Ordererノードは重要なのではベンダー側で管理することも多い」と回答。このような具体的な開発の方法論に関する質問だけではない。「Hyperledger FabricのGo SDKの正式リリースがいつになるのか教えてほしい」「2.x系への移行が不安で眠れません。今後のHyperledger Fabricのバージョンアップについて」など、個人的に聞きたいことについても、気軽にエキスパート達に質問できるのが同イベントの特徴になっている。
エンドユーザー、DBエンジニア、アプリケーション開発者にも来てほしい
次回は10月10日に開催する予定。今後、このイベントはどう発展していくのか。「登壇者がいれば、ものすごくディープな技術情報について紹介しあうような回を計画したいですね」と中村氏。一方の大橋氏は「エンドユーザーの登壇者はまだいないので、ぜひ、エンドユーザーの方に登壇していただき、リアルな声を聞きたいですね。そうすると今まで出てこなかった観点での悩みがあると思うんです。そういうセッションを増やしていきたい」と意気込みを語る。
同会では登壇者も募集している。「ぜひ、一度参加して会場で声をかけてください。データベースをガチでやっている人たちにも来てほしい。ブロックチェーンは駄目だという議論をこの場でしても面白いと思うんです」(中村氏)
「私はアプリケーション開発系の人に来てほしいですね。今回の参加者の多くはブロックチェーンの経験者でしたが、最初にも話したとおり、ブロックチェーンは開発環境が整備されてきているので、トライする敷居が下がってきているんです。不安に思っているのなら、ここでナレッジを習得して不安を払拭し、そしてやってみようと思ってもらえると嬉しい。それがエンタープライズでの活用をさらに進めることになると思うので」(大橋氏)
エンタープライズでのブロックチェーン活用について学びたい人は、一度、参加してみてほしい。きっと今後のヒントが得られるはずだ。
Blockchain GIG #5
次回、Blockchain GIGは10月10日に開催。Oracle Open World 2019におけるブロックチェーンセッションフィードバックや、富士通 石原俊氏によるブロックチェーンPoCにおける開発リードタイム短縮のポイント、LayerX神場 貴之氏による社会実装を通じて学んだ困難なポイントやハマった状況のご紹介など、エンタープライズ領域でのブロックチェーン活用に関心のある方は必見のイベントです!