R3 Corda docs URL
https://docs.r3.com/en/platform/corda/4.5/enterprise/release-notes-enterprise.html
Corda Enterprise 4.5.11
orda Enterprise 4.5.11 は、セキュリティの改善と gracefulShutdown の問題の修正を中心とした Corda Enterprise のパッチリリースです。
アップグレードの推奨事項
開発者またはノード オペレーターは、 できるだけ早くリリースされた最新バージョンの Cordaにアップグレードする必要があります。最新の Corda Enterprise リリース ノートはこのページにあり、最新のアップグレード ガイドはここにあります 。
Corda Enterprise 4.5.10
Corda Enterprise 4.5.10 は、Corda Enterprise のパッチ リリースであり、Apache Log4j 2 依存関係によって引き起こされる緊急のセキュリティ問題を修正します。この修正では、Log4j 依存関係がバージョン v2.17.1 に更新されます。
アップグレードの推奨事項
開発者は、できるだけ早くCorda の最新リリース バージョンにアップグレードする必要があります。最新の Corda Enterprise リリース ノートはこのページにあり、最新のアップグレード ガイドはここにあります 。
ノード オペレーターとして、 Corda の最新リリース バージョンにアップグレードする必要があります 。
修正された問題
このパッチ リリースでは:
・RestrictedConnection クラスの下位互換性オプション(アクセシビリティ)、TargetVersion を正しく尊重することを保証します。
Corda Enterprise 4.5.9
Corda Enterprise 4.5.9がリリースされました。
リリースノートの翻訳文を掲載いたします。
原文はこちらよりご確認ください。
https://docs.r3.com/en/platform/corda/4.5/enterprise/release-notes-enterprise.html
Corda Enterprise 4.5.9は、Apache Log4j2の依存関係によって引き起こされる緊急のセキュリティ問題を修正するCordaEnterpriseのパッチリリースです。この修正では、Log4jの依存関係がバージョンv2.17.1に更新されています。
修正された問題
このパッチリリースではLog4jの依存関係がバージョン2.17.1に更新され、既存のLog4jの問題が修正されました。
Corda Enterprise 4.5.8
Corda Enterprise4.5.8がリリースされました。リリースノートの翻訳文を掲載いたします。原文はこちらよりご確認ください。
注:これは、4.5.6からの直接のアップグレードです。バージョン 4.5.7 はリリースされていません。
Corda Enterprise 4.5.8 は、Apache Log4j 2 の依存関係に起因する緊急のセキュリティ問題 (CVE-2021-44228) を修正した Corda Enterprise のパッチリリースです。この修正では、Log4j の依存関係がバージョン 2.16.0 に更新されています。
注:アップグレードすることで、Apache Log4j 2の脆弱性が攻撃にさらされるのを防ぐことができます。これは、この脆弱性に関連するあらゆるリスクを軽減するための最も安全な方法です。
修正された問題
- Log4j の依存関係をバージョン 2.16.0 に更新し、CVE-2021-44228 を緩和しました。
Corda Enterprise 4.5.2
Corda Enterprise 4.5.2は、Corda Enterprise 4.5の既知の問題の修正を導入したパッチリリースです。
アップグレード推奨
開発者であれば、できるだけ早く最新版の Corda にアップグレードする必要があります。最新の Corda Enterprise リリースノートとアップグレードガイドはこちらでご確認ください。
ノードオペレータとして、以下の修正された問題があなたの仕事に関連する場合、Corda の最新リリースバージョンにアップグレードする必要があります。
修正された問題
- Corda Enterprise Network Manager (CENM)で許可される証明書のシリアル番号の最大長が28桁(データベースのNUMBER(28)形式)で、約93ビットのデータになっていた問題を修正しました。SwissPKIなどのサードパーティ認証機関のサポート(CENM 1.2で導入)を拡張するために、Identity Managerサービスは、RFC 5280に準拠するために、最大20オクテット/バイト(160ビット)のサイズの証明書のシリアル番号を扱えるようになった。さらに、CENM PKIツールは、最大16オクテット/バイトのシリアル番号サイズの証明書を生成するようになった。この修正により、ノードと HA ツールのサポートが向上しました。
- Network Map Service インスタンスが実行されていない場合に Corda ノードが起動しない問題を修正しました。
- ブリッジからのECHOの受信"ステップ中に外部のArtemisサーバが同時に停止している場合、Health Surveyツールがすべてのチェックを実行した後にハングする問題を修正しました。
- CENMネットワークマップサービスがダウンしている状態でノードを起動すると、ノードのRPC呼び出しチェックでHealth Surveyツールが停止してしまう問題を修正しました。
- Corda Enterpriseを4.5にバージョンアップした際に、Corda Enterprise 4.3で動作していた一部の既存のお客様のCorDappsが正常に登録できない問題を修正しました。
Corda Enterprise 4.5.1
Corda Enterpriseの新しいバージョンである4.5.1がリリースされました。Corda Enterprise 4.5.1はCorda Enterpriseのパッチリリースであり、Corda Enterprise 4.5の既知の問題に対する修正が導入されています。(リリースノートの原文はこちらから)
修正された問題
- タイプの定義でジェネリック型(generic type)が使用されている場合に、クラスローダーがコマンドクラスを見つけられない問題を修正しました
- Configuraton難読化ツールが、
- データベース接続が原因でセッション初期化の再試行が失敗する可能性がある問題を修正しました。
- 前回のアップグレード後に導入された依存関係の問題を回避するため、H2DBのバージョンを1.4.197にダウングレードしました。
- NodeMeteringBackgroundプロセスのCPU使用率を低減しました。
- AMQPヘッダのスプーフィングを防ぐためのセキュリティアップデートが適用されました。
- CollectSignaturesFlowに同じ取引相手との2つのセッションを渡した場合に、両方の取引相手のフローが相手からのメッセージを無限に待たなければならないという問題を修正しました。
- FlowStateMachineImpl.run().initialiseFlow()で、処理されていなかった例外が正しく処理されるようになりました。
- Corda Firewall の主要な設定と HSM 設定が難読化されている場合に、Corda Firewall が起動しない問題を修正しました。
- TLSハンドシェイクのタイムアウトにより、エンドポイントがブラックリスト化される問題を修正しました。
- 既存の txId:outputIdx に加えて、txId(outputIdx) の形式で状態の参照を指定するための使用済み状態監査コマンドのサポートを追加しました。
HSM 設定ファイルで動作するように修正されました。
Corda Enterprise 4.5
Corda Enterpriseの新しいバージョンである4.5がリリースされました。パフォーマンス、データ復旧、運用性について更に改善されました。リリースノートの全文訳を掲載いたします。ご参考になれば幸いです。(リリースノートの原文はこちらから)
このリリースは、Corda Enterprise 4.4 をベースにパフォーマンス、復旧、運用などの改善を実現しました。
Corda Enterprise 4.5 は、本番環境では Linux をサポートしていますが、Windows と macOS のサポートは開発とデモンストレーションのみを目的としています。詳細については、Corda Enterprise プラットフォームサポートマトリックスを参照してください。
Corda Enterprise 4.5 は、Corda (オープンソース) 4.xや3.x、および Corda Enterprise 4.4、4.3、4.2、4.1、4.0、3.xと運用上の互換性があります。
新機能&機能の強化
パフォーマンスの向上
Corda Enterprise 4.5 の一部として、パフォーマンスの大幅な向上を導入しました。プラットフォームの複数の領域におけるレイテンシーが改善されました。
FinalityFlowとCollectSignaturesFlowの待ち時間を短縮しました。これは、バックチェーンの解析、署名の収集、ファイナライズされたトランザクションのピアへのブロードキャストなど、プラットフォームの様々な領域を並列化することで達成されました。これらの変更の恩恵を受けるために CorDapp を変更する必要はありません。
新しいflowフレームワークAPI(sendAll/sendAllMap)を導入しました。これまでflowは、各カウンターパーティに対して一度だけsend API を使用することで、複数のカウンターパーティにメッセージを送信することができました。これらの新しい API を使用して、より良いパフォーマンスで同じことを実現することができるようになります。
※新しいAPIを使うためには、既存のCorDappsをアップデートする必要があります。
flowを流す際、ノード間でやり取りされるメッセージを圧縮することで、レイテンシーとスループットの両方の面で性能を向上させることができます。パフォーマンスの向上は、ネットワーク構成やハードウェアの仕様などの環境要因に依存します。このオプションはデフォルトで有効になっていますが、必要に応じてノード設定オプションの enableP2PCompression node configuration optionを使用して無効にすることができます。
Corda Enterprise イメージ on DockerHub
公式の Corda Enterprise Docker イメージが DockerHubで直接利用できるようになりました。
さらに、新しいDockerイメージを利用し、選択したノードデータベースとしてPostgreSQLをデフォルトで使用するようにDockerformを更新しました。
Corda Enterprise イメージを実行するには、専用の環境変数を介して Corda Enterprise の評価版ライセンスを保有していることをプログラムへ通知する必要があります。で受け付ける必要があります。詳細については、公式の Corda Docker イメージのドキュメントセクションをご参照してください。
新しいAzure Cloudテンプレート
クラウド環境での Corda のデプロイとテストを容易にするために、Microsoft の Azure クラウド コンピューティング プラットフォームを活用した新しいクラウド テンプレートを作成しました。テンプレートはAzureマーケットプレイスで利用可能で、以下のように使用できます。
- 完全なCorda ネットワーク(Corda Enterprise Network Manager と 1 つ以上のノードを含む)を生成
- 既存のネットワークに新しいCorda Enterpriseノードを追加
これらのテンプレートは、既存のネットワーク内でCorDappsを迅速にテストするための開発ツールとして、軽量且つターゲットを絞って設計されています。これらのテンプレートは、DockerとKubernetesを利用しており、ユーザーは自分のCorDappsをノードコンテナにバンドルすることで、セットアップを迅速に行うことができます。
※テンプレートを使用して、高可用性のノードを作成したり、Corda Firewall で保護されたノードを設定したりすることはできません。
詳細については、ワンクリック開発者テスト環境のドキュメントをご参照ください。
ハードウェアセキュリティモジュール(HSM)のサポート
Corda Enterprise 4.5では、AWS CloudHSMを使用することで、ノードが使用する暗号鍵のセキュリティを確保できる機能が導入されました。Legal identity、TLS、Corda Firewall、Confidential Identityの鍵はすべてAWS HSMに格納できるようになりました。
詳細については、プラットフォームサポートマトリックスのドキュメントをご参照ください。
災害復旧のためのCollaborative Recovery CorDapps
Corda Enterprise 4.5 は、災害シナリオで失われた元帳データを安全に、かつ個人的に照合して復旧するのに役立つ新しいユーティリティ CorDapps を導入しました。
LedgerSyncCorDappは、セキュリティを損なうことなく、ノード間でデータの不整合がないか定期的にレッジャーをチェックするために使用することができます。稀に不整合が発見された場合、CorDappLedgerRecover`は、自動リカバリーまたはマニュアル・リカバリー・モード(より深刻なデータ損失の場合)でデプロイして、ネットワーク全体のノードから失われたデータを安全に回復することができます。
詳細については、Collaborative Recoveryのドキュメントセクションを参照してください。
スタンドアローンツールとしてのLedgerSync CorDapp
LedgerSync CorDapp は、Collaborative Recovery CorDapps の一部ですが、スタンドアロンツールとしても実行できます。
これは、同じビジネスネットワーク内の2つのノードが保持する共通のレッジャーデータ間の違いを安全且つプライベートにハイライトします。CorDappを実行しているピアは、不足しているトランザクションを警告することができます。この手順はリコンシリエーション(Reconciliation)と呼ばれています。
CorDapp は、次の 2 つのイベントのいずれかによって引き起こされるレッジャーの不整合を確認するように設計されています。
- ノードのリレーショナルデータストアに影響を与える災害
- (稀にある)ハードウェアまたは接続性の障害の発生
LedgerSyncは、オンデマンドまたは定期的に実行することができます。アプリは、同じビジネスネットワーク上にあるinitiatingノードのすべてのピアに連絡し、initiatingノードのレッジャーに、ノードとターゲット ピアの両方に関連するすべてのトランザクションが保持されているかどうかの詳細なレポートを生成します。LedgerSync は、initiatingツールが関連するトランザクションのいずれかを欠落していることを発見した場合、オペレータに不一致を知らせ、オペレータは欠落しているデータをリカバリーすることが可能です。
LedgerSync は、Corda のプライバシーモデルに準拠するように設計されています。アクセスできるはずのないネットワークピアとトランザクション情報を共有しません。
詳細については、LedgerSync ドキュメントセクションを参照してください。
HA Notary readbackキュー
各Notaryワーカーはreadbackキューを持つようになりました。このキューは、最近使用されたステートを収集し、それらが Notary データベースに使用されたものとして正しく記録されているかどうかをダブルチェックします。このメカニズムが不整合を検出した場合、ワーカーのログファイルにエラーが記録され、保留されていないDBレコードのJMXメトリックが更新されます。
詳細については、データベース監視エージェントのドキュメントセクションをご参照ください。
Notary 二重支払監査ツール
二重支払は、Notaryが使用済みとマークしたステートが新しいトランザクションの入力として使用された場合に発生します。Notaryは、ダブルスペンドを試みるトランザクションを拒否します。
Corda Enterprise 4.5 は、Notaryオペレータがステートを二重支払しようとしたトランザクションのリストを取得できる新しいコマンドラインツールである Spent State Audit Tool を導入しました。このツールで提供される情報は、ネットワーク上で発生した二重支払の試みの根本的な原因分析を行うために使用することができます。
詳細については、Spent State Audit Toolのドキュメントセクションを参照してください。
ツールを実行するには、Notaryデータベーススキーマの変更が必要です。詳細に関してはこちらをご参照ください。
署名数カウントツールの改善
Metering Collector CorDapps は、flowフレームワークを介してネットワーク上の 1 つ以上の他の参加者から Corda Enterprise の使用状況のサマリーを要求するように拡張されました。この機能は、ビジネスネットワークオペレーター(BNO)をサポートするために設計されており、各ユーザーが自分の情報を共有することに同意しなければならないことを確実にするための強力なビルトインプライバシーコントロールを備えています。
RPC監査
Corda Enterprise ノードは、RPC 使用の監査証跡を維持するようになりました。ユーザーがRPCコールを実行しようとするたびに、その情報はノードによってCorda台帳外のテーブルに記録されます。情報は、権限のあるユーザーが専用のRPC操作を介してCSVまたはJSON形式でローカルにダウンロードすることができます。
詳細については、RPC Audit Collection Toolのドキュメントセクションをご参照ください。
モニタリング
モニタリングに関するドキュメントが改訂され、ノードオペレータのための改善されたガイダンスが含まれるようになりました。
さらに、Corda Enterprise ノードは追加のメトリクスを公開しています。ノードが公開しているすべてのメトリクスのリストは、こちらでご覧いただけます。
また、一般的なノードのモニタリングシナリオのリストも提供しています。
Corda エンタープライズ設定難読化ツール
Corda Enterprise と Corda Enterprise Network Manager の設定難読化ツールを単一の .jar ファイルに統一しました。この新しいツールは、以前のツールと同じレベルの機能を提供します。
セキュリティアップデート
以下のライブラリが更新されました。
- nettyを 4.1.46.Final に更新
- tcnative を 2.0.29.Finalに更新
Token-SDKのドキュメントとトレーニング
Tokens SDKのドキュメントは、Cordaトレーニングサイトの開発者向けの包括的なトレーニングモジュールとともに、メインのCordaとCorda Enterpriseのドキュメントサイトに移設されました。
ドキュメントを読む
トレーニングモジュールを見る
その他改善点
- データスタンプを含むすべてのデータベースカラムは、UTCを使用するように標準化されました (以前は使用されていたタイムゾーンに一貫性がありませんでした)。
- HA Utilities --bridge-hsm-nameおよび--float-hsm-nameコマンドラインパラメータで使用されるHSM名は、ここで説明されているように、 cryptoServiceNameと正確に一致するようになりました。
プラットフォームのバージョン変更
Corda Enterprise 4.5 のプラットフォームバージョンが 6 から 7 に変更されたのは、新しいflowフレームワーク API の sendAll と sendAllMap が追加されたためで、パフォーマンスが向上された形で複数の相手にメッセージを送信できるようになったからです。
プラットフォームのバージョンについての詳細は、こちらをご参照ください。
修正された問題
- QueryCriteriaUtilsのFieldInfo.notEqualの実装がFieldInfo.Equal と同じであった問題を修正しました。
- CorDapp カスタム シリアライザが MockNetwork でサポートされておらず、Driver を使用せずにflowのユニット テストが失敗する原因となっていた問題が修正されました。
- FlowLogic への参照を維持していた FlowExternalOperation をシリアライズすると、FlowExternalOperation から FlowAsyncOperation を構築する際に IndexOutOfBoundsException エラーが発生する問題が修正されました。
- ServiceHub.signInitialTransaction()が宣言されていないチェック済み例外(TransactionDeserialisationExceptionとMissingAttachmentsException)をスローしていた問題を修正しました。
- すべてのノードデータベースのタイムスタンプをUTCタイムゾーンを使用するように標準化しました。
- 既存のチェックポイント・イテレータ・シリアライザのnull処理とイテレータ位置を復元する際のequalsの使用に関する問題を修正しました。
- Cordaがカスタムの toString() メソッドを持つ Enums を DJVM サンドボックスにデシリアライズする際に失敗する問題が修正されました。
- core内のCordaの内部providerMapフィールドが、プライベートであるはずのものが、パブリックであり、かつミュータブルであった問題を修正しました。
- データベースの接続性に問題があるため、最初のチェックポイントをパースしていないflowを再試行するために、ステートマシンがArtemisキューからセッションinitメッセージを再生したときに失敗する問題を修正しました。
- Oracle 11でcom.r3.corda.enterprise.seteltionationperftestcordapp.flows.SwapStockForCashFlowTestが失敗する問題が修正されました。
- スタックトレースからより多くの情報を抽出するために更新した後、Level.WARNおよびLevel.FATALログに元のログメッセージが含まれていなかった問題を修正しました。
- データベース内にtransactionが存在する場合でも、ハッシュ付きのtransactionをコミットするためにレッジャーが待機している間にFlowがハングすると競合状態が発生する問題を修正しました。
- 埋め込まれたArtemisを使用しているときにCRLチェックが行われていなかった問題を修正しました。
- HSMが利用できない場合に、コンポーネントを起動する際のエラーメッセージが矛盾していた問題を修正しました。
- LinearStateQueryCriteria(linearId = emptyList())を使用したVaultクエリがPostgreSQL上で不正なSQL文に変換され、例外が発生する問題を修正しました。
- FetchDataFlowのConcurrentModificationExceptionの問題を解決するために、壊れたイテレータを修正できるカスタムシリアライザ(IteratorSerializer)を追加しました。
- Oracle で VaultObserverExceptionTest テストが失敗する問題を修正しました。
- ノードシェルを使用したノード登録時に「Cordaネットワークを使用して新しい参加者として登録します」というメッセージが中央に表示されない問題が修正されました。
- Collaborative Recovery CorDappsのライセンスに関する問題を修正しました。
- LedgerRecoverをLedgerSyncで実行しているときのlevel.INFOとlevel.WARNログのスタックトレースを削除しました。
- リカバリーがすでに初期化されているときに、ユーザーがノードから InitiateManualRecoveryFlowというflowを開始しようとしたときに、ハンドルされていない例外がスローされる問題を修正しました。
- LedgerRecover の実行中に isRequester が間違った値を持っていた場合に未処理の例外がスローされていた問題が修正されました。
- ノードが起動していない手動のLedgerRecoverを要求したときに、Corda Enterpriseがflowに関する情報を提供していなかった問題を修正しました。
- LedgerRecoverに関するドキュメントで、回復したtransactionのタイムスタンプが元のtransactionと比較して変更されることが明確に説明されていることを確認しました。
- LedgerRecover が実行されている間、ExportTransactionsFlow というflowがスタックする可能性がある問題を修正しました。
- PostgreSQL 10でマニュアルのLedgerRecoverが動作しなかった問題を修正しました。
- 重複挿入を防ぐため、node_propertyesテーブルに主キーを追加しました。
- Firewall負荷テストツールとCorda Firewall間の接続が中断された場合にCorda Firewall負荷がスタックする問題を修正しました。
- Java を Zulu 8.46.0.19 にアップグレードした後、Notaryが応答不能になる本番環境の問題を修正しました。
- ネットワーク情報を解析する際に、Corda Health Surveyツールが HTTP 301 と 404 の応答コードを無視する問題が修正されました。
- Corda Health Survey ツールが HTTP/HTTPS ネットワークマップのリダイレクトを実行しない問題が修正されました。
- net.corda.coretests.transactions.AtpttachmentsClassLoaderTests.attachment が強制的にガベージコレクションを行った後もverifyで利用可能であった問題を修正しました。
- バックチェーンのバルク解析に使用される backchainFetchBatchSize オプションを、ノード構成の正しい Corda Enterprise 固有のチューニングセクションに移動しました (このセクションには、R3 と相談してのみ変更すべきオプションが含まれています)。
- データベース・マネジメント・ツールを使用しているときに、機密情報がログとシェルターミナルでプレーンテキストとして公開されていた問題を修正しました。
Created by: Sheng Zhao
Last edited by: Sheng Zhao
Updated: 2020/06/25