Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hyperledger Fabricコミュニティ活動体験&Hyperledger Fabric...

Hyperledger Fabricコミュニティ活動体験&Hyperledger Fabric最新状況ご紹介 (presented in Hyperledger Tokyo Meetup)

2024/05/16に開催されたHyperledger Tokyo Meetupで登壇発表したHyperledger Fabric関連の内容です。

5月16日開催 Hyperledger Tokyo Meetup ご案内
Let’s learn & network with Executive Director Daniela Barbosa and Hitachi Tatsuya Sato, a core maintainer of Hyperledger Fabric
https://www.linuxfoundation.jp/blog/2024/04/join-us-at-the-hyperledger-tokyo-meetup-in-shinagawa/

Tatsuya Sato

May 16, 2024
Tweet

More Decks by Tatsuya Sato

Other Decks in Technology

Transcript

  1. © Hitachi, Ltd. 2024. All rights reserved. Hyperledger Fabricコミュニティ活動体験& Hyperledger

    Fabric最新状況ご紹介 日立製作所 研究開発グループ 2024/05/16 佐藤竜也 (Tatsuya Sato) Hyperledger Meetup Tokyo
  2. はじめに 自己紹介: • 佐藤竜也 (Tatsuya Sato) – 日立製作所 研究開発グループ 主任研究員

    – 主な研究分野: ブロックチェーン x 運用管理 このたび光栄なことにHyperledger Fabricのコア メンテナに就任いたしましたので、この場をお借りして コミュニティ活動を通じての体験や学び、雰囲気、 Hyperledger Fabricの最新状況について共有 できればと思います。
  3. 2 © Hitachi, Ltd. 2024. All rights reserved. 1. Hyperledger

    Fabricの概要 2. Hyperledger Fabricコミュニティ体験&学び 3. Hyperledger Fabricコミュニティアップデート 4. おわりに Contents
  4. 3 © Hitachi, Ltd. 2024. All rights reserved. 1. Hyperledger

    Fabricの概要 2. Hyperledger Fabricコミュニティ体験&学び 3. Hyperledger Fabricコミュニティアップデート 4. おわりに Contents
  5. 4 © Hitachi, Ltd. 2024. All rights reserved. 1-1. Hyperledger

    Fabric エンタープライズ向けパーミッション型ブロックチェーンプラットフォーム – エンタープライズ利用に求められる要件に対応した機能/非機能を提供 • 幅広い業界/ユースケースに対応可能な汎用的な仕組み • 性能確保/向上のためのアーキテクチャ設計 • コンソーシアム内でのデータアクセス制御機能を提供 – 本番適用に向けた安定性やサポート状況 • 成熟していることを示す”Graduated”ステータスのプロジェクト • コミュニティ内で開発ロードマップが策定されており継続的に開発が進んでいる • 特定バージョンについてコミュニティによりLong Term Support (LTS)される – ‘23年3月に新しいLTS版であるv2.5系がリリース • 複数の事業者がBlockchain as a Service (BaaS)として提供 Graduated
  6. 5 © Hitachi, Ltd. 2024. All rights reserved. サプライチェーン/トレーサビリティ 金融分野

    1-2. Hyperledger Fabricのユースケース – 以下ではLinux FoundationおよびHyperledger Foundationの公式ページ(Publications, Wiki など)に掲載される事例を中心にいくつか抜粋 貿易金融 (GSBN): GSBN は海運コンソーシアムである。 BCを活用しステークホルダー が関わる貨物リリースや貿易 金融プロセスのデジタル化。 ヘルスケア 食品サプライチェーン (Walmart): 食品の出所追跡を数秒に短縮。 同社は25+の食品に適用済で葉 物野菜に義務付けなど範囲拡大。 ダイヤモンド管理 (EverLedger): ダイヤの出自情報や取引来歴を BC上で管理する。 CBDC (各国事例): ナイジェ リア(eNaria)では本番稼働中。 保険 (openIDL): 米国にて 保険会社と規制者間での データ共有を安全/効率化。 製造部品管理 (GoDirect Trade): 中古航空機部品マーケットプレイス 。部品ライフライクル全体を記録。 購入時間が数日から数分に短縮。 サステナブル/ESG 医療品サプライチェーン (BRUINchain): 医薬品の 供給をリアルタイムに薬局の 冷蔵庫レベルまで追跡可能。 (*) 留意点: 各リンクの通り、主にケーススタディやホワイトペーパーなどに記載の情報に基づくため最新の情報でない可能性があります。 ESG情報可視化 (4AIR社 (HyperledgerClimate記事より)): 持続可能な航空燃料(SAF) のカーボンフットプリントにBC を活用。航空燃料バッチを トークン化して流通管理。 様々な業種でB2Bユースケースを中心に活用されている (本番・実証中含む)
  7. 6 © Hitachi, Ltd. 2024. All rights reserved. 1-3. Hyperledger

    Fabricを使い始めたい方へ – マテリアル: これまで日本国内でもミートアップなどの様々なイベントでFabricが紹介 されてきたため、それらの資料を参照すると学習効率がよい • 例) ’23年10月開催のHyperledger Tokyo Enterprise Blockchain Workshop「エンタープライズブロックチェーン構築の基礎」 のスライドや動画が残っている – 公式ドキュメント: コミュニティ内 (Fabric Japanese Documentation Working Group) にて、LTS版を対象とした日本語翻訳活動を推進中 • 現在の状況: v2.2(旧LTS版)のコンテンツで全ページの日本語翻訳済 で、v2.5(新LTS版)との差分更新に着手 – コミュニティ内でのレビューに基づくため翻訳精度が高い – 最新版ではないが機能や文書に劇的な更新があったわけではないので十分有用 – 現在v2.5の差分翻訳に向けて貢献者募集中! 日本語版のマテリアルやドキュメントも存在・比較的充実している
  8. 7 © Hitachi, Ltd. 2024. All rights reserved. 1. Hyperledger

    Fabricの概要 2. Hyperledger Fabricコミュニティ体験&学び 3. Hyperledger Fabricコミュニティアップデート 4. おわりに Contents
  9. 8 © Hitachi, Ltd. 2024. All rights reserved. 2-1. メンテナになるまでの活動振り返り

    地道な貢献活動で少しずつ経験/実績を積み上げることが大事 ‘16 ‘17 ‘18 ‘19 ‘20 ‘21 ‘22 ‘23 ‘24 ’16/2-: Fabric立上げ時より 日立は開発に参画 最初はFabricを ユーザとして評価 運用まわりを 気にし始める ‘21/2-: OpsSCをLabs化 Upstream Firstに ‘23/5-: fabric-samples のメンテナ就任 (K8s版サンプルの 維持/保守に提言) ’23/8-: メンテナ育成プロ グラムのオファー 受け貢献加速 ‘24/3: コアメンテナ 就任 ’20/7-: Fabricドキュメント 日本語翻訳PJに 立上げ時から参画 ’18/2: 小さなバグ修正か らパッチ投稿開始 (はじめてのOSS活動) Typo 修正 チェーンコードやチャ ネル運用に関する パッチを投げ始める 運用管理技術(OpsSC)の開発
  10. 9 © Hitachi, Ltd. 2024. All rights reserved. 2-2. 社内外の関係者からのサポート

    社内外の関係者からのサポートによりコミュニティ活動推進を加速 – 会社からのサポート • メンバー企業として参画し、ブロックチェーン研究開発を続けさせてくれている • コミュニティ活動も仕事の一部として位置付けてくれるのでやりやすさがある • 同僚たちが継続的にパッチ投稿やコミュニティ貢献し実績を積み上げてくれていた ことがとても大きい – Hyperledger Foundation&Linux Foundationからのサポート • 我々のコミュニティ活動貢献に関して、感謝状(Certificate of Appreciation)や Community Recognitionsを頂いた • それが励みになったことに加え、社内的にも活動アピール材料となり評判がよかった • 我々の活動状況をみて、Fabricのメンテナ育成プログラム (Fabric Maintainer Fast Track Program) のオファーを頂き、本参画により貢献活動を加速できた • プログラムでは現役メンテナからアドバイスをもらいながらパッチ投稿/レビュー実績を蓄積
  11. 10 © Hitachi, Ltd. 2024. All rights reserved. 2-3. メンテナの仕事内容紹介

    (まだ始まったばかりですが・・) メンテナはプロジェクト全体の技術的な方向性を決定しパッチレビュー/マージに責任を持つ – 月次のContributor Meetingにて開発状況と今後の開発/リリース計画を確認、 プロジェクトの方向性を議論 (v3.0のロードマップ/開発項目は議論済のため最近は粛々と進めるモード) – 日々の主な活動 • Issueの確認や回答 (24時間以内に誰かが反応するのが目標) • パッチレビュー/マージ (72時間以内を誰かが反応するのが目標) – マージしたパッチは適宜バックポート、新しいContributorに対するガイド/サポートもする • パッチ投稿も適宜 (Contributor Meetingで分担したパッチやメンテナンス系パッチが新たに) メンテナ就任に伴いレビュー割合が 増えているのが確認できる ‘22 ‘23 ‘24 参考: GitHub上のアクティビティ変遷 なるべく多く・早く反応したいの だが現実にはなかなか大変・・・
  12. 11 © Hitachi, Ltd. 2024. All rights reserved. 2-4. これまでのOSSコミュニティ活動を通じての気づき/感想

    一つひとつの小さな貢献が積み重なり、大きなソフトウェアへと成長し価値を創造する – 怖がらずに小さなこと/できることから貢献を始めて継続することが大事 • [貢献前] OSS活動やパッチ投稿は大変でハードルが高い • [実際] 小さな改善もコミュニティにとって大きな価値がある – メンテナも手が回っていないのでありがたい。小さな積み上げがコード品質を保つことにつながる • [実際] 色々な貢献の形がある (ドキュメント、翻訳、軽微なメンテナンスパッチ etc.) – ドキュメントが整備/維持されていることが大事 (ユーザを増やすことがコントリビュータを増やす) – ドキュメント翻訳活動もユーザ拡大に貢献 (翻訳を通じてバグや不備に気づくことも) – OSS貢献活動は大変さはあるが、それ以上にやりがいがある • 世界中で色々な方々が使っているソフトウェアに関与できるのは特別な体験 • 自分の活動にフィードバックがもらえるのがうれしい • コミュニティ活動を通じて新しいつながりができる
  13. 12 © Hitachi, Ltd. 2024. All rights reserved. 1. Hyperledger

    Fabricの概要 2. Hyperledger Fabricコミュニティ体験&学び 3. Hyperledger Fabricコミュニティアップデート 4. おわりに Contents
  14. 13 © Hitachi, Ltd. 2024. All rights reserved. 3-1. Hyperledger

    Fabricの開発状況 LTS版(v2.5系)のメンテナンスと次期版(v3.0系)の開発が並行して進んでいる – LTS版: 現LTS版のv2.5系(’23年3月よりリリース)継続的にメンテナンス中 – バグ修正やセキュリティ問題の対処を中心に品質の維持/保守 – おおむね3-4か月ごとに定期リリースされており、’24/4末時点ではv2.5.7までリリース済 – 次期版: v3.0.0のGeneral Available版リリースに向け開発が粛々と進んでいる – BFT Ordererが目玉機能 (次ページ以降で紹介) – ’24/3にv3.0.0-betaがリリース済 注意: 前LTS版であるv2.2は’23/12末をもってコミュニティメンテナンス期間を過ぎました → 利用中の方はぜひv2.5系への早期マイグレーションをご検討ください 予告: これまでの非推奨 (Deprecated) 機能の一部がv3.0.0にて廃止予定です → LTS化は少し先になるとは思いますが、非推奨機能は早めの移行がお薦めです
  15. 14 3-2. BFT Ordererの概要 – ビザンチン障害耐性 (Byzantine Fault Tolerance, BFT):

    ノードが任意の動作をする 障害を許容するモデル ⇒ 悪意のあるノードが存在するケースもカバーできるようになる – Fabricの真の非中央集権化実現・適用範囲拡大のために重要かつ不可欠な機能 – 設計方針: スループットより、レイテンシやプロトコルのシンプルさと管理容易性を重視 – アルゴリズム: SmartBFTというBFT合意形成アルゴリズム採用 (v0.6のPBFTに類似) – 管理方法: Raft Ordererとほぼ同様に設定可能 [1] Y. Manevich, Understanding Byzantine Fault Tolerance in Hyperledger Fabric, Virtual Hyperledger meetup, 2023 設計方針([1]より抜粋) アーキテクチャ ([1]より抜粋) BFT: Byzantine Fault Tolerance PBFT: Practical BFT ビザンチン障害耐性を備えたBFT Ordererは次期版であるv3系の目玉機能
  16. 15 © Hitachi, Ltd. 2024. All rights reserved. 3-3. BFT

    Ordererを試す – fabric-samplesのtest-networkでBFT Ordererを試すサンプルが提供されている • チュートリアルドキュメント • test-network: Docker上でFabricのテストネットワークを実行するサンプル • test-network-nano: ローカルマシン上でFabricのテストネットワークを実行するサンプル – 以下のようにネットワーク立上げとチャネル生成コマンド実行時に-bftフラグを設定するだけで、 BFT Ordererを利用したFabricネットワークを動かすことができる • Fabricネットワーク構成: – OrdererOrgが管理する4つのOrderer Nodes (BFTコンセンサスタイプ) – Org1が管理する1つのPeer、Org2が管理する1つのPeer # -bftフラグを設定して立上げ&チャネル生成 ./network.sh up -bft ./network.sh createChannel –bft # 以降は変更点なし ./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go ... v3.0.0-previewから機能プレビュー版と動作検証用のサンプルの提供開始
  17. 16 3-4. BFT Ordererの本番利用に向けて 24年中に本番利用版BFT Ordererを備えたv3.0が正式リリースされる見込み – コミュニティではv3.0 GA(General Availability)版リリースに向けてBFT

    Orderer開発推進中 • v3.0.0-betaではRaftからBFT Ordererへのマイグレーションも可能になった • 現在はテストカバレッジ拡充に注力中 • 24年中に本番利用版BFT Ordererをリリースする目標 – 個人的な意見: BFT Ordererの使いこなしに関する拡充も必要では? • 複数組織がOrdererを持つシステム構成でのサンプル拡充 • 運用手順や不正な設定値/手順がクリティカル 設定手順の自動化やスクリプト化が有効
  18. 17 © Hitachi, Ltd. 2024. All rights reserved. 1. Hyperledger

    Fabricの概要 2. Hyperledger Fabricコミュニティ体験&学び 3. Hyperledger Fabricコミュニティアップデート 4. おわりに Contents
  19. 18 © Hitachi, Ltd. 2024. All rights reserved. 4. まとめ

    Hyperledger Fabricはコミュニティと共に発展中 – Hyperledger Fabricコミュニティアップデート • LTS版(v2.5)のメンテナンスと次期メジャーリリース版(v3.0)の開発が粛々と進んでいる • v3.0の目玉機能であるBFT OrdererはFabricの真の非中央集権化実現に不可欠な機能 • v2.2のコミュニティメンテナンスが終了→ 利用中の方はv2.5系への早期移行を検討ください – Feedback Welcome! Contributions Welcome! • 私自身の体験より: コミュニティ貢献には様々な形があり小さな貢献の積み重ねが重要 • コミュニティはユーザからのフィードバックやコントリビューションを常に求めている • Fabricドキュメント日本語翻訳活動に貢献してくれる方を絶賛募集中! • リポジトリはこちら: https://github.com/hyperledger/fabric-docs-i18n • Hyperledger用Discordに専用チャンネルもあるのでお気軽に日本語で問合せください! (#fabric-japanese) ((*) チャットサービス) https://discord.com/invite/hyperledger 最初はこの2つのラベルが付いたIssueをチェック
  20. Trademarks • Hyperledger、Hyperledger Fabricは、The Linux Foundationの商標または登 録商標です • GitHubは、GitHub Inc.の商標または登録商標です

    • その他記載の会社名、製品名、サービス名、その他固有名詞は、それぞれの会社の 商標または登録商標です • 本発表中の文章、図では、TM、🄬マークは表記しておりません