Corda 5 “The road ahead” -Part 6- アプリケーションネットワーク

井本 翔太 (Shota Imoto)
Corda japan
Published in
11 min readOct 20, 2022

--

____________________________________________________
<お知らせ>
SBI R3 Japanブログは、MediumからSBI R3 Japanのポータルサイトに引っ越ししました。引っ越し先で、mediumの過去記事も閲覧可能です。今までとは異なる新しいコンテンツも発信してまいりますので、お気に入り登録をぜひお願いします!

____________________________________________________

このブログはR3のJosh TaylorによるCorda5紹介記事の抄訳になります。イメージも含めオリジナルはR3に帰属します。
英語版の公開: 2021年12月2日
日本語版(本記事)の公開: 2022年10月20日

アプリケーションネットワークとは、Cordaのネットワークモデルを革新するための野心的な試みの一部です。より高いレベルでのプライバシー管理やより柔軟な管理を可能にしつつ、運用上の複雑さやコストを下げることを狙っています。この記事では、アプリケーションネットワークの詳細とその恩恵を深掘りしたいと思います。

Cordaは初めてでしょうか?Cordaの機能とコンセプトについてより詳しく知るには公式ドキュメントに目を通すことを推奨します。この投稿では読者の皆様がCordaについて多少なりとも知識があることを前提としています。

各種規制が適用される市場においてソリューションを構築しようとする私たちR3の顧客は、プライバシーやガバナンスに強い要求があるため、CorDappの大半をプライベートネットワーク、もしくは共有ネットワーク(訳注:the Corda Network)でリリースされますが、未だに私たちが想像したようなネットワーク間のインターオペラビリティは行われていません。アプリケーションネットワークはこの事実を踏まえ、個々のネットワークの範囲を縮小し、アプリケーションをネットワークの構成単位とします。

アプリケーションネットワークの必要性についてはpart 1part 2の記事にて詳しく説明しています。

アプリケーション単位でネットワークが構成され、その数が増えた場合、最終的には互いに独立したネットワークが多く存在することになるのでしょうか?確かにネットワークは増えますが、独立することはないと考えます。実際、Corda 5において、ノードはどのネットワークにも参加することが可能です。そして、ネットワークを跨いだ通信は、(単にノードの台帳を共有する形ではなく、)用意されたインターオペラビリティ専用のプロトコルに基づいて接続される予定です。これはネットワークを1つにするための大きな一歩であると考えます。

Corda 5のアプリケーションネットワークの鍵となる要素は以下の通りです。

仮想ノード

Worker Cluster上に立ち上げた複数の仮想ノード(原文より引用)

Corda 5のデプロイはWorker Clusterとして配備(Deploy)されます。(訳注※ worker cluster上には、複数のノードを立ち上げることが可能で、それぞれを仮想ノードと呼びます)これにより、一つのマシン上で複数の主体を管理することができ、コスト削減に貢献します。個々の仮想ノードは独自のID、処理能力、データストレージで作成され、自分以外の他の仮想ノードとは独立しています。

仮想ノードを用いることで、複数のネットワークへの参加が容易になります。ノードを異なるマシン上へ複数立ち上げて所有するのではなく、仮想ノードを複数立ち上げる形を取ります。これにより、 簡単に複数のネットワークのそれぞれで別のIDを使用できるようになります。

インストーラー

CPI,CPB,CPKファイルの詳細(原文より引用)

CorDappにはアプリケーションネットワークに参加するために必要な情報を1つのファイルにまとめたCorDapp Package Installer(CPI)というパッケージが提供されています。以下がアプリケーションネットワークの参加に必要な情報になります。

・ネットワーク管理者の位置

・メンバーシップの必要事項リスト

・サードパーティーの依存関係

・CorDappのロジック

CPIに含まれる要素のうち、最小の要素は、実際に動作するアプリケーションです。これは、CorDapp Pakages(CPK)と呼ばれます。このPackageは、FlowやContractファイルを置き換えたものであり、独立してバージョン管理をすることができます。各CPKは、他のCPKから分離された独自のサンドボックスで実行されます。これにより、依存関係の衝突を防ぎ、より迅速なCorDappの開発を可能にします。

個々のCPKファイルは、新しい機能である”application publisher”によって、1つのCorDapp Package Bundle(CPB)にまとめられます。”application publisher”は単一のエンティティであり、ネットワークに単一のアプリケーションネットワークの枠組みを作るために複数の当事者間での調整を効率的に行います。例えば、アプリケーションの共同開発において、開発中や配布・アップグレード時の運用の際に、強い技術的な依存関係が発生します。しかしながら、”application publisher”がこの役割を担うため、全ての当事者が必要とするコストが軽減され、企業間での共同開発がより容易になります。

”application publisher”は、最終的にネットワークに関する情報を追加し、ファイルは上図のようにCorDapp Package Installer (CPI)となります。CPIファイルは、新規メンバーに配布してオンボーディングを開始したり、既存のメンバーに配布してアップグレードを実行することができます。

カスタマーオンボーディング

オンボーディングプロセスにおける申請者側の処理に関する図(原文より引用)

CPIファイルは、オンボーディングプロセスを簡略化します。申請者側での操作は、メンバーシップの要求に必要な情報を含む単一のCPIファイルを取得するだけです。これにより、各メンバーはメンバーシップの前提条件を理解し、必要な属性を設定したり、必要に応じてサードパーティからアーティファクトを取得したりすることができます。

CPIのインストールにより、Cordaがメンバーシップを要求する前に、申請者に代わって全てのメンバーシップ要件を確認します。例えば、アプリケーションネットワークは、指定した認証局リストのいずれかから提供された検証済みID証明書の提示を義務付けることができ、Cordaはこの要件を確認した後にメンバーシップを要求します。この一連の自動化プロセスにより、申請者はCordaによって担保された申請の正当性を確証することができ、ネットワーク事業者が実施する一部の確認作業を軽減することができます。

PKI基盤

The corda networkにおけるPKIの活用により運用コストを削減可能(原文より引用)

Corda 5 ネットワークのPKI基盤は、標準的なWeb証明書とEV証明書の規格に準ずることで、非常に柔軟なものになりました。この結果、TLS接続においても、IDに関しても、第三者のトラストルートを活用できるようになりました。また、より柔軟な運用を念頭に、複数のトラストルートを指定することもできます。もっと言えば、そもそもトラストルートを通じたID認証を避け、他の認証方法を活用することも可能です。これにより、Cordaネットワークの日々の運用業務の煩雑さを大幅に軽減し、より安価に開発・管理することができます。

メンバーシップ・グループ・マネージャー

CorDappを介して、アプリケーションネットワークの構築・運用をより簡単に、より安価に実現(原文より引用)

アプリケーションネットワークを新規構築する場合、仮想ノード上で動作する専用CorDappであるThe Membership Group Manager (MGM)というアプリケーションが使用されます。つまり、同じCordaのデプロイメントを使って多くのアプリケーションネットワークを作成/運用することができるのです。これにより、別々のソフトウェアをデプロイして維持する必要がなくなり、運用コストを低く抑えることができます。MGMは具体的に以下の動作を行います。

・参加リクエストの承認/拒否

・一時的な停止/除名

・ネットワークパラメータの配布

・CordaとCorDappのアップグレードの管理、スケジュール管理

・メンバーのCordaバージョンの監視

・メンバーのCorDappのバージョンを監視

ネットワークのインターオペラビリティ

Corda 5により安全にインターオペラビリティを実現(原文より引用)

独立して制御されたビジネスネットワークを求めるお客様の要望によって、私たちは普遍的なインターオペラビリティに対する新しいアプローチを模索しました。新しいアプローチは、アプリケーションベースのネットワークという形で、独立した許可型ネットワークを受け入れることができ、同時に2つ以上のアプリケーションネットワークのインターオペラビリティを可能にします。

CordaCon2021では、Corda 5シリーズを通じてプラットフォームに導入する予定の、いくつかのインターオペラビリティプロトコルを紹介しました。

結論

私たちは、アプリケーションネットワークがもたらす恩恵に大きな期待を寄せています。

  1. プライバシー:ノードを発見できるのは、ネットワークメンバーのみ
  2. ガバナンス:ネットワークに対してより柔軟で高度なコントロールが可能
  3. コンポーザビリティ:CorDappの依存関係の軽減
  4. インターオペラビリティ:アプリケーションネットワーク間での価値を引き出す
  5. 低コスト:ネットワークの構築、運用を司る専用のCorDappの提供
  6. 迅速な開発:独立したCorDapp Packageの提供により、依存関係を原因としたクラッシュの防止
  7. 簡単な市場導入:1つのファイル(CPIファイル)に集約

関心のある方向けたマテリアル

CordaCon2021におけるインターオペラビリティに関する議論です。
DLT Network of Networks and Interoperability | CordaCon 2021 (r3.com)

CordaDay Japan開催決定!

SBI R3 Japanは、来る2022年11月10日、Corda Day Japan 〜ブロックチェーンで変わる新たな世界〜と銘打ち、対面形式での大規模イベントを行います。 日本の主要Cordaユーザー企業より、多様なビジネスユースケースのご紹介を中心に、もちろん、今回扱ったCorda5に関するセッションもございます。是非参加登録をお願いいたします。
https://sbir3japan.co.jp/cordaday2022/

Corda5関連のポストはこちらにまとめてございます。

・記事へのご質問、その他ご相談大歓迎です。
・SBI R3 Japanではエンジニア、PMを募集しています。
・Cordaを利用した開発パートナーも募集しています。
お問い合わせ:info-srj@sbir3japan.co.jp
HP: https://sbir3japan.co.jp/
Corda Guide:https://support.sbir3japan.co.jp/hc/ja
Twitter: https://twitter.com/R3Sbi

ご参考まで
井本 翔太(Shota Imoto) from SBI R3 Japan (抄訳作成) & Josh Taylor from R3 (Original writer)

--

--