[レポート]ブロックチェーンをビジネスで応用するには?Hyperledger Fabricのユースケース #reinvent [OPN217]
こんにちは。DA事業本部の春田です。
本記事は、AWS re:Invent2019の OPN217: Enterprise blockchain: AWS's open-source approach のセッションレポートです。
The English version is here.
概要
Blockchain technology is evolving rapidly and organizations are experimenting with this technology across many use cases, including streamlining financial transactions, supply chain transparency, and healthcare data management. In this session, Hyperledger Foundation’s Brian Behlendorf joins AWS’ Tamara Dull to explore how three popular open source blockchain frameworks – Hyperledger Fabric, Hyperledger Sawtooth, and Ethereum – contrast/compare and how they are being used to address our customers’ blockchain needs.
ブロックチェーンテクノロジーは急速に成長しており、金融トランザクションのストームライン化やサプライチェーンの透明化、ヘルスケアのデータ管理といった、多くのユースケースにおいて検証されています。このセッションでは、HyperledgerプロジェクトのBrian Behlendorf氏とAWSのTamara Dull氏が、3つの主流のオープンソース・ブロックチェーンフレームワーク、Hyperledger Fabric、Hyperledger Sawtooth、Ethereumを比較し、どう顧客のブロックチェーン・ニーズに対して使用していくかを掘り下げていきます。
スピーカー
- Tamara Dull
- Principal Open Source Technologist, Amazon Web Services
- Brian Behlendorf
- Executive Director of the Hyperledger Project, The Linux Foundation
本セッションでは、ブロックチェーンの概要と、AWS Managed BlockchainでサポートしているHyperleadger Fabricについて、Hyperledgerプロジェクトの中の人がフレームワークについて実際に紹介しています。未だ数少ないブロックチェーンのビジネス応用例について、何かヒントになるかもしれません。加えて、Hyperleadger FabricがどのようなOSSで、コントリビュートすることでどういうメリットが享受できるのかについても解説しています。
内容
3つのよく聞かれる質問
- ブロックチェーンとは何か?
- 中央集権型 vs. 非中央集権型(分散型)
- ほとんどの組織は中央集権型のデータベースを使用している
- 全てのノードはそのブロックチェーン・データベースのコピーを持っている
- ブロックチェーンは必要なのか?
- Amazonのブロックチェーンに対する見解は?
ブロックチェーンはネットワークに信頼を築く
- ビジネスネットワークで中央集権の必要性がなくなる
- 3つのコンポーネント(実行環境)
- 分散型台帳データベース
- 全てのトランザクションの不変性(イミュータブル)なログを記録した台帳で、ブロックチェーンネットワーク内のノードによって維持されている
- ブロックチェーン上のどんなデータにも変更・消去することはできない
- 一つのブロックにはトランザクション、タイムスタンプと前のブロックのハッシュ値が入っている
- コンセンサス(合意)メカニズム
- どのトランザクションを有効とするかネットワーク上で合意する方法
- どのトランザクションをブロックチェーンに加えるかの順序
- ネットワークに参加するノードは、トランザクションやデータを台帳に加えるために、合意済みのルールを共有している
- ノードはセキュリティ、正確性、不変性の要件を満たさなければならない
- スマート・コントラクト
- ブロックチェーン内に組まれたビジネスロジックのプログラム
- 人の介入なしに、承認・予約実行するコード
- 分散台帳に記入されると、変更・消去ができない
- ブロックチェーン・ネットワーク外のコンポーネントともやり取りができる
- 全てのノードに保存される
- 分散型台帳データベース
顧客のユースケース
- 中央トラスト型台帳
- ヘルスケア
- 医療機器の在庫の承認と追跡
- 自動車
- 自動車の権利履歴の追跡
- 製造業
- リコールされた製品分布の追跡
- 人事(HR)・給与
- 個人プロファイルの変更追跡
- Amazon Quantum Ledger Database (Amazon QLDB)
- 中央集権型の完全マネージド型の台帳データベース
- 既存の技術をAmazon QLDBに置き換え、発注サービスの可用性・耐久性を改善
- ヘルスケア
- 非中央トラスト型台帳
- 金融機関
- P2P型の決済
- 住宅ローン融資会社
- シンジケートローンの手続き
- サプライ・チェーン
- サプライヤーと卸売業者間の取引
- 小売
- 顧客価値の合理化・能率化
- 金融機関
- Amazon Managed Blockchain (AMB)
- Hyperledger FabricとEthereumをサポートした完全マネージドのブロックチェーンサービス
- スケーラブルなブロックチェーンネットワークを簡単に構築・管理
- 複数のAWSアカウントをまたぐブロックチェーンネットワークを素早く構築
- メンバーを簡単に追加・除去、ネットワークの監視
- マネージド・サービスとしてデプロイできる唯一のブロックチェーン・プラットフォーム
- Hyperledger Fabricか?Ethereumか?
- 許可制のネットワークか、パブリックなネットワークか
- スケーラブル・セキュア
- 利用率の増加に合わせて簡単にスケール
- AWS Key Management Serviceによるネットワーク証明書
なぜHyperledger FabricとEthereumなのか?
- Hyperledger Fabric
- 有限のユーザーリストに対して効果的
- プライバシーやパーミッション管理に厳格なアプリに向いてる
- 例)ある取引に関するデータが指定の銀行と顧客間のみで共有される金融系のアプリ
- Ethereum
- 無限の未知のユーザーに対して効果的
- 全ての参加者に対してデータの透明性が重要になる、高度な分散型ブロックチェーンネットワークに最適
- 例)土地や作物の情報を共有できる、農家と政府組織からなるデジタル・アイデンティティのネットワーク
Hyper ledgerとは?
- 産業横断的なブロックチェーン・テクノロジーを発展させるオープンソース
- Apacheソフトウェアや、Eclipse、OpenStack、Linux、Kubernetes、Node JSなどの影響を受ける
- Linux Foundationにより運営
- 開発者と金融、テクノロジー、サプライチェーン、ヘルスケアなどの雇用主に広がるグローバルな共同研究
-
Hyper Ledgerの目的
- エンタープライズ規模のブロックチェーン・ソフトウェアを構築
- オープンソースの分散型台帳フレームワーク
- ビジネス取引をコードベースでサポート
- コミュニティ・ドリブンの基盤を提供
- オープンで中立的
- 技術・ビジネスのガバナンスによるサポート
- 技術コミュニティを構築
- ブロックチェーンと共有型台帳の開発
- POC、ユースケース、フィールド試験、デプロイ
- パブリックを教育
- ブロックチェーン・テクノロジーの市場機会
- 商用のエコシステムの構築
- Hyper Ledgerプロジェクトに参加することによって、ISVやクラウド・プロバイダ、SI、エンドユーザの組織が商業的な利益に気づいている
- エンタープライズ規模のブロックチェーン・ソフトウェアを構築
- みんなが欲しいのは小さな分散型台帳
- ブロックチェーン・ソリュ=ションの世界的な投資額は2019年に$29億になる見込み
- 2022年には$124億に急増する(WEF2019による)
- Hyperledgerは企業のブロックチェーン・プロジェクトのゴールド・スタンダードとして、即座に構築が可能
オープンなブロックチェーンの範囲
- 許可型 vs. 許可不要型
- 誰がブロックチェーンを書けるのか?(Accessibility)
- パブリック vs. プライベート
- 誰がブロックチェーンを読めるのか?(Visibility)
- あるノードに対してはパーミッションがないデジタル・アイデンティティ・ネットワークで、データ自体はパブリックに公開されている
Hyperledger Fabric
- モジュール式のアーキテクチャで、ブロックチェーン・ネットワークを開発するプラットフォーム
- ステータス: 進行中
- CIIバッジ: CIIベストプラクティスを経過
- 説明: GolangとJavacscriptの分散型台帳
- 最新バージョンがFabric 1.4.3、alpha+2.0
- 100以上の会社のコントリビュート、200以上の開発
- 数百のパイロットとネットワークがデプロイ
- 例)DTCC
- 金融市場の構造はリスクを減らし、透明性を上げ、市場と規制と共に成長することが求められている
- 中央集権的なデータベースをAMBのHyperledger Fabricに置き換え、ブロックチェーンの広がりと浸透に着手
- 例)Nestle
- ブロックチェーン・テクノロジーを使って、食材が何なのか、どこから来たのかを追跡する
- AMB上でHyperledger Fabricをセットアップし、サプライチェーンの透明化にパートナーが協力
Hyperledger Sawtooth
- 分散型台帳を構築、デプロイ、運用するためのモジュラーなプラットフォーム
- コンセンサス・アルゴリズムを除き、BitcoinやEthereumのコンセプトから影響を受けている
- ステータス: 進行中
- CIIバッジ: CIIベストプラクティスを経過
- 説明: 多言語サポートの分散型台帳
- ダイナミック・コンセンサス(その場で流動的にコンセンサスが変わる)
- Proof of Elapsed Time (PoET)とPBFTコンセンサス
- ほとんどの言語でスマートコントラクトが書ける
- Hyperledger Burrowインテグレーションで、Etehreumのスマートコントラクトも書ける
- スループットを上げるためにトランザクションの並列処理
- Proof of Elapsed Time → 最小限のリソース消費で、大きな分散型承認が可能
Hyperledger Besu
- ステータス: 開発中
- CIIバッジ: 未着手
- 説明: Ethereumのパブリック、プライベート、テストネットワークで動くEthereumクライアント(Rinkeby、Ropsten、Gorli)
- Java製
- PoWやPoA、IBFTといったコンセンサスアルゴリズムに対応
- コンソーシアム環境で利用できる、包括的なパーミッション計画
デベロッパーとしてどう参加できるのか?
- 学ぶ、構築する、参加する
- Community Working Groups (WGs)(開発)
- Technical Steering Committee(技術監督委員会)
- Architecture Working Group(設計)
- Identity Working Group(認証)
- Performance and Scaling Working Group(パフォーマンスとスケーリング)
- Smart Contracts Working Group(スマートコントラクト)
- Technical Working Group China(技術 in 中国)
- Learning & Materials Development Working Group(研究開発)
- Diversity, Civility and Inclusion Working Group (DCI)(ダイバーシティ)
- Community Special Interest Groups (SIGs)(専門分野)
- Healthcare(ヘルスケア)
- Telecom(テレコミュニケーション)
- Trade Finance(金融取引)
- Capital Markets(株式市場)
- Public Sector(公共部門)
- Social Impact(社会的影響)
- Supply Chain(サプライチェーン)
- Education Architecture(教育設計)
- トレーニングと認定
- Hyperledger FabricやSawtoothに、できるだけ早く取り組むための技術的なトレーニングとプロフェッショナル認定制度
- Certificated Hyperledger Sawtooth Administrator (CHSA)
- Certified Hyperledger Fabric Administrator (CHFA)
- Certified Hyperledger Fabric Developer (CHFA)
もっと学ぶには
- Amazon Managed Blockchain (AMB)
- AMB landing page: https://aws.amazon.com/jp/managed-blockchain/
- Deep Dive on AMB: https://www.youtube.com/watch?v=B9tlH8lzKI4
- How to deploy an app for Hyperledger Fabric on AMB: https://aws.amazon.com/jp/blogs/database/build-and-deploy-an-application-for-hyperledger-fabric-on-amazon-managed-blockchain/
- Hyperledger
- Project site: https://www.hyperledger.org/
- Hyperledger Fabric: https://www.hyperledger.org/projects/fabric
Q&A
- ブロックチェーンを使う利点の一つに、誰もネットワークを止めることができないということが挙げられるが、パブリッククラウドで実装する中央集権型のブロックチェーンでは、それをどう実現できるのか?
- Hyperledger Fabricは、AWSだけでなくAzureやIBMといったあらゆるクラウドプロバイダーをまたがる必要があり、徐々にそうなってきている(ので、一つのクラウドへの依存は避けられる)
- ブロックチェーンに間違ったデータを書き込んでしまう可能性があると思うが、どうデータの正確性を保証していくのか?
- そもそもブロックチェーンではゴミはゴミとして永遠に残るものであるし、他のデータベースにも起こりうることである。また、ブロックチェーンにはエビデンスとなるチェーンが含まれている。
- 間違ったデータを入力してしまった時、どう修正するのか?
- 訂正用のトランザクションを書けばいい
- 悪意のある参加者がネットワークに混じ入る可能性があるが、どうやって信頼関係を築いてトランザクションを作成していくのか?
- 署名のチェーンがトランザクションの証明となる。スマートコントラクトの代わりに、あなたが信用する必要はない
参照
- https://hyperledger-fabric.readthedocs.io/en/release-1.4/whatis.html
- https://aws.amazon.com/jp/blogs/database/your-guide-to-amazon-managed-blockchain-and-amazon-qldb-workshops-and-chalk-talks-at-aws-reinvent-2019/
- https://sawtooth.hyperledger.org/docs/core/releases/1.0/introduction.html