Amazon Managed Blockchain で構築するプライベートブロックチェーン - Hyperledger Fabric の運用

Hyperledger Fabric のプライベートブロックチェーンネットワークを構築し、チェーンコードの開発とメンバー管理のガバナンスを紹介します。

Managed Blockchain と QLDB の使い分け

Managed Blockchain は Hyperledger Fabric 2.2 LTS のマネージドサービスで、最大 14 メンバーが参加する複数の組織が参加するプライベートブロックチェーンネットワークを構築します。QLDB が単一組織内での改ざん不可能な台帳を提供するのに対し、Managed Blockchain は複数組織間での分散型の信頼を実現します。サプライチェーンで複数の企業が取引履歴を共有する場合、金融機関間で決済記録を共有する場合、医療機関間で患者の同意記録を共有する場合など、参加者間の信頼を中央管理者なしで確立する必要があるユースケースに適しています。

ネットワーク構築とチェーンコード開発

ネットワークの作成はコンソールまたは API で行い、フレームワーク (Hyperledger Fabric)、エディション (Starter または Standard)、投票ポリシーを指定します。メンバーを作成するとピアノードと CA が自動的にプロビジョニングされます。チェーンコードは Hyperledger Fabric のスマートコントラクトで、ビジネスロジックを定義します。Fabric 2.2 LTS に対応し、Go、Node.js、Java で開発でき、ピアノードにインストールしてチャネル上でインスタンス化します。チェーンコードはトランザクションの検証ルール、データの読み書きロジック、アクセス制御を実装します。開発環境では Hyperledger Fabric のローカルネットワークでテストし、検証後に Managed Blockchain にデプロイするフローが推奨されます。

ガバナンスと運用

Managed Blockchain の投票ベースガバナンスでは、新しいメンバーの追加やメンバーの削除をネットワーク参加者の投票で決定します。投票ポリシーは過半数、全会一致、特定の割合から選択できます。各メンバーは独自のピアノードを運用し、チャネルを通じてデータを共有します。チャネルはメンバーのサブセットで構成でき、特定の取引を関係者のみに限定できます。ピアノードのスケーリングはインスタンスタイプの変更で行い、トランザクション量の増加に対応します。 CloudWatch メトリクスでトランザクションのコミットレイテンシとスループットを監視し、パフォーマンスの劣化を早期に検知します。 Hyperledger のデータモデリングを網羅的に学ぶなら、技術書 (Amazon)を参照してください。

Managed Blockchain の料金

Managed Blockchain の料金はメンバーシップ (ネットワーク参加費)、ピアノード、ストレージで構成されます。Starter エディションのメンバーシップは 1 時間あたり約 0.30 ドル (月額約 216 ドル)、Standard エディションは約 0.65 ドル (月額約 468 ドル) です。ピアノードは bc.t3.small で 1 時間あたり約 0.034 ドル (月額約 24 ドル) からです。ブロックチェーンの特性上、参加メンバーが増えるとネットワーク全体のコストが増加するため、参加組織間でのコスト分担モデルを事前に合意しておくことが重要です。開発・テスト環境では Starter エディションで十分です。

ブロックチェーンが適する場面

ブロックチェーンは万能ではなく、適した用途を見極めることが重要です。最も価値を発揮するのは、複数の組織が関わり、互いに完全には信頼し切れない関係の中で、共通の台帳を維持したい場合です。仲介者を介さずに取引の記録を共有し、改ざんできない履歴を全員で持てる点が強みになります。サプライチェーンの追跡、組織間の取引記録、資産の来歴管理などが典型例です。逆に、単一の組織が管理する記録なら、通常のデータベースで十分なことが多くあります。複数当事者・改ざん防止・仲介排除という要件が揃うかどうかが、採用の判断基準になります。

メンバーとノードの設計

Hyperledger Fabric のネットワークは、参加する組織 (メンバー) と、台帳を保持するピアノードで構成されます。各メンバーがピアノードを運用し、取引を検証・記録します。取引の順序を確定する仕組みや、特定のメンバー間だけで情報を共有するチャネルといった構成要素を、要件に応じて設計します。すべての情報を全員に見せるのか、一部の当事者だけに限定するのかを、チャネルの設計で制御します。ネットワークの規模や参加組織の関係性を踏まえ、ノードの配置やチャネルの分け方を決めることが、機能と機密性を両立させたブロックチェーン基盤の設計につながります。

セキュリティとアクセス制御

ブロックチェーンでは、誰が正当な参加者であるかを厳密に管理することが前提になります。各メンバーや利用者には証明書が発行され、その身元に基づいて操作の権限が制御されます。許可された参加者だけがネットワークに加わり、取引を行えるようにします。機密性が求められる情報は、限定したチャネルで共有し、関係のないメンバーには見せません。台帳自体は改ざんできない強固な記録ですが、入口の参加管理や、扱うデータの機密性については別途設計が必要です。証明書による身元管理と、チャネルによる情報の分離を組み合わせ、安全なネットワークを構築します。

運用監視とスケーリング

ブロックチェーンネットワークを安定して運用するには、各ノードの稼働状況やリソース使用量を継続的に監視します。取引量が増えてきたら、ピアノードを追加・増強して処理能力を高めます。台帳のデータは時間とともに蓄積されるため、ストレージの容量も計画的に管理します。チェーンコード (台帳上で動く処理ロジック) を更新する際は、参加メンバー間で合意を取り、慎重に展開します。新しいメンバーの参加や脱退といったガバナンスの手続きも、運用の一部として整えておきます。複数組織が関わる基盤だからこそ、監視と変更管理を丁寧に行うことが安定運用の鍵です。

まとめ

Managed Blockchain は複数組織間のプライベートブロックチェーンをマネージドに運用するサービスです。Hyperledger Fabric のインフラ管理を AWS に委託し、チェーンコードの開発とビジネスロジックに集中できます。複数組織間での分散型の信頼が必要なユースケースに有効です。