それでは改めまして、本日はハイパーレッジャー 東京ミートアップにご参加いただきましてまことにありがとうございます。すごいね、ちょっと遅い時間のイベントなので皆さんの都合をつけたりするのも非常に大変なのかなと思いますけれども毎回せっせとご参加いただいていることに本当に心から感謝いたします本日はですね、ハイパーレッジャー 東京ミートアップもこれまでだいたい各月ぐらいで開催してきているわけなんですけども今回に関しては、ハイパーレッジャー 東京ミートアップ前回ご参加された方覚えてるかもしれませんけれども前回はハイパーレッジャーのいわゆるユースケースだとかビジネスケース、ビジネスが実際に使用でみたいなものにフォーカスしてイベントを開催させていただきましたで、今回はちょっと趣向を変えて、より技術的なセッションですね前回ややビジネス向け、もしくはイントの処方的なハイパーレッジャーのお話を取り上げたんですけども今回はビジネスよりも技術に特化したそんなミートアップにさせていただいております特にハイパーレッジャーのフレームワークの中でも最も人気があると言われているハイパーレッジャーファブリックの技術に関して取り上げたそういったイベントに今日はしていきたいなと思っておりますで、これが本日の予定ですまず最初にですねこの後6時10分からハイパーレッジャーファブリック簡単構築物よりミニファブリックのご紹介ということで藤井太郎さんよりお話をいただきますで、このミニファブリックなんですけどもおそらくハイパーレッジャーファブリック非常に難しいというふうに地元で言われているんじゃないかなというふうに思うんですけどもその構築を劇的に簡単にする非常に便利なツールですのでぜひ皆さんが動きたいいただければなというふうに思いますこれからハイパーレッジャーファブリックを試してみよう導入してみようという方にとってはたぶん本当に福音となるようなそんなツールなんじゃないかなというふうに思いますで、それから本日2つ目のセッションとしてハイパーレッジャーファブリックプライベートチェーンコードということで皆さんね、当然ハイパーレッジャーファブリックを使ってブロックチェーンを組んでいくという中においてやっぱりチェーンコードっていうのは当然必要なわけなんですけどもその今チェーンコードもファブリックのチェーンコードもあればプライベートのチェーンコードもあってで、プライベートなチェーンコードって皆さんよくご存知かもしれませんけども結構実行環境からして随分違うということで迷われるかともいるんじゃないかなというふうに思いますで、そこで本日ひたちの池川さんがプライベートチェーンコードを各開するためのノウハウを本日ご紹介いただきますので、こちらもぜひご期待いただければなというふうに思いますで、実際に今からセッションを始めていくにあたっていくつか皆さんに共有していきたいものがあるんですけどもまずですね、毎回申し上げていることなんですけどもミートアップの開催中、皆さんからのご質問はずいじはの受付をしておりますで、質問なんですけども皆さんの画面におそらく出てるかと思うんですけどもQ&AボタンがありますのでそこもQ&Aボタンを押してQ&Aボタンから質問いただければなと思いますで、質問が重覆しないように既に出ている質問に対してあ、自分もこれを聞きたかったというふうに思われた場合は、いいねボタンを押してくださいで、質問が多数ある場合で、結構毎回の多数質問が来ることがよくあるんですけども多数ある場合は、参動者の多い質問から答えていくということにしますのでぜひこちらも覚えておいてくださいもし質問、今日時間内にさばききれなかった質問なんかあれば後日、ハイパーレッチャーミートアップのミートアップのページの中にディスカッションっていうのがあるのでそこで回答するようにいたしますのでもし今日質問したんだけども答えが聞けなかったという方はぜひご安心いただければなというふうに思いますで、この後、アンケートを取らせていただきますのでぜひご協力いただきたいなと思いますハイパーレッチャーミートアップ今の東京旗が、ハイパーレッチャーミートアップ東京として開催させていただいているんですけども東京以外にもいろんなところでハイパーレッチャーミートアップ開催されています直近ではこちらですねハイパーレッチャー・カンダスティーアメリカですね中部時間なので、結構でずらい時間ですがハイパーレッチャー・カンダスティーがあったりだとかハイパーレッチャー・ブダペスト・タンガリーですねハイパーレッチャーニューディオクシティそれから ハイパーレッチャーアトランタとあの結構あのハイパーレッチャーの ミートアップ参加する機会がありますでこういったあの海外のハイパーレッチャー ミートアップのいいところってあの海外だとハイパーレッチャーの事例って 結構あるんですね日本ではなかなか聞けないハイパーレッチャーの事例が 海外だと聞ける可能性がありますのでもし海外の事例ちょっと聞いてみたい ちょっと関心があるっていう場合はぜひこういったその海外の ミートアップに顔を出してみるというのもいいのかなというふうに思いますでもう一つ皆さんにアナウンスがありますでハイパーレッチャーあの新しい リナックスファンデーションではねいろんなこうリナックスだとか クバネティスだとかまあ私たちが主催するプロジェクトに関わる トレーニングコースをいろいろ提供しているんですけどもこの度開発者が学ぶハイパーレッチャーファブリックというファブリックのトレーニングコースを 解説いたしましたでまるで今日のこの池川さんの ハイパーレッチャーファブリックプライベットチェーンコードのステッションに合わせたような内容の トレーニングコースなんですけどもこの開発者が学ぶハイパーレッチャーファブリックっていうトレーニングコースは基本的に チェーンコードですねいろいろスマートコントラクト 書いてあるだとかいわゆるブロックチェーンベースのアプリ アプリケーション開発するための知識を知識を見につけるためのオンラインコースですのでご関心ある方ぜひ受講していただけると 嬉しいなと思いますでこれを受講することによって いわゆる認定試験があるんですけどもハイパーレッチャーファブリックの 開発者向けの認定試験ですねハイパーレッチャーファブリック サーティファイドアップサーティファイドハイパーレッチャーファブリック デベロッパーという認定試験があるんですがこれを 受験するための準備コースとしても使えるっていうこのトレーニングコースですので ぜひご活用いただければなと思いますでブログがこれURLで得るリンクが 今チャットにも図られましたけどもここにもうちょっと詳しい説明がありますので ぜひご覧いただければなと思いますそれではミートアップ早速開始していきたいんですけどもちょっとその前にいつも通り投票を アンケートを取らせていただきたいなと思うんですけどもちょっともですねはいじゃあまずアンケートその位置 どこから皆さん参加されてますかというアンケートですこれ毎回聞いてるんですけども 一応低点観測ということでぜひ皆さんにお答えいただければなというふうに思いますはいじゃあ投票を締め切ります一緒とはいはい結果皆さん共有します まあいつも通りですけどだいたいだいたい関東ですよねでも69%いつもいるまあなんか関東 関東職が薄いですね今回はあのチューブの方が多いのと海外 海外が一名いらっしゃるんですねチューブ沖縄から沖縄九州からも来られてて本当にありがとうございますはいでは次の質問ですハイパーレッジャーご覧になりますかね ハイパーレッジャーファブリックをハイパーレッジャーを既に制限サービスで使い始めていますかという質問なんですけどですはい今ご覧になりますかねぜひ買い取りいただければなと思います これもあの30秒ぐらい待ちますのであと3秒じゃあこれにて投票を締め切ります 結果共有しますねすでに製品サービス使用しているが55%それから使用に向けて10 準備中であるというのが21%ですね合わせてまあ7076%の方々が何らかの形であのハイパーレッジャー 仕事でアイパーレッジャーに関わっているということのようだということですはい今回もアンケートに協力いただきましてありがとうございます それではですね早速ですけれどもセッションに入っていきたいと思います それでは最初のセッションは実の中川中川イタルさんよりハイパーレッジャーファブリックミニパブリックに関してお話しいただきます それでは中川さんよろしくお願いしますご紹介ありがとうございますえと不実の中です 本日はハイパーレッジャーファブリック簡単構築ツールミニパブリックについてご紹介いたします まず事項紹介についてですが私はフリット研究所に入社後しばらくネットワーキング iot 関連の研究開発を担当していました2019年にファブリックとの関わりを持ち始めたんですけどもこの時はこのような形でかなり上位の方からファブリックを使うという形になりました その後ミニファブリックと出会い使い始め利用者の立場から改善してくるようになり 今年8月にミニファブリックコミュニターになりましたこちらハイパーレッジャーファブリックの概要についてですが エンタープライズ向けのブログチェンのプラットフォームで複数いろんな種類のプラットフォームがある中で 48%約半数ぐらいのシェアを占める非常にネジャーなブログチェンプラットフォームになっています ユースケースは金融系からサプライチェンまでさまざまありクラウド各社がマネジットサービスとして提供しています こちらパブリックネットワークの概要になりますが コンポーネントが3種類ありましてピアオーダラシーですねそれぞれピアオは大臣やブログを保持しオーダラが トランザクション管理やブログ生成を担当しCEAは認証や証明書管理を担当します この大臣に対してアプリケーションが読み掛けする時はこのチェンコードスマートコンタクトを持ちいます パブリックには中小概念が2つありまして1つ目のこのチャンネルは大臣の共有範囲制業に使われます 同一のチャンネルに属するピアオが持つ大臣が総合に同期されます また2つ目のオーガニゼーションについてですが これは企業や組織に対応し全コンポーネントは何らかのオーガニゼーションに取得します こちらは従来のパブリックコーチがいかに大変な作業であるかということを簡単に示したものです こちらの図のようなネットワークを組む上で設定は1箇所を変更するのに1つの項目を変更するのに複数箇所を編集する必要がある あとオペレーションは1つが数学から成るようなものを100回ぐらい100件以上ミスなく実行し続ける必要があります オペレーションはここで示したように複数種類のフェーズに分かれていまして最初の通信開始するこのチャンネル作成というのが最初の難関になります ここでパスしたとしてもこのチェンコードのコミットがラスボス的な存在でここで失敗すると また振り出しに戻って最初からやるって言ったことが必要になったりします私は最初あの成功には1週間ぐらいで書かれましたこちらはこの設定の親玉であるコンフィグTXの具体例の一部を示したものになります このようにアクセスポイントアクセス先のエンドポイントを指定する必要があるんですけども よくあるレーサンプルとしてこういったイグザンプルドットコムみたいな名前を使うと自分のマシンからは使えても他のマシンから使うとするとうまくいかないといったようなことになりますでえとスッと問題してうまくいかない時にあの他のところをいじってしまうと どともに余って全然動かなくなっていくでえと正しくはあの他のマシンから使うにはこの実際のip アドレスとかポートを指定する必要があってまあ構築先ごとに合わせて8指定が必要になります8設計の時にこういったのを指定しても実際に構築する段階で8ip アドレスあのたまたまその構築しようとしたマシンのip アドレスが変わってしまっていったりあるいはあの現場であの他のマシンを使って構築しようとしたりといったようなことをするとまあこれも失敗のもとになりますでこちらはあのオペレーションの具体例としてこの最初の難関であるチャンネル作成のプレイを示したものですここらへの数字をありますけれどもこれ全部で一層差分になりますでこういうのは100件以上あって8途中でエラーになるともあの状態をあの保持しながらあの8構築が進んでいくのでまああの最初からやり直しってことがまあたびたび発生しますこれはあの環境構築あるあるのパブリック編なんですけども8とトライアルでファブリックを使いたいという時にはそのトライアルが進むにつれていろんなリクエストが来ることが予想されますあの最初の準備としての時は1週間かかると言ってもまああの心よく領収してもらえるんですけれどもこういうのが8続くと相手方はだんだん期限が悪くなりますし8自分たちも広がたまっていくっていうようなことになりますで8構築方法を分かりやすく教えている場合にはもうこれ実質的に無理があるあってまを統計状態となりますでこの時私の場合ですと割と初期の方から頃に8ツールが欲しいなと思い始めて最後の方はもう本気モードであのツールを探し続けました8その時で見つけたのが今回紹介するミリファブリックになります設定はこれがすべてで非常に簡単になっています それで8シーエアピアオーダラーなどの名前を指定すればいいそれ以外のところに関しては必要な時だけ変更するでこれをあの件数を増やしていけば8割と大規模な環境が作れるという形になります 構築オプレーションも非常に簡単で構築の時はアップ前作所の時はクリーンアップを指定すればよく 環境カスタマイズするためのオプションもまあほうふに取り添えていますでまた8前提条件も非常に少なくミリファブリックを使う準備も非常に簡単になっています こちらはミリファブリックを使った場合と従来のやり方で構築した場合のさを簡単なの示したものなんですけれども従来の方はまあ制限時効がない分 オペレーションや設定が非常に複雑で時間も 非常にかかる一方ミリファブリックの方は設定は簡単で8まあ一部カードコーディングがあるんですけれども数分で 関係を作れるという点がありますこちらがそのミリファブリックの設定ファイルを作る時のやり作り方を示したものになります こちらが完成形なんですけれどもこういったリストを作るうえではまず表をイメージして動画に出場にあたるドメイメイを割り当てていきます その後まあそれを企業であるならば企業のホスト名とですね オーダラ用の場合はオーダラのそのホスト名を割り当てていくというような形になりますそれをFQDNで列挙するためにドメイン名とホスト名とドットで 繋げていくような形でその後にグループ分けするとこういったリストができますこの時オーダラは引き通りするのがいいと思います こちらがそのミリファブリックのアキテクチャーでカットフレッシュクラな構築をどうやっているかというのを紹介したものになります利用者がミリファブコマンドを実行すると内部的にミリファブコマンドがこの時の中身がこのようになっていまして ファブリックの構築を聞かしたワークフローやテンプレートと あとユーザーが指定した実行中の引き数や設定ファイルもとにタワンシブルーが自動で設定ファイルやコマンドを生成し これを実行することでファブリックの構築を行いますこの時ファブリックの知識はミリファブリックのプレイズフォルダーの配下に集約されていてそれぞれの実行段階で行われる設定やコマンドというのは バーズフォルダーところに出力保存されていきます先ほど紹介したこのコンフィグTXとかクリプトコンフィグとかもこの中に保存されるような形になっていますこういった形でこれら全てを知識とユーザー指定のものから自動でコマンドを実行していくというような形でこれら全てを満たしつつ自動でやってくれるのがこのミリファブリックになりますこちらはミリファブリックの循覧性を示したものになります先ほど紹介した組織名やコンポネントの名前の指定数の他に ファブリックのバージョンを指定したり自分のチェーンコードを利用したりそれはそのアップルグレードや実行といったことも可能になっていて普段使いのファブリック関係を作るという意味では十分な機能を持っているといえます実際にデモをご覧いただきたいと思います今からご覧いただくデモはミリファブリックのファーストオーサーの方が1年ぐらい前に作ったものになります音声をズームの方にまく転送できなかったので高等で説明しながら見ていきたいと思いますこちらはどこかのバージョンを押すのですが 最近の新しめのものでも動作しますこちらはミリファブリックのインストールになります 特定のURLから取ってくる形Aですねこれを使いやすいところに置きますこれはコマンドヘルプを表示しますいろんなオプションやサブコマンドが定義されていることがわかると思います次に現在どこかコンテナが動いていないことを確認するためにリストを表示してみます全くないことがわかりますこれが構築コマンドです複数のフェーズを経て構築が終わりますこちらの上部分がチェーンコードを実行するためのコンテナで下側が各コンポーネントのコンテナになりますこのようにコンテナが実行されていることがわかります次は全削除のクリーナップコマンドですこちらも少し時間がかかりますがコマンド一発で全削除ができますこういった形でできますこれでパブリック構築に必要な軸を全て収得されていく形になりますなのでパブリックを好きな時に作って使うことができるようになります今後推行なんですが今まで数日使わなかった構築作業が数分でできるようになるミニパブリックを使うと数分でできるようになる選ぶのはこういってみませんかミニパブリックの利点は簡単すぐに作れるということで使い捨てもできるパブリック関係を終えたということになりますこういったように新しいことを試したりバグの再現テストをしたりといった場合でも専用関係を簡単に作れるので気があるねなく試すことができるようになります一方プロダクション環境に関してはセキュリティとか公開要請など引きのうめんが強く求められているということからミニパブリックよりも他の手段を用いて作る構築するのが良いと思いますこちらは私の使い方を示したものになりますミニパブリックやその他ツールをVMイメージとして共通に焼いたうきそれをVMをコピーしてからミニパブアップで構築するという形の使い方をしていますこれによってメインの環境はいつでも作れる合わせるという安心感を得るとともにそれ以外の新しいことやバグシュースの再現といったものに関しては必要になったときにその場で作るというようなことができていますこちらがミニパブリックの最新情報として配れ対応を紹介したものになります配れですはどこかのシングルホスト動作が前提という性能限界へのブレイクスルを提供するものでミニパブリックを使う場合手順3箇所を変えるだけでドッカーベースからクバネティス上に環境を構築することができますこのクバネティスを持っている場合はそれの環境ファイルを処定のフォルダーにコピーしエンドポイントアドレスとしてこのクバネティスのアイティアドレスですねここに指定して構築時にEオプションを追加するこの3かつ3つだけでクバネティス上に構築できますクバネティス側の方に関しては必須プラグインが3種類ありましてマネージドのクバネティスを使う場合は1つだけをインストールすればよいのオンプレイのクバネティスを使う場合はご自身で状況を確認しながらインストール必要があるという形になります最初はマネージドのクバネティスを使うのがいいと思いますこれは参考としてミニファブリックのコマンドレフォレンスを示したもので今回紹介したアップやクリーンアップあるいはヘルプオプションの他にミニファブリックの構築をステップ by ステップで行っていくものや外部ツールを起動するものその他のオペレーションをするものなどがありその以外に環境構築する構築する環境のカスタマイズ用のオプションも豊富に取り添えていますこれは実際のハイパーレッジャーの公式のサンプルのチェーンコードをミニファブリックで構築するファブリック環境上で動かすためのやり方Rになりますチェーンコードをダウンロードして初定のコルダーにコピーした後構築のオプションを幾つか指定する必要があるのですけどこういうような形で指定することでファブリック2.3の環境に公式サンプルが動く環境を数分で作れますその上でさらにチェーンコードを実行した場合にはアプリケーションが開発が通常必要なのですけどもミニファブリックのサブコマンドを使うことでアプリ開発を無しで試すこともできますこちらは内部についてもう少しコルダー構成を紹介したものでファブリックのアプリ開発に作るときに有用なコネクションポロファイルといったものも各言語別のプロファイルで自動生成されます先ほど紹介したコンフィグTXやプリプトコンフィグや実行した際のコマンドとかもこの辺りに保存されますこちらは最後に弊社のハイパーレンジャーに関するその他の取り組みについて紹介したものになります大きく2つ取り組みを行ってもらって1つ目はブロックチェーンの統合サービス用のフレームワークコネクションチェーンですこちらは各サービスが別々のブロックチェーンを使っているような場合例えばファブリックとイーサリアムのような別々なブロックチェーンを使っている場合でもこれを総合に取引を中解できるようにするためのものでこの事業技術のOSクス化を狙ってハイパーレンジャー拡大に公開発車として参加していますもう1つのこの分散データトレーシングはファブリックをサプライチェーンに適用したもので複数車でこういった加工処理をしたりして流通していく時に各車の加工利益は各車で管理しつつエンドエンドのトレーシングをできるようにしています以上で発表を終わります谷川さんありがとうございましたファブリックこれまで非常に難しかったハイパーレンジャーファブリックの構築を圧倒的に簡単にするためのツールということでハイパーレンジャーミニファブリックというものがあって本日今そのご説明をいただいたわけなんですけども皆さんの中で中川さんに対して何か質問とかもしあればこのQ&Aの方Q&Aの方から頂ければなと思うんですけど早速1つ質問が入ってましてリナックスオアウインドーズ実行環境ですね全体環境リナックスオアウインドーズ10とありましたがウインドーズ11は非対応ですかという質問が来ているんですけど11はまだ試したことがないですただドッカーが動けばいいのでドッカーフォーインデスクトップが動くのであれば十分可能性はあると思っていますなるほどここら辺はドッカーはもう最近割と標準的なツールになっているのですが問題ないかなと思いますなるほど同じ方から質問があって構築にはコンテナ環境ドッカーがあれば大丈夫ですかという話ですけど要はそういうことだということですねありがとうございますそれから次の質問なんですけどもオンクレ環境において複数VM環境を総額は構築できないということでしょうかという質問なんですけどもそれはやりようはあります弊社でも非常に苦労してやりましたただその時は例えばSSHで乗り込みながらSSHのコマンドだったりCPDだったりを駆使しながらオペレーションをしていくこっちのオペレーションが終わったらあっちのマシンに乗り込んでまた別のオペレーションをしてというような形になって非常に判雑になりますなるほどこちらの質問された中島さんですねいかがでしょうか大丈夫ですか今の回答で大丈夫ですかと聞いてもはいじゃあちょっと次の質問に移らさせていただきます組織を複数のVMなどに割り振ることはできますかという質問ですね一つの組織を複数のVMに割り当てるそうですね例が書いてあるんですけど組織一応VM1組織二応VM2というふうに割り振ることができますかというそれは通常のどこかだと基本一台のホスト上でやるという形になるので難しいんですけれどもこちらで配置したようにした時はそういったことをコントロールできる仕組みも入れていますはいありがとうございますじゃあ次の質問に行きますねファブリック2.pk今後のバージョンアップにもこれから通常して対応していく予定なんでしょうかというものなんですけれどもここで私がはいと言っていいのかという話がないんですけれどもはい十分あると思います今ですねこれミニファブリックの実際のものなんですけれどもこれのCIのワークフローの中で後輩に対応するテストのやつを指定してましてもうすでに2.4ベーターでのテストを押し始めてでのドーザーエップのコマンドが通るということを確認しているという状態ですもう追従していくんではないかなと思いますちなみにこのミニファブリックに開発貢献しているシュタル企業さんってどういった企業さんがいらっしゃいますコスト動作はIBMの方でセカンド動作が私不実になっていますそれ以外の貢献者はちょっとちょっとここを辿っていけば書かれているとわかるという感じですかねいずれですよ会社貢献されている方が結構複数目いらっしゃるということなのでこれからもちゃんと追従していくだろうということですよね了解ですはいそれから次の質問がありますねあ、今多分また回答していないやつ決していましたねちょっとんでこれか複数さんが把握している限りこのミニファブリックのようにハイパーレッジャーファブリックの環境を自動構築するツールや製品は他にありますかという質問が来ています私が調べた中で同じハイパーレッジャーラブズの中に他のツールもあったりしたんですけど実際に使ってそちらのツールはなんとかオートメーションちょっと名前が出てこないんですけどもそちらのツールの方はもっと本番環境に近いことができるというような形で言っているんですが設定項目とか見ると非常に多くとてもこの数分レベルで環境の設定ファイルの作成から構築までをできるというのはなかなかないと思います現状クバネティスのハイパーレッジャーの構築するときはヘルムベースでいくつかあるんですけれどもそちらと比べとヘルムはクバネ一色なのに対してこちらはドッカーとクバネと両方対応していて全く同じ設定ファイルがそのまま使えるというのが非常に大きなメリットかなと思いますありがとうございます先ほどのホームプレー環境で複数VM環境をまたいだブログチェネットワークは構築できますかという質問が覚えていらっしゃるかと思いますけどもフォローアップの質問でミニファブリックを利用してワンコマンドでそれって実現できるんですかという質問が来ているんですけどもそれはですねオンプレーのクバネティスを使ってやるとこのワンアクションで構築できますがこの準備が大変という形になりますねドッカーの方ではシングルホスト上に先ほどでもご覧いただいたようにシングルホスト上で全コンテナを活動させるという形になっていますはいありがとうございますまだまだ実は質問がありますのでちょっと頑張って答えていただいて嬉しいんですけどもファブリックのバージョンアップ対応以外に今後機能のエンハンスなどの予定はありますでしょうかこれ実はちょっと私も聞きたいなと思ってたんですけどもああですかそこについては私は特に答えられないといった方が正解ですかねロードマップ上まだ上がっていないという感じですかねそうですね皆さんに公表するような形のロードマップははい少なくともこのギッドハブ上にはないような形になりますなるほどもし関心があったらそこはコミュニティに入って一緒にやりましょうそうですねなるほど了解いたしましたあともう一つミニファブリックでは指定するパラメータ数個で構築が完了しますが従来の方法ではパラメータ数は同じだがたたくコマンドが100以上あるという理解であってますかという質問ですけどもそうですねはい実際のここでこの構築のコマンドで出力されるファイルを見ると従来型のコマンド構築とほぼほぼ一緒という形になりますそこら辺のコマンドを利用した自身がドクメントを見ながらオペレーションしていくこの避けられるような形になってますそれをこのアンシブルベースでワークフロードテンプレートという形で分解して持っているという形になりますはいなるほどコマンドは少ないけれども基本的にパラメータは同じだとここからたたいていくのは従来型ですと一緒になりますはいありがとうございますはいこれで一応今まで来ている質問には全て答えした形になるんですけどもあと少し時間はありますのでもし追加で質問今巨集いただいている方がいるんですけどもあれ消えちゃったあ 二十五ですかね巨集いただいてますかやっぱ手下されましたねすいませんはいはい了解ですもし追加で質問があればあと少し時間がありますので今から返ってきましたねファブリックはコンフィグアップデートが非常に面倒なイメージがありますがミニファブリックでコマンドは用意されていますかという質問が来ていますというのがちょっとよくわからないんですが例えばチェンコードこちらで示したようなチェンコードのアップグレードとかをする場合はこのCCアップっていうのはこれつい最近導入された機能なんですけどもこういった形でアップグレードをすることができますあと構築済みのファブリック環境に対して新組織を追加するという時の作業操作に関してもこのドキュメントページにあるんですけどもそれでやっていくよりもミニファブリックの場合は一旦削除して先ほどの設定ファイルを書き換えて新規作成新規作成をしたほうがよっぽど早いし楽なところがあります本当にこのファブリックの設定はこれがほぼ全てネイプになります設定ファイルは修正数よりも一旦削除してしまって新しく作っちゃったほうが追加するとかオーダラ追加するというのはそっちのほうがよっぽど簡単になっていますなるほど了解しましたあとはいかがでしょうか今聞きたいことなどございますか今までファブリックが難しくて困っていた人たちにとってはすごく貴重な使えるツールなんじゃないかなというふうに思いますのでせっかくの機会なのでご質問いただければなと思うんですけどいかがでしょうか大胸そうですねはいそれでは中川さん本日貴重なお話いただきましてありがとうございましたまた是非機会があればミリファブリックアップデートいただければなと思いますありがとうございましたそれでは続きましてハイパーレッジャーファブリックのチェーンコードプライベートチェーンコードのお話をひたち政策書の池川さんの方からしていただきたいなというふうに思います池川さんよろしくお願いいたしますはいよろしくお願いします改めてひたち政策書研究開発グループサービスコンピューティング研究所属の池川講師と申します本日はユースケースなどをご紹介させていただきます改めて軽く自己紹介させていただきます今回がハイパーレッジャーファブリックアップ初参加になりますよろしくお願いします経歴としましては2019年度に大学院の修士課程を卒業し同年の4月より株式会社ひたち政策書に入社し入社時よりずっとプロプチェーン基盤及びアプリケーションの昨年度2020年度にはハイパーレッジャーアバロンへのアップストリーム活動及びユースケースの実装を開始しましたそして今年度の6月に行われたハイパーレッジャーグローバルフォーラム2021では昨年度行っていたハイパーレッジャーアバロンに関する内容をコート発表しましたこちらもYouTubeに上がっていますのでもしご興味があったら見ていただけると幸いです今年度よりハイパーレッジャーファブリッククライベートチェーンコードへのアップストリーム活動を開始し現在ユースケースの挨拶なども行っております新たに本編に入っていきます初めに背景として市場動向についてご説明します現在複数の組織間でトラストにデータの共有及び売り活用したいというニーズが高まっていますこれは世界経済フォーラム2019において新たな経済活動には信頼やる自由なデータ流通データフリーフローウィズトラスト略してDFFTの実現が最重要課題あると提言されました国家間や組織間など複数の組織間でデータを流通データの流通をするDFFTを実現する手段としてブロックチェーンの利用が期待できると考えられていますハイパレッチャーファブリックを始めとしたブロックチェーンの特徴としてブロックチェーンネットワークに参加している組織全てにトランザークション及びデータの内容が共有され、代表に書き込まれますDFFTを実現する上で想定される共有データには公開してもいいようなオープンなデータもあれば共有先を制御すべきセンシティブなデータもあると考えられます例えば医療情報だったり行政が持っているような情報などはまむやみやらやたらに参加させてすべてにオープンに共有しているような情報ではないと思いますで加えてセンシティブなデータを扱う場合では個人情報法法だったりヨーロッパのGDPRだったりと各国法規制をしていますその法規制にのっとってプライバシー保護の対策が必要になりますここでハイパレッチャーファブリックにはプライバシー保護のための機能やファブリックを拡張する他のハイパレッチャープロジェクトがありましたのでここで軽くご紹介させていただきますまずハイパレッチャーファブリックにはブロックチェーネットワークのチャンネル分けという機能がありますチャンネル分けは特定の組織官の通信のプライベートレイヤーでありそのチャンネルに贈っていない他の組織からは見れないような仕組みになっています各チャンネルはそのチャンネルに参加している組織のみが読み出し及び勝ち込みができる個別の代表で構成されていますまたファブリックにおけるプライベートデータコレクションという機能では取得したいデータを代表の外のデータベースに交換してそのデータのやり取りはピア同士の直接的な通信でデータのやり取りをしますそして代表にはプライベートデータとして保存されているデータの発出値が回復されて管理されていますまた先ほどちょっと私が過去にアップストリームしてたといったアバロンというプロジェクトがあるのですがこちらはブロックチェーンの外側のオフチェーン領域におけるプログラムの実行をトラストにするといったことを目的としたプロジェクトです今回ご紹介するハイパーレチャーファブリックプライベートチェーンコードはトランザクション及びデータをひとく要は暗号化した状態でそのトランザクションをチェーンコードに渡してその実行ができるといったものになりますチャンネルの値がチャンネルとの違いとしては同一のチャンネルに属する組織の中でデータの閲覧制限をするゆうつけしに対応することが可能ですまたプライベートデータとの違いとしてはデータを暗号化された状態でデータ本体が代表に書き込まれますアバロンの違いとしてはトランザクション及びデータをひとくした状態でのりを生きてあるチェーンコードの実行を可能にします続いてプライベートチェーンコードのプロジェクト概要についてですパブリックプライベートチェーンコードはハイパーレチャーの実験的なOSSを管理するハイパーレチャーラボズの間隔のプロジェクトの一つでした今年度の4月にハイパーレチャー直下の管理プロジェクトとなりました本日、8月本日の現在においてバージョン1.0のRCE2がリリースされていますパブリック本体に将来的にはパブリック本体に統合される予定ですこのGitHubで管理されているGitHub.comのハイパーレチャーパブリックRFCと呼ばれている将来導入予定の機能をまとめたプロジェクトの中にパブリックプライベートチェーンコードに関しての記載があり将来的に統合されるはずです実際の機能について詳しくご紹介させていただきますパブリックプライベートチェーンコードはトランザクション及びデータの内容を取得した状態でチェーンコード実行可能にしますこれはセキューションエンバイルメント役所としてTと呼ばれているCPUのに搭載されているセキュリティ機能を使うことで実現していますTというのも各CPUベンダーがそれぞれいろんな各種Tを提供しているんですが現在パブリックプライベートチェーンコードが対応しているのはインテレーションが提供しているIntel SGXと呼ばれるTですパブリック本体と使用するような構造になっておりましてパブリック本体には手を加える必要がなくそのまま使用することができるような構造になっています通常のチェーンコードとのお違いの一つとしてIntel SGX上でチェーンコードを動作するためチェーンコードの実装は独自の技術方法を使用する必要があります通常のチェーンコードですとゴーだったりノードだったりチェーンコードを使って実装したりすると思うんですがIntel SGX上で動作するプログラムというのはCかCプラしか動かないので今回実装するパブリックプライベートチェーンコードもCかCプラを使ったような専用チェーンコードの実装が必要となります続いてTの中の一つがIntel SGXについてこれは軽くさらっと紹介させていただきますIntel SGXはトラステッテクゼキューションエンバレメントの一種でCピンに搭載されているファードウェアによるセキュリティ機能の拡張機能ですIntel SGXの第6世代コアアイシリーズの第6世代以降のCピン搭載されていますあまり馴染みがない技術だと思うんですが身近な例としてはウルトラHD Blu-rayの再生のためのDRM解除などに使われているたりしているとのことですそういった意地です具体的にはIntel CPに搭載されているSGXがOSを介してメモリ上にEncreveと呼ばれる暗号化領域を作成しますそこにプログラムやデータをロードすることでデータを保護しつつプログラムを実行することが可能となる機能です通常のサブリックチェーンコードとプライベートのチェーンコードの違い実際のオンナーのために使っても説明します通常のサブリックチェーンコードではユーザーがキアに対してトランクションを投げますチェーンコードが実行されてその結果とトランクションの内容が台長に書き込まれますその内容というのがその内容というのは参加者自身の組織に全て影響されるのでもちろんオルグ1の人がインボーフしたトランクションの内容だったりその結果のデータというのはオルグに届くしているユーザーが普段可能ですもちろん暗号化領域を全て説明することができます一方でプライベートチェーンコードでは先ほどご紹介したSGXを使ってチェーンコードを動作してみますトランクションの内容というのもひときた状態でチェーンコードにわたしトランクションを実行することができますそのトランクションの実行結果というのは暗号化された状態で台長に書き込まれますそしてステッドデータですコースにされかく組織に台長が共有されますで他の組織のユーザーは直接台長を営団しに行っても暗号化されたトランクションの内容だといい結果しか見ることができません他の組織のユーザーが暗号化されたデータを営団するためにはチェーンコードを介して許可を取得するようなロジックが実施されていてそれのロジックを介してデータを取得することが可能となりますまた通常のチェーンコードとタブリックプライベートチェーンコードは同じロクチェーネットワークの同一チャンネル上に共存させることができますなので組織すべてに共有する情報とひとくしつつ一部の組織のみ解示する情報を同一チャンネル一つの台長で取得することができますここからデモとして使い方を軽く紹介させていただきますなおこれから紹介するデモについてはこの発表では詳しくは細かいコマンドなどは紹介しきれないのであらかじめキータにまとめて記事として公開してありますなので私の名前を記事が出てくると思いますのでもし試してみたいという方はご参考にしていただけると幸いですまずはじめにインテレースGXが通さされたCPUを内蔵しているマシンを準備する必要がありますそんなマシンどこにあるんですかという話があるんですが一応マイクロソフトアジュールを使うとインテレースGXが通さされた仮想マシンを作成することが可能です手元にマシンがある場合でも確認するプログラムというのがあっているのでこちらの確認プログラムを使って動かすというかどうかを確認して見てみますまた仮にインテレースGXが通さされていないようなマシンを使ったとしても一応シミュレーションモードということで実際にセキュリティーだったりトラスト製が保たっているような状態ではないシミュレーションなんですがこんなものかということを確認することはできるようになっています一応予断なんですが私自身はMacBookに使っているのですがインテレースGXが通さされたインテレースGPがないとされていますですがバイオスによってこのSGXの機能のオンオフというものを指定する必要がありましてそれがオンオフにできない場合はそのCPUが通さされている場合でも使えなかったりするのでご注意いただけると思います私が今回準備したマシンとしてはMicrosoft Azure上のSGXが通さされているマシンですOSはUbuntu Serverの20.04です必要なパッケージDockerだったりGoの言語だったりメイクだったりというのをインストリしますその後Renax上で動作させるためにインテレースが提供しているRenax SGXというOSSをビューとしてインストリする必要がありますこちらの予断なんですがこの手順自体がFabric 5とChain Codeの間隔外でしてリードミニに書かれないような内容ですのでこれを知らないと何で動かないんだろうというのにすっと戸惑ってしまうことになりますのでご注意くださいという感じです続いてIntelの開発者アカウントを作成しN-HUD Privacy IDというのも発行しますこちらを発行することでIntel SGXが使えるようになります続いてFabric Private Chain Codeのソースを取得してコンテナイメージをビルドしますFabric Private Chain Codeが用意しているコンテナイメージをビルドするための開発環境コンテナイメージというものを取得します開発環境コンテナを取得するとそれにビルドをするためのパッケージだったり何だりが全て整ってますのでそのコンテナの中に入ってからFPCをビルドしますその後Fabricのネットワークを立ち上げます今回Fabricのネットワークを立ち上げる際はFabric Samplesと言われるプロジェクトがハイパレッチャー感覚でありましてそれを利用してFabricのネットワークを立ち上げることができます実際に動いている様子をかしかしようとしてハイパレッチャーエクスプローラーというOSSを使ってかしかをしてみましたこちらでは同じ協同する通常のFabric Chain CodeとFabric Private Chain Codeをそれぞれ実装しエクスプローラーを用いてファンザクショの中身を確認したいいます具体的にチェーンコードの中身としてはこちらも単純なキーバリュー形式のデータを書き込むチェーンコードでこの例ではキーを単純なA、バリューを10としてファンザクショをインボークしていますその結果というのが下の図になりまして通常のFabric Chain Codeにてインボークした場合というのはじゃあキーがAバリュー10となっていますで一方でFabric Private Chain Codeにてインボークした場合はキーは見えるんですがバリューの値というのが取得された状態で確認していますなので直接台長見に行ったとしても中身を見れないようにやっていますこれを見るためにはチェーンコードを介して許可されている許可をするようなロジックが介して決断しに行くといった方法でしか見ることができませんなのでデータの共有先の制限だったりというのが可能になる可能になりますこちらのユースケースなんですがまだFabric Private Chain Code自体が発展途上のプロジェクトであり実理をされているようなユースケースはまだないですなのでコミュニティが紹介しているユースケースをいくつか例がいくつかありましたのでここで紹介させていただきますまず一つ目にあげられる例がオークションを実現するようなアプリケーションですオークションなどでは弾向など不成功率ができないように設計する必要がありますなのでトランダクションを取得しつつチェーンコードをT上で実行できるFPCが活用できますまた2つ目のユースケース例としてヘルスケア分野に適用することを考えています脳の病気などを検出するために例えばカタミカミにいるネットアップなどのモデルを立て学習をする場合高い制度を得るためには病院など単一の組織が持っているデータよりもはるかにオークのデータが必要となりますそういった場合複数の組織のデータを書き集めて学習をしたりすると思うんですがこうしたときに先ほど法の問題があると説明したのですがGDPRだったり個人情報報報報だったりと大規制によって撮影した脳のCTSCANのデータやMRIの数を共有することは実質的に不可能になっていますこうした中でプライパーシーを保護しつつ自由に共有できるロックチェーン基盤そしてFPCが利用できるのではないかとコミュニティで議論が進められています最後にまとめになりますトラストにデータの共有および利活用したいという水が高まっています世界経済法欄2019年でDFFTが提唱されましたデータ共有および利活用にはロックチェーンを活用できる一方でプライパーシー保護がなりますパブリックでも多数のプライパーシーも保護の取り組みがされていますその中でもパブリックプライベートチェーンコードというものがありますこちらはトランザクンおよびデータの内容をひとくした状態で実行することでチェーンコードの実行ができます実装にはトラステッテイクゼイキューションエンバイラメットと呼ばれるCPUに搭載されているセキュリティ機能を活用していますユースケースとしてオークションだったりヘルスケア分析での利活用が考えられていますとりあえずトレードマークについてはこちらの記載の通りです発表は以上になりますありがとうございましたありがとうございました随分たくさん質問が来ていますので一つずつお答えいただければ嬉しいんですけどもまず一つSGXを利用するとのことですが通常のトランザクションと比較して性能に違いは出るのでしょうかという点ですね性能に違い性能の測定ができるところまでは実際言ってないので明確な回答だったり確証があるような回答ができるわけではないのですが実際問題SGX自体にだいぶ制限がありましてSGXにロードできるプログラムだったりデータのサイズマックス128MWまでですよみたいな問題があったりといろんな制限がある中でプログラムを実行する必要がありますそういった制限を考えるともしかしたら通常のチェーンコードで動作させる時よりも性能が悪い方向に落ちてしまうことは考えられるかなというのが現代のまだ予想段階にはなってしまうんですが考えられるかなと思いますなるほど他のCPUへの対応今は企画とかされているもんなんですかちょっと質問しにはないものなんですか他のCPUインテレースGX以外のCPUそちらに関してもコミュニティでコミュニティのチャットで話し合ってる分では他のCPUにも対応しなくちゃいけないようにとってた脱弾ぐらいではあるんですが実際本当に対応していくかという部分ではまだ雲行きがまだ決まってないような状態になっていますなるほど了解です次なんですけどももうすぐに解決されている質問なんですけどもTが必要ということでクラウド環境でもどうしようかなわでしょうか答えとしてもAzureで使いますよということで大丈夫ですよねAzure以外はないんですか他にIBMが提供しているベアメタルサーバーにSGXが操作されているとも聞いたことがあるのでそちらも使えるとは思いますなるほどありがとうございます次の質問なんですけどもプライベットチェーンコードのエンドスメントポリシーは基本的に1オルグのみでOKとなるという理解であってますかという質問なんですけどもすごいこちら多分いい質問で実際問題あのチェーンコードって複数の解答としては実はOKですとだけど実際は複数の組織でエンドスメントを取っていますこの現代の実装ではこちらがいい質問という私が思う点としてはそもそもT上でチェーンコードが動いているのでそのT上で動いているプログラムというのは正しいと保証されますなのでエンドスメントを取らなくてもそのまま台帳に書き込んでしまってOKになるというのが本来の正しい考え方になります現状一応このサンプルのプログラムだったりエンドスメントは複数の組織でも取れるような実装になっていますなのでTを完全に信用引きっているというのは実証前提にはなるんですがTを信用しつつさらにエンドスメントも取るみたいなことも可能ですというのが解答になりますなので一応Tを信用しつつという前提を引いているのでエンドスメントは一組織でOKという理解で正しいと思いますありがとうございますでは次の質問なんですけどもズバリプライベートデータとプライベートチェーンコードの違いは何でしょうかプライベートチェーンコードの方が優れている面を教えてくださいプライベートデータの場合ですと一応台長の外にデータが保存されていますので仮にすごい仮にんの話なんですかプライベートデータを持っている組織のデータが破損してしまってデータが亡くなってしまったときというのは台長に残ってるのは8種値のみでデータが復元できないような状態になるかと思われます一方でプライベートチェーンコードには一応暗号化された状態で生のデータが書き込まれていますので普通の組織で暗号化された状態でデータが脅威されていますそういった点が一つの違いかなと思いますどっちが優れているかはあまりこちらのどっちも優れていると思うんですがユースケース次第かなと思いますなるほどありがとうございますじゃあ次の質問ですねTXやデータごとに暗号化用の鍵を用意する必要があると認識していますが鍵管理を用意化する仕組みはあるのでしょうかそもそも認識が間違っていたらごめんなさいという質問なんですけどもいかがでしょうかこちらもちょっと僕はまだ理解しきれてない部分もあるので僕の回答自体がおかしい可能性もあるんですが一応回答としては鍵の管理はIntel SGXを使う上で最初に発行したEPIDがになっていますでこちらの管理というのは正直管理をするための何か便利なツールがあるとかではないので結局手動で管理しているというような現状になっていますなので用意化する仕組みというのは結論としてはないのではないかなと思っております今後こういった部分を用意化するようなツールも作る必要があるのかなとは確かに思ったりはしますトランザクションだとか各データごとに鍵が必要であるという点もそうだということなんですねただ各トランザクションもとに別々の鍵を用意する必要はなくてそのインテレースGX上で複合ができるような鍵を一つ持っておけばなるほど了解です今ので解答になったでしょうかあと次の質問ですけどプライベートデータにアンゴキーを持たせてチェーンコードでステートの書き込み時にそのアンゴキーでアンゴ化してから書き込むように実装するのと比べたメリットは何でしょうかすみません僕の読み方があれかもしれませんけどもう一回読みますかITOQAの見えますかプライベートデータのこれとの比較としてできることとしてはひとくした状態でチェーンコードの実行は可能になるかもしれませんただチェーンコードがTを使うでチェーンコードが正しく動作することを保証することもできるようになっているメリットになりますチェーンコード上で動いているプログラムが正しく動作して正しい結果が得られています保証することができるようになっているデータが読める発書されて読めないという制御はどのように行っていますかという質問ですこちらは先ほどこのサブリッグプライベートサブリッグハイパレッジエクスポロラーを使った場合の例を出したんですがこちらっていうのは直接ブロックの中身をチェーンコード解説アクセスしているような状態になっていますこちらを使うと生のデータ生のブロックの中身を見て表示しているんですが表示していますで実際データが読める読めないという制御はどうするかといいますとチェーンコードを介してデータをクエリした場合でチェーンコードの中でこの組織は見れないようにするといったロジックをあらかじめ実装しておいて置くことで制御ができるようになりますなるほどチェーンコードにあらかじめそれをやさるのが実装しとかなければいけないもしくはチェーンコード上で強化する強化しないといった制御をおろっこなうためのロジックも入れておくみたいなことも可能かなと思います例えば組織Bの人が組織Aの人に対してデータを見てもいいですかみたいな申請をして承認をしてもらうワークフローのプログラムみたいなものもチェーンコード上に実装しておくことで動的な制御が可能になったりもするかと思いますなるほどありがとうございますあと1つ対改ざん性を持つB上のプログラムを全面的に信用してというのは理解できますがチェーンコードをデプロイする際は通常通りエンドウォーズメントを取るという理解でよろしいでしょうかそうですねそれに関してはそうなりますなるほどはい了解ですはいここまでのところ私の質問はすべて回答したのですけれどもまだあと少しだけ時間がありますので追加で質問があればぜひ出していただけると良いかなと思いますけれどもいかがでしょうかなかなかこういった結構新しめのプロジェクトで皆さんの実事ビジネスにかなり深くこれから変わってくるんじゃないかなと思う技術ですのでせっかくの機会なのでぜひ質問いただけると良いかなと思いますけれどもいかがでしょうかよろしいですかはいじゃあ池場さんありがとうございましたちょっと池場さんに実際にお願いがあるんですけども途中で出てきたキーターのブログですねぜひハイパーレッチャー東京ハイパーレッチャー東京のいわゆるジャパンチャプターというのがあってハイパーレッチャージャパンチャプターいろんなノウハウ集約していきたいなと思ってるんですなのでそこにリンクを経済させていただけると良いかなと思いますのでぜひそちらに投稿していただけると助かります今あのチャットウィンドウにジャパンチャプターのリンクが出たと思いますけれどもぜひこちらにそうですねこれの何ですかねラーニングマテリアルってやるんですよね下のほうですねこれですねこの辺にちょっと掲載していただけると非常に嬉しいです調査しましたじゃあ持つ鼓動を編集しておんなりできるんですかね僕に来たらよろしくお願いしますありがとうございましたそれではですね以上で本日のハイパーレッチャー東京ミートアップ全てのプログラム全てのセッションがさせていただきました本日も多数の皆さんに参加いただきまして本当にありがとうございました本日ご登壇いただきました池川さんそれから中川さん本当に貴重な情報をいただきましたありがとうございましたバーチャルイベントですねなかなか拍手が聞こえないかもしれませんけども皆さんぜひお二人に拍手を送っていただければなと思いますありがとうございましたそれでは本日のハイパーレッチャーミートアップこれにて終了させていただきます次回なんですけどもおそらく11月もしくは12月によりちょっと違った切り口おそらくインタープレビュリティ周りを軸としたミートアップを開催するのではないかと思いますのでぜひまた皆さん都合をつけてご参加いただければ幸いでございます本日はご参加いただきましてありがとうございましたぜひまた次のミートアップでお会いしましょうそれでは失礼します失礼します