Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ja_JP] Fix "What's new in Hyperledger Fabric v2.x" #940

Merged
merged 1 commit into from
Jul 31, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
178 changes: 155 additions & 23 deletions docs/locale/ja_JP/source/whatsnew.rst
Original file line number Diff line number Diff line change
@@ -1,20 +1,156 @@
What's new in Hyperledger Fabric v2.x
=====================================

What's New in Hyperledger Fabric v2.5
-------------------------------------

Purge history of private data
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ステートデータからプライベートデータを削除することは以前から可能でしたが、この新機能により、
ブロックチェーン上に不変の証拠としてプライベートデータのハッシュを保存しつつ、
ピアからプライベートデータの履歴を「パージ」(消去)することができるようになります。

* プライバシー上の理由や政府の規制を遵守するために、プライベートデータを必要に応じて消去したい場合に便利です。
* ブロックイベントや他のピアからプライベートデータを照会できないように、
ステートデータとピアのプライベートデータ履歴からプライベートデータを削除します。
* 新しいchaincode API `PurgePrivateData()` として利用可能です。
* 本機能を利用するには、チャネルのコンフィギュレーションにて、Applicationケイパビリティを `V2_5` に設定する必要があります。

詳細については、:doc:`private-data/private-data` を参照してください。

Multi-architecture binaries and docker images are now available
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

リリースバイナリおよび Docker イメージが以下のようにアップデートされました:

* amd64 および arm64 をサポート。
* リリースバイナリは移植性を高めるために静的にリンクされています。
* Dockerイメージは動的にリンクされたバイナリを使用し、(Alpineではなく)Ubuntuをベースにすることで、一般的な本番環境との整合性を高めています
(本番環境は一般的にglibcをベースとしており、HSMモジュールの動的リンクを必要とすることがよくあります)。

.. note::

Fabric v2.5.x は最新の長期サポート(LTS)リリースです。 以前のLTS (Fabric v2.2.x) リリースからの単純なインプレースアップグレードが可能です。


What's New in Hyperledger Fabric v2.4
-------------------------------------

Fabric Gateway
^^^^^^^^^^^^^^

Fabric Gatewayはピアノード上で動作する新しいサービスで、クライアントアプリケーションのトランザクション送信および処理を代行します。
次のような利点があります:

* クライアントアプリケーションとSDKの簡素化 - クライアントアプリケーションは、
信頼できるピアにトランザクションの送信を委任するだけでよく、他組織のピアノードやOrdererノードへの接続を行う必要はありません。
* Fabric Gatewayは、クライアントアプリケーションに代わって、他組織に対しトランザクションの承認を依頼し、Ordererサービスへの送信を実行します。
* Fabric Gatewayは、あなたのソリューションがチェーンコードレベルのエンドースメントポリシー、プライベートデータ収集エンドースメントポリシー、
ステートベースのエンドースメントポリシーを組み合わせて利用する場合でも、
与えられたトランザクションに必要なエンドースメントを決定するインテリジェンスを持っています。

Node、Java、Go用の新しい軽量な Gateway SDK(v1.0.0)が利用可能です。SDKは柔軟なアプリケーションパターンをサポートします:

* 以前のバージョンのSDKと同様、高レベルプログラミングモデルを利用でき、アプリケーションは SubmitTransaction() 関数のみを呼び出せばよいだけです。
* より高度なアプリケーションは、Gatewayに対しトランザクション送信のための Endorse、Submit、CommitStatus 各サービスと、
クエリのための Evaluate サービスを個別に実行できます。
* トランザクションのエンドースメントを完全にゲートウェイに委任することもできるほか、
必要であればエンドースする組織を指定すると、Gatewayは指定された組織のピアを利用します。

詳細については、:doc:`gateway` を参照してください。

Peer node unjoin
^^^^^^^^^^^^^^^^

チャネルが不要になった際に、ピアをチャネルから除外できるようになりました。
全てのチャネルリソースがピアから削除され、ピアはチャネルからのブロックを処理しなくなります。

詳細については、 `peer node unjoin` :doc:`command reference topic<commands/peernode>` を参照してください。

Calculate package ID of a packaged chaincode
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

新しい`peer lifecycle chaincode calculatepackageid`コマンドを使えば、ピアにチェーンコードをインストールすることなく、
パッケージ化されたチェーンコードからパッケージIDを計算することができます。
このコマンドは例えば以下のような場面で役に立ちます:

* 同じラベル名の複数のチェーンコードパッケージがインストールされている場合、どの ID がどのパッケージに対応するかを後で識別できます。
* 特定のチェーンコードパッケージがインストールされているかどうかを、そのパッケージをインストールすることなくチェックできます。

詳細については、 `peer lifecycle chaincode calculatepackageid` :doc:`command reference topic<commands/peerlifecycle>` を参照してください。


What's New in Hyperledger Fabric v2.3
-------------------------------------

