Hyperledger Fabric v1.0で いったい何が変わったのか? 第2回 Multi-ChannelとSub-Ledger

Hyperledger Fabric v1.0で いったい何が変わったのか? 第2回 Multi-ChannelとSub-Ledger

はじめに


3回にわたり、Hyperledger fabric v0.6とv1.0の違いを技術的に解説しています。

v1.0ではv0.6がもつスケーラビリティとプライバシーにかかわる課題解決のため以下変更が実施されました。
  • 第1回: スケーラビリティ
    • v0.6では全ノードが合意形成とChaincode実行を実施
    • v1.0ではChaincodeの実行管理をする「Peer」と、トランザクションの順序整列をする「Orderer」に分類、トランザクションの並列/分散処理を実現
  • 第2回: プライバシー
    • v0.6では全ノードが全Chaincodeを閲覧可能
    • v1.0ではどのノードでどのChaincode実行に関与するかを制御可能
  • 第3回:認証(authentication)・権限認可(authorization)

上記実現のため、認証・権限認可およびID管理が変更



第2回は上記プライバシーについて解説します。本記事は、過去にコンセンサス・ベイスが主宰していたオンラインサロンの記事です。記事は2017年~2018年にかけて執筆されたため、一部は、既に古くなっている可能性があります。あらかじめご了承ください。

Multi-ChannelとSub-Ledger


v1.0では、競合企業あるいはトランザクションの機密性をもとめる企業が同一のパーミッションド・ブロックチェーンに参加できるようにするため、Channelというプライベート通信機能を導入しています。

ChannelはFabricネットワークにオーバーレイされたブロックチェーンであり、データの隔離と機密性を確保します。Channel専用のSub-ledger(ブロックチェーン)が共有され、トランザクションに参加するためには正式な認証・権限認可が必要となります。

Channelは、参加するメンバー(企業)、メンバーに紐付くPeer、Sub-ledger、Chaincode、Ordererで構成されます。Channelに参加するPeerはMSP(Membership Services Provider、クライアントとpeerがFabircネットワークに参加するための証明を与える論理的コンポーネント)により証明されます。Channelの定義はSub-ledgerにあるConfiguration-Block(アクセス・コントロール・リストなどのポリシー、関連情報)にて記述されます。

それでは、PeerとOrdererが、Channelによりデータの隔離と機密性を確保しながら、どうのように第1回で説明した整列(order)およびledger管理をしているのかを確認しましょう。なお、図中のConsensus ServiceとはOrdererを意味しています。またSub-ledgerは色で示された専用Channelに接続(定義)されたPeer、Chaincode、Ordererとのみ連携します。



図:Channelによる整列およびledger管理
(HyperledgerMeetupDec6.2016.pdfより抜粋)
  • Peerはアクセス・コントロール・ポリシーにしたがってChannelへのアクセスを許可され、割り当てられたChannelを通してOrdererと通信します。
  • OrdererはPeerから収集したトランザクションを整列し割り当てられたChannelを通して暗号化されたブロックをPeerに配信します。
  • Peerは受信したブロックの正当性を確認しSub-ledgerに追加します。

PeerはGossip protocol(P2Pノード間で一定の間隔でランダムにコンタクトを行い、各ノードのデータ割り当て状況などを交換するプロトコル)を利用してデータ配信を行います。FabricネットワークにおけるGossip protocolの主要機能は以下の3つです。
  • 稼働中およびオフラインになってしまったPeerを監視し、Peerの検出およびメンバーシップを管理
  • Channel内の全PeerにSub-ledgerデータを配信、同期が取れなくなったPeerが自らデータ復旧・再同期可能
  • Sub-ledgerデータのPeer to Peer状態転送更新による新規Peer追加

参考資料:

・Docs » Welcome to Fabric

http://hyperledger-fabric.readthedocs.io/en/latest/index.html
・Hyperledger Fabric V1 – Meetup

http://files.meetup.com/19726545/HyperledgerMeetupDec6.2016.pdf
・Hyperledger Fabric 1.0 概要、第1回Hyperledger Tokyo Meetup 2017年3月16日講演

株式会社日立製作所 山田仁志夫、Hitachi America 大島訓
・エンタープライズ・ブロックチェーンに求められるセキュリティ要件とIBMの取組み
 2017年6月27日講演 日本IBM株式会社 野村幸平

免責事項


本記事に掲載されている記事の内容につきましては、正しい情報を提供することに務めてはおりますが、提供している記事の内容及び参考資料からいかなる損失や損害などの被害が発生したとしても、弊社では責任を負いかねます。実施される際には、法律事務所にご相談ください。

技術・サービス・実装方法等のレビュー、その他解説・分析・意見につきましてはblock-chani.jp運営者の個人的見解です。正確性・正当性を保証するものではありません。本記事掲載の記事内容のご利用は読者様個人の判断により自己責任でお願いいたします。

会社紹介


弊社(コンセンサス・ベイス株式会社)は、2015年設立の国内で最も古いブロックチェーン専門企業です。これまでに、大手企業の顧客を中心に、日本トップクラスのブロックチェーンの開発・コンサルティング実績があります。ブロックチェーンに関わるビジネスコンサル・システム開発・教育・講演などご希望でしたら、お気軽にお問い合わせください。

会社ホームページ

https://www.consensus-base.com/

ブロックチェーンの専門企業で働いてみませんか?

当サイトを運営するコンセンサス・ベイス株式会社では、エンジニア、プロジェクトマネージャー、ライターなど、様々なポジションで一緒に働いてくださる仲間を募集しています。

ブロックチェーン業界にチャレンジしてみたいあなたのご応募をお待ちしております!

Hyperledger Fabricカテゴリの最新記事