原文:https://hyperledger-fabric.readthedocs.io/en/latest/whatsnew.html
v2.0ベータリリースの新機能
Hyperledger Fabric v2.0のベータ版リリースにより、ユーザーはFabric v2.0の今後の機能を試すことができます。 v2.0リリースはまだ実稼働に対応していませんが、ベータ版は完全な機能を備えています。つまり、最終的なv2.0リリースで提供される予定のすべての機能が含まれています。
Fabric v2.0のハイライトを見てみましょう…。
分散チェーンコードのライフサイクル
Fabric v2.0では、チェーンコードの分散型ガバナンスが導入され、ピアにチェーンコードをインストールしてチャネルで開始するための新しいプロセスが導入されました。新しいFabricチェーンコードライフサイクルにより、複数の組織がチェーンコードエンドースメントポリシーなどのチェーンコードのパラメーターについて、元帳との対話に使用する前に合意することができます。新しいモデルでは、以前のライフサイクルに対していくつかの改善が行われています:
-
複数の組織はチェーンコードのパラメーターに同意する必要があります
Fabricのリリース1.xバージョンでは、1つの組織が他のすべてのチャンネルメンバーに対してチェーンコードのパラメーター(たとえば、エンドースメントポリシー)を設定できました。チェーンコードのインストールを拒否するだけの権限があったため、それを呼び出すトランザクションには参加しませんでした。新しいFabricチェーンコードライフサイクルは、中央化された信頼モデル(以前のライフサイクルモデルなど)と、チェーンコードが実行になる前に承認ポリシーおよびその他の詳細に同意するのに十分な数の組織を必要とする分散モデルの両方をサポートします。 -
より安全なチェーンコードアップグレードプロセス
以前のチェーンコードライフサイクルでは、アップグレードトランザクションは単一の組織によって発行される可能性があり、新しいチェーンコードをまだインストールしていないチャネルメンバーにリスクをもたらしました。新しいモデルでは、十分な数の組織がアップグレードを承認した後にのみチェーンコードをアップグレードできます。 -
シンプルなエンドースメントポリシーとプライベートデータコレクションの更新
Fabricライフサイクルにより、チェーンコードを再パッケージ化または再インストールすることなく、エンドースメントポリシーまたはプライベートデータコレクションの構成を変更できます。ユーザーは、チャネル上の大多数の組織からの承認を必要とする新しいデフォルトのエンドースメントポリシーを利用することもできます。このポリシーは、組織がチャネルに追加または削除されると自動的に更新されます。 -
チェーンコードパッケージ化によりチェーンコードの中身が調べます
Fabricライフサイクルは、チェーンコードを読みやすいtarファイルにパッケージ化します。これにより、チェーンコードパッケージの調査と、複数の組織にわたるインストールの調整が容易になります。 -
1つのパッケージを使用してチャネルで複数のチェーンコードを開始します
以前のライフサイクルでは、チェーンコードパッケージのインストール時に指定された名前とバージョンを使用してチャネルの各チェーンコードを定義しました。単一のチェーンコードパッケージを使用し、同じチャネルまたは異なるチャネルに異なる名前で複数回展開できるようになりました。たとえば、チェーンコードの独自の「コピー」でさまざまな種類の資産を追跡する場合。 -
Chaincodeパッケージはチャネルメンバー間で同一である必要はありません
組織は、たとえば組織の利益のために異なる検証を実行するなど、独自のユースケースに合わせてチェーンコードをカスタマイズできます。必要な数の組織が一致する結果を持つチェーンコードトランザクションを承認している限り、トランザクションは検証され、元帳にコミットされます。これにより、組織は、ネットワーク全体をロックステップで進める必要なく、独自のスケジュールでマイナー修正を個別に展開できます。
新しいチェーンコードライフサイクルを使用する
既存のFabric展開の場合、Fabric v2.0で以前のチェーンコードライフサイクルを引き続き使用できます。新しいチェーンコードライフサイクルは、チャネルアプリケーション機能がv2.0に更新された場合にのみ有効になります。新しいチェーンコードのライフサイクルの詳細については、オペレーターのチェーンコードチュートリアルを参照してください。
外部チェーンコードランチャー
Fabric v2.0では、デフォルトでチェーンコードがdockerコンテナーで実行されますが、外部チェーンコードランチャー機能により、チェーンコードを構築および起動が選択できるようになりました。
- Dockerデーモンの依存関係を排除 Fabricの以前のリリースでは、チェーンコードを構築および起動するために、ピアがDockerデーモンにアクセスする必要がありました。これは、ピアプロセスに必要な特権のために実稼働環境では望ましくない可能性があります。
- コンテナの代替物 チェーンコードはDockerコンテナで実行する必要がなくなり、オペレータが選択した環境(コンテナを含む)で実行できます。
- 外部ビルダー実行可能ファイル オペレーターは、外部ビルダー実行可能ファイルのセットを提供して、ピアがチェーンコードを構築および起動する方法をオーバーライドできます。
- 外部サービスとしてのチェーンコード 従来、チェーンコードはピアによって起動され、その後ピアに接続されます。ピアがチェーンコードの実行に接続して利用できるKubernetesポッドなどで、チェーンコードを外部サービスとして実行できるようになりました。
詳細については、外部サービスとしてのチェーンコードを参照してください。外部チェーンコードランチャー機能の詳細については、外部ビルダーとランチャーを参照してください。
プライベートデータの機能強化
Fabric v2.0では、取引を希望するチャネルメンバーのすべての組み合わせに対してプライベートデータコレクションを作成する必要なしに、プライベートデータを操作および共有するための新しいパターンが可能になります。具体的には、複数のメンバーのコレクション内でプライベートデータを共有する代わりに、選択したチャンネルメンバーとトランザクションまたは状態キーレベルでコレクション間でプライベートデータを共有することができます。各プライベートデータコレクションには、単一の組織が含まれている場合があります。または、単一の組織と規制当局または監査員が含まれている場合があります。
Fabric v2.0のいくつかの機能強化により、これらの新しいプライベートデータパターンが可能になります。
-
プライベートデータの共有と検証 プライベートデータがコレクションのメンバーではないチャンネルメンバーと共有される場合、または1つ以上のチャンネルメンバーを含む別のプライベートデータコレクションと共有される場合(そのコレクションにキーを書き込むことにより )、受信側はGetPrivateDataHash()チェーンコードAPIを使用して、プライベートデータが以前のトランザクションでプライベートデータから作成されたon-chainハッシュと一致することを確認できます。
-
コレクションレベルのエンドースメントポリシー プライベートデータコレクションは、オプションで、コレクション内のキーのチェーンコードレベルの推奨ポリシーをオーバーライドする推奨ポリシーで定義できます。この機能を使用して、コレクションにデータを書き込むことができる組織を制限できます。たとえば、組織固有のプライベートデータコレクションを利用して、各組織が個別に状態の更新に同意できるようにすることができます。このパターンは、個々のトランザクションにまたがるワークフローを実装するのに役立ちます。たとえば、データプライバシーと否認防止を使用した投票または承認シナリオをサポートします。
-
組織ごとの暗黙的なコレクション 組織ごとのプライベートデータパターンを利用する場合、Fabric v2.0でチェーンコードを展開するときにコレクションを定義する必要はありません。暗黙的な組織固有のコレクションは、事前の定義なしで使用できます。
新しいプライベートデータパターンの詳細については、プライベートデータ(概念情報)でプライベートに関する情報を参照してください。データ共有とプライベートデータ(参照情報)。プライベートデータコレクションの構成と暗黙的なコレクションに関するドキュメントがあります。
CouchDBのパフォーマンスを向上させる状態データベースキャッシュ
- 外部CouchDB状態データベースを使用する場合、承認および検証フェーズ中の読み取り遅延は、これまでパフォーマンスのボトルネックでした。
- Fabric v2.0では、新しいピアキャッシュはこれらの大量かつ高コストな検索を高速に読み取れるローカルキャッシュに置き換えます。キャッシュサイズは、core.yamlプロパティの
cacheSize
を使用して設定できます。
Alpineベースのdocker images
v2.0以降、Hyperledger Fabric Dockerイメージは、セキュリティ指向の軽量LinuxディストリビューションであるAlpine Linuxを使用します。これは、Dockerイメージがはるかに小さくなり、ダウンロードと起動の時間が短縮され、ホストシステムのディスク容量が少なくなることを指します。 Alpine Linuxはセキュリティを念頭に置いてゼロから設計されており、Alpineディストリビューションのミニマリストの性質により、セキュリティの脆弱性のリスクが大幅に削減されます。
サンプルテストネットワーク
fabric-samplesリポジトリには、新しいFabricテストネットワークが含まれるようになりました。テストネットワークは、モジュール式でユーザーフレンドリーなsample Fabric networkとして構築されており、アプリケーションやスマートコントラクトを簡単にテストできます。ネットワークは、cryptogenに加えて、認証局を使用してネットワークを展開する機能もサポートしています。
このネットワークの詳細については、Fabricテストネットワークの使用をご覧ください。
Fabric v2.0へのアップグレード
Betaリリースは、既存のFabricデプロイのアップグレードターゲットではありませんが、プロセスに慣れるためにアップグレードシナリオをテストすることを妨げるものは何もありません。
アップグレードドキュメントは大幅に拡張および改訂され、ドキュメントにスタンドアロンホームが追加されました:最新リリースへのアップグレード。ここでは、コンポーネントのアップグレードおよび[チャネルの機能レベルの更新](https:// hyperledger- fabric.readthedocs.io/en/latest/updating_capabilities.html)、およびv2.0へのアップグレードに関する考慮事項の具体的な外観、[v2.0への到達に関する考慮事項](https://hyperledger-fabric.readthedocs .io / en / latest / upgrade_to_newest_version.html)。
リリースノート
リリースノートには、新しいリリースに移行するユーザーの詳細が記載されています。具体的には、新しいFabric v2.0リリースで発表されている変更点と廃止予定をご覧ください。
link
[オペレーターのチェーンコード]
(https://hyperledger-fabric.readthedocs.io/en/latest/chaincode4noah.html)
[外部サービスとしてのチェーンコード]
(https://hyperledger-fabric.readthedocs.io/en/latest/cc_service.html)
[外部ビルダーとランチャー]
(https://hyperledger-fabric.readthedocs.io/en/latest/cc_launcher.html)
[プライベートデータ]
(https://hyperledger-fabric.readthedocs.io/en/latest/private-data/private-data.html)(概念情報)
[プライベートデータ]
(https://hyperledger-fabric.readthedocs.io/en/latest/private-data-arch.html)(参照情報)
[Fabricテストネットワークの使用]
(https://hyperledger-fabric.readthedocs.io/en/latest/test_network.html)
[最新リリースへのアップグレード]
(https://hyperledger-fabric.readthedocs.io/en/latest/upgrade.html)
[コンポーネントのアップグレード]
(https://hyperledger-fabric.readthedocs.io/en/latest/upgrading_your_components.
html)
[チャネルの機能レベルの更新]
(https://hyperledger-fabric.readthedocs.io/en/latest/updating_capabilities.html)
[v2.0への到達に関する考慮事項]
(https://hyperledger-fabric.readthedocs.io/en/latest/upgrade_to_newest_version.html)