Hyperledger Fabric v2.3では、Ordererとピアの操作を改善する2つの新機能が導入されました。

Orderer channel management without a system channel
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

チャネル作成プロセスを簡素化し、チャネルのプライバシーとスケーラビリティを強化するため、
Ordererサービスによって管理される「システムチャネル」を最初に作成することなく、アプリケーションチャネルを作成できるようになりました。
このプロセスによりOrdererは、ピアが複数のチャネルに参加できるのと同様に、必要に応じて任意の数のチャネルに参加(または離脱)することができます。

新プロセスの利点:

* **プライバシーの向上:** すべてのOrdererノードはシステムチャネルに参加していたため、
ネットワーク上のすべてのOrdererノードは、そのOrdererサービス上のすべてのチャネルの存在を知っていました、
今後は、Ordererノードが知っているのは自分が参加しているチャネルのみとなります。
* **スケーラビリティ:** Ordererノードとチャネルがシステムチャネルに多数定義されている場合、
Ordererノードがすべてのチャネルのメンバーシップについてコンセンサスを得るのに長い時間がかかることがあります。
今後は、OrdererサービスがOrdererノードを特定のチャネルに独立して参加させることで、分散化された方法で横展開することができます。
* **運用上の利点**
* Ordererノードをチャネルに参加させるためのプロセスを簡易化します。
* Ordererノードが同意者であるチャネルをリストアップできます。
* Ordererノードからチャネルを削除し、そのチャネルに関連するブロックを自動的にクリーンアップするプロセスを簡易化します。
* ピア組織は、MSPを作成または更新するために、システムチャネルの管理者と調整する必要はありません。

詳細については、 :doc:`create_channel/create_channel_participation` を参照してください。

Ledger snapshot
^^^^^^^^^^^^^^^

ステートデータベースを含むピアのチャネル情報のスナップショットを取得し、
スナップショットに基づいて新しいピア(同じ組織または異なる組織)をチャネルに参加させることが可能になりました。

台帳スナップショットを使うことには、次のような利点があります:

* **ピアはジェネシスブロック以降の全ブロックの処理が不要:**
ピアは、ジェネシスブロック以降の過去のブロックをすべて処理することなくチャネルに参加できるため、
既存のチャネルにピアを参加させるのに要する時間が大幅に短縮されます。
* **ピアは最新のチャネル設定を使用してチャネルに参加可能:**
スナップショットには最新のチャネル構成が含まれているため、ピアは最新のチャネル構成を使用してチャネルに参加できるようになりました。
これは、OrdererエンドポイントやTLS CA証明書のような重要なチャネル構成が、ジェネシスブロック生成以降に更新された場合に特に重要です。
* **ストレージコストの削減:** スナップショットを用いて参加するピアは、
ジェネシスブロック以降のすべてのブロックを維持するためのストレージコストが発生しません。
* **ステートチェックポイント:** ピア管理者は現在のチャネルのステートをスナップショットし、
同じ組織内または異なる組織内の他のピアと比較することで、各ピアの台帳の一貫性と整合性を検証できます。
合意されたスナップショットは、新たに参加するピアのチェックポイントおよび起点として使用できます。

詳細については、 :doc:`peer_ledger_snapshot` を参照してください。

.. note::

Fabric v2.3.0 は新機能を導入していますが、次のLTSリリースが発表されるまでは、 Fabric v2.2.x が現在の長期サポートリリースとなります。

What's New in Hyperledger Fabric v2.0, v2.1, v2.2
-------------------------------------------------

v1.0以来のメジャーリリースである、Hyperledger Fabric v2.0は、
ユーザーおよび運用者に重要な新機能と変更を提供します。
これは、新しいアプリケーションとプライバシーに関するパターンのサポート、スマートコントラクトの
管理の強化、ノード運用の新しいオプションなどを含んでいます。

v2.xのマイナーリリースは、v2.0に対して、小規模の機能追加・改善・バグフィックスを行ったものになります。

v2.2は、Fabric v2.xの最初の長期サポート(LTS)リリースです。
v2.1およびv2.2は、v2.0に対して小規模の機能追加・改善・バグフィックスを行ったもので、
v2.2はFabric v2.xの最初の長期サポート(LTS)リリースです。
次のLTSのリリースがアナウンスされるまで、v2.2.xのストリームで修正が提供される予定です。

それでは、Fabric v2.0リリースのハイライトをいくつか見ていきましょう。

Decentralized governance for smart contracts
--------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Fabric v2.0では、スマートコントラクトの非中央集権的な管理が導入されます。
これに伴い、チェーンコードのピアへのインストール、チャネルでの利用開始するときの手順が新しくなります。
Expand Down Expand Up @@ -63,8 +199,6 @@ Fabric v2.0では、スマートコントラクトの非中央集権的な管理
また、各組織が、自分のスケジュールで、小規模の修正を個別にロールアウトすることも可能になります。
ネットワーク全体で足並みをそろえて行う必要はありません。

Using the new chaincode lifecycle
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

すでにデプロイされているFabricでは、Fabric v2.xでも以前のチェーンコード・ライフサイクルを
使い続けることができます。
Expand All @@ -73,7 +207,7 @@ Using the new chaincode lifecycle
新しいチェーンコード・ライフサイクルの概要については、:doc:`chaincode_lifecycle` のトピックを参照してください。

New chaincode application patterns for collaboration and consensus
------------------------------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

新しいチェーンコードライフサイクルを支えている合意に至るための非中央集権的な方法と同じ方法を、
チェーンコードアプリケーションでも、
Expand All @@ -93,7 +227,7 @@ New chaincode application patterns for collaboration and consensus
参照してください。

Private data enhancements
-------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^

Fabric v2.0は、トランザクションが関与する全てのチャネルメンバーの組み合わせのプライベートデータ・コレクションを
作る必要なく、プライベートデータを扱い共有する新しいパターンを可能にします。
Expand Down Expand Up @@ -131,7 +265,7 @@ Fabric v2.0は、トランザクションが関与する全てのチャネルメ
を参照してください。

External chaincode launcher
---------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^

外部チェーンコード・ランチャーの機能は、運用者が、好きな技術を使ってチェーンコードをビルド・起動できるように
するものです。
Expand Down Expand Up @@ -160,7 +294,7 @@ External chaincode launcher
外部チェーンコードランチャーの機能の詳細については、:doc:`cc_launcher` を参照してください。

State database cache for improved performance on CouchDB
--------------------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* CouchDB を外部ステートデータベースとして利用するとき、エンドースメントや検証のフェーズでの
読み込みの際の遅延(delay)は以前から性能のボトルネックとなっていました。
Expand All @@ -169,7 +303,7 @@ State database cache for improved performance on CouchDB
置き換えます。キャッシュのサイズは、core.yamlのプロパティである``cacheSize``で設定することができます。

Alpine-based docker images
--------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^

v2.0から、Hyperledger FabricのDockerイメージは、セキュリティを重視した軽量なLinuxディストリビューションである
Alpine Linuxを使用します。
Expand All @@ -179,7 +313,7 @@ Alpine Linuxは、最初からセキュリティを考慮してデザインさ
ミニマリストな性質は、セキュリティ脆弱性のリスクを大幅に減らします。

Sample test network
-------------------
^^^^^^^^^^^^^^^^^^^

新しいFabricのテストネットワークが、fabric-samplesのレポジトリに含まれるようになります。
このネットワークは、アプリケーションやスマートコントラクトを簡単にテストすることができる
Expand All @@ -190,11 +324,12 @@ Sample test network
このテストネットワークについての詳細は、 :doc:`test_network` を参照してください。

Upgrading to Fabric v2.x
------------------------
^^^^^^^^^^^^^^^^^^^^^^^^

新しいメジャーリリースでは、新たにいくつかアップグレード時に注意すべき点があります。
でも大丈夫です。v1.4.xからv2.0へのローリングアップグレードはサポートされていますので、
ネットワーク内のコンポーネントはダウンタイムなしに順次アップグレードすることができます。
また、v1.4.x LTS リリースから v2.2.x LTS リリースまたは v2.5.x LTS リリースに直接アップグレードすることもできます。

アップグレードに関するドキュメントは、大幅に書き直され拡充されており、:doc:`upgrade` に一か所にまとめられています。
ここでは、:doc:`upgrading_your_components` や :doc:`updating_capabilities` 、
Expand All @@ -205,16 +340,13 @@ Release notes
=============

リリースノートには、ユーザーが新しいリリースに移行する際の詳細な情報があります。
特に、各v2.xのリリースにおける変更点や非推奨となった項目のアナウンスには目を通しておきましょう。

* `Fabric v2.0.0 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.0.0>`_.
* `Fabric v2.0.1 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.0.1>`_.
* `Fabric v2.1.0 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.1.0>`_.
* `Fabric v2.1.1 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.1.1>`_.
* `Fabric v2.2.0 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.2.0>`_.
* `Fabric v2.2.1 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.2.1>`_.
* `Fabric v2.2.2 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.2.2>`_.
* `Fabric v2.2.3 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.2.3>`_.
特に、変更点や非推奨となった項目のアナウンスには目を通しておきましょう。

* `Fabric v2.5.0 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.5.0>`_.
* `Fabric v2.5.1 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.5.1>`_.
* `Fabric v2.5.2 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.5.2>`_.
* `Fabric v2.5.3 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.5.3>`_.
* `Fabric v2.5.4 release notes <https://github.com/hyperledger/fabric/releases/tag/v2.5.4>`_.

.. Licensed under Creative Commons Attribution 4.0 International License
https://creativecommons.org/licenses/by/4.0/