Corda Enterprise release notes (Japanese)

Corda Enterprise 4.7のリリース概要

今回のリリースでは、数々の新機能と機能強化が導入されているほか、以前のリリースに存在した既知の問題が解決されます。

これまでのリリースでAPIの後方互換性を約束したのと同様に、Corda 4.7でも同じ保証がされています。

Corda 3.0以上で有効なStateやCordappはCorda 4.7でもお使いいただけます。

Corda Enterprise 4.7における主な新機能と機能強化は以下の通りです:

新機能と機能強化

アーカイブサービス

アーカイブサービスは、Node運用者がアウトプットStateを伴わないTransactionの台帳データをアーカイブできるようにする新しいツールです。これによってディスクスペースを節約し、Nodeデータベースへの負荷を削減できます。

アーカイブサービスの機能には以下があります:

  • Cordaコマンドラインインターフェース(CLI)コマンドを使ったアーカイブサービスの利用これによって、アーカイブが必要なジョブをすばやく確認し、必要なくなったデータをvaultから削除し、vaultの中身のスナップショットをインポート、エクスポート、復元できるようになります。
  • アプリケーションエンティティ―マネージャーを使うと、CorDappsが台帳外のデータベースにアクセスできるようになります。
  • アーカイブサービスをCollaborative Recovery CorDapps と統合すると、壊滅的なシナリオが発生してもデータの復元がスムーズに実行できます。

詳細についてはアーカイブサービスの説明 をご覧ください。

改善されたNotaryのバックプレッシャーメカニズム

Notaryがトラフィックを扱う方法を最適化するために、Notaryのバックプレッシャーメカニズム(バックプレッシャーメカニズム とも呼ばれます)を更新し、Notaryへの署名リクエストが突然増えた場合のNotaryのパフォーマンスを改善しました。この変更によって、Notaryがタイムアウトする可能性に関する予見精度が向上します。

つまり、「トラフィックの重い状態」でも高精度かつクイックに動作可能な バックプレッシャーメカニズムを実現したことになります。これによってNodeのリトライが削減され、パフォーマンスが最適化され、Node運用者にとってより良いエンドユーザーエクスペリエンスを提供できます。

Node管理とフロー管理用の新しい管理コンソール

Corda Enterprise 4.7には2種類の新しい管理コンソールが搭載されています:

  • Flow管理コンソールでは、ノードで実行されているflowの状態を確認でき、flowに対していくつかの処理を行えます。詳細については、Flow管理コンソール をご覧ください。
  • ノード管理コンソールでは、ノードについての情報を確認でき、いくつかの処理を行えます。詳細については、ノード管理コンソール をご覧ください。

どちらのコンソールも、CENM Gatewayサービス の一部として動作します。

証明書ローテーション

Corda Enterprise 4.7では、ノード鍵(Legal Identity)とその証明書をローテーションする機能を導入しています。これによって、Corda Enterprise Network Manager のNetwork Map上において、新しい証明書を使ってNode(Notary Nodeを含む)を再登録できるようになります。本機能の詳細については、R3サポート までお問い合わせください。

その他の変更と改善

  • Azure ADを使ったシングルサインオンAzure ADとCorda Authサービスで簡単な設定 を行うだけで、CordaサービスとAzure AD間でシングルサインオン(SSO)設定を運用できるようになりました。
  • HSM統合サポートCorda Enterpriseでは、サポートされていないHSMとCorda Enterpriseインスタンスのユーザーによる統合をサポートするようになりました。今回のリリースには、例として使えるJava実装のサンプルと、展開前に実装をテストできるテストスイートが含まれています。HSM統合の書き方ガイドについてはHSMに関する項 をご覧ください。
  • HSMにConfidential Identity鍵を保存する機能Corda Enterpriseは、nCipher、FuturexとAzure Key VaultのHSMにおけるConfidential Identityに関する鍵の保管をサポートするようになりました。nCipherとAzure Key VaultのHSMではConfidential Identity鍵のネイティブでの利用をサポートし、FuturexのHSMではキーラップモードをサポートします。これらのHSMにおけるConfidential Identity鍵保管の設定については、HSMに関する項 をご覧ください。
  • HSM APICorda Enterprise 4.7では、外部のツール開発者がCorda EnterpriseのHSMサポートを拡張するために使える独自のAPIを有するHSMライブラリーが導入されています。
  • ネットワークへの初期登録(initial-registration)時に、Nodeはidentity-private-keyのエイリアス作成を行うようになりました。詳細については、Nodeのフォルダ構成 の項をご覧ください。これまでは、cordaclientcacordaclienttlsのエイリアスだけがinitial-registration中に作成され、identity-private-keyは初回のNode実行時に必要に応じて生成されていました。そのため、Corda Enterprise 4.7では、nodekeystore.jksの内容は通常のNode実行中に変更されません(証明書ディレクトリを事前に設定したキー保管で埋められるdevMode = trueを除きます)。
  • NotaryのbatchTimeoutMs設定オプション を調整することでパフォーマンス向上を得られる可能性について解説を追加しました。ただし、デフォルト設定は変更されていません。

プラットフォームバージョン変更

Corda 4.7のプラットフォームバージョンは8から9に引き上げられています。

プラットフォームバージョンの詳細については、バージョニング をご覧ください。

修正された問題

  • Accountsを使う際に、Transactionを開始したPartyが受領側のPartyに対して復元を希望する場合にLedgerSync が差異を出力しないCollaborative Recovery の問題を修正しました。
  • Flowに含まれるメタデータである終了時刻と開始時刻の間で、異なるタイムゾーンを設定できる問題を修正しました。
  • ホット/コールドのNodeフェイルオーバーの場合に、カウンターパーティからのメッセージの受領を待っている間に継続的なフローが新しいホットNodeやカウンターパーティのNodeで滞る場合がある問題を修正しました。
  • NodeがStateの検索を行う際にいくつかの列挙型をデシリアライズできないためにCorda 4.6 RPCクライアントがCorda 4.7のNodeに対してNodeFlowStatusRpcOps::getFlowStatusを実行できない問題を修正しました。
  • 入力Stateが10以上あった場合に、StateRef<hash>:aとして正しくエンコードされるものの、想定される整数入力によって間違ってデコードされるJPA Notaryの問題を修正しました。
  • Floatが同じBridgeからの2つの接続の試行を同時に処理し、結果としてバインディングの例外が発生する問題を修正しました。

既知の問題

  • Nodeの状態のクエリを行う際にいくつかの列挙型をデシリアライズできないために、Corda 4.6 RPCクライアントはCorda 4.7のNodeに対してNodeFlowStatusRpcOps::getFlowsMatchingを実行できません。
  • 場合によっては、RPCクライアントがNodeとの接続に失敗することがあります。このエラーはスペックの低いマシンを使っている場合に発生しやすいです。
  • HA UtilitiesツールがLegal IdentitiesやTLS鍵を念頭に実装されているため、freshIdentitiesConfigurationについての情報を記録しません。
  • HA Utilitiesツールは、NATIVEモードを使っている場合、マスター鍵が不要だと記載したメッセージを記録しません。こうしたメッセージは、initial-registrationコマンドを使ってNodeを登録している場合に、Nodeログにのみ記録されます。
  • NATIVEモードでのConfidential Identityにはマスター鍵が不要のため鍵は生成されていないにもかかわらず、NATIVEモードでのHSMのConfidential Identityを使ったNode登録中に、HA Utilitiesツールのログに「Confidential Identityのキーラップを作成しました」という間違ったログエントリーが含まれます。
  • 入力や参照のないTransactionは、出力Stateについて異なるNotaryを有することがあります。その結果、Transactionを発行しているNodeが、そのNotaryとのTransactionのノータリゼーションを行うことなく、出力Stateに任意のNotaryを設定することがあります。
  • Azure KeyVaultのサポートについて、Cordaはまだ、古くなったAzure Java SDKバージョン(1.2.1)に依存しています。これによって、Node運用者がshadedJarを自身で構築する必要が生じる場合があります。
  • 新しいフロー管理コンソールにおいて、ページのリロード後に、フィルターが適用されていた時と同じ結果を表示せず、列のフィルタリング/ソートが間違ってリセットされることがあります。
  • 新しいフロー管理コンソールとNode管理コンソールにおいて、ユーザーの名前が短すぎると「パスワードの変更」/「ログアウト」のドロップダウンメニューがすべて見えない場合があります。
  • 新しいフロー管理コンソールにおいて、「フローのクエリ」ページ上のカレンダー内の「フローの開始から/まで」のフィールドは2回クリックしないと開けません。
  • Collaborative Recovery1.1(または1.0)のイニシエーターは、Collaborative Recovery1.2のレスポンダーによってアーカイブされたTransactionを復元しようとした場合に失敗することがあります。
  • (今回のリリースで導入された)証明書ローテーションを実行するとき、previousIdentityKeyAliasesのリストにない古い鍵によって署名されたStateを使おうとするとフローにエラーが発生して失敗することがあります。
  • Health Check Toolは常に、現在のディレクトリではなくCorda Nodeのディレクトリに報告書を保存しようとします。Corda Nodeのディレクトリへの書き込み権限がないNode運用者にとって問題となる可能性があります。
  • Corda HSM Technology Compatibility Kit (TCK)テストのコンソールヘルプとCorda shell CLIのヘルプで、フォーマットが一貫していないところがあります。
  • samples:attachment-demo:deployNodesを実行する際、serviceLegalNameではなくmyLegalNameをノータリゼーションに使うため、runSenderのタスクが添付の送信に失敗します。
  • カスタムIOU CorDapp を移行するためにrun-migration-scripts --core-schemas --app-schemasを実行する際、MS SQLデータベースで動作していると移行スクリプトが失敗します。H2、PostgreSQLとOracleのデータベースに対しては、移行が問題なく動作します。
  • 場合によって、カウンターパーティがダウンしている場合やフローが遮断された場合でもNodeがカウンターパーティへの再接続を試み続けることがあります。

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.