###Hyperledger Fabric alpha
現在v1.4まで製品版としてリリースされているHyperledger Fabricですが
v2.0アルファ版も公開されています。
未だ開発中みたいですが、いくつか大きな変更点があるみたいなのでまとめてみました。
####変更点1:チェーンコードのライフサイクル
従来のチェーンコードのインストールやアップグレードに関して変更が加えられています。
今までの「中央集権的な」モデルに加えて、新しく「分散型」モデルを選択することができるそうです。
以下詳細
#####その1:チェーンコードの設定に関しての合意を取れるようになった
今まではチャネル内でチェーンコードを初期化するのに際して、エンドースメントポリシーを一つの組織が決めてしまえるような状態だったが、初期化する際に設定されるパラメータに関しても組織間で合意を取ることができるようになった。
######その2:チェーンコードのアップグレードが安全に行えるようになった。
チェーンコードのアップグレードに関しても、以前は一つの組織がアップグレードのトランザクションを発行してしまうようなことが可能だった。
そうすると同じチャネル内でまだ最新版のチェーンコードをピアにインストールしていない組織があるのにアップグレードが行われてしまうことも考えられた。
アップグレードにも一定数以上組織の合意が必要という設定もできるようになった。
#####その3:エンドースメントポリシーのアップデートできるようになった。
今までは初期化かアップグレードの時にそのチェーンコードのエンドースメントポリシーが決められていたが、ポリシーの変更を行うことができるようになった。
またチャネル内の構成が変わった時にも自動で変更が行われる。
#####その4:チェーンコードの中身が簡単に確認できるようになった
チェーンコードはインストールされるときにパッケージ化されてインストールされるが、インストール後のパッケージの中身を確認するのが難しかった。そのため組織間で今どのチェーンコードのバージョンがインストールされているのかなどの確認が煩雑だった。
しかしチェーンコードをtarファイルの形でパッケージ化することにより簡単に中身の確認が行えるようになった。
#####その5:複数のバージョンのチェーンコードを一つのパッケージで扱えるようになった。
個人的にはこれが一番嬉しい
今までチェーンコードは名前とバージョンで決まった一つのパッケージとしてデプロイすることしかできなかった。
つまり別のバージョンをインストールする時にもまた新しくパッケージとしてインストールするしかなかった。
v2.0では一つのパッケージでバージョン管理ができたり名前を変えたりできる模様。
####Fab Token
UTXOモデルを使用したトークンを発行できるようになった。
もともとHyperledger Fabric内の使用されていたCA、MSPなどのアイデンティティ、メンバーシップサービスと連携しているとのこと。
ちょっと気になるので今後調べます。
####Alpine Linux
2.0以降のバージョンでは、ネットワークのDockerイメージにAlpine Linuxが使用されるようになるらしい。
Alpine Linuxはかなり軽量かつセキュリティを第一に考えて作られたLinuxのディストリビューション。
そのためイメージの軽量化とセキュリティの向上を見込めるとのこと。
参考
####オーダラーにRaftプロトコルを選択できるようになった
Raft自体はv1.4.1から選択できるようですが、2.0以降もサポートされる模様。
現在はSolo(単一障害点あり)とRaft、Kafkaが選択できます。
現在はHyperledger FabricではKafkaが使われることが多いようですが、Kafkaは管理コストが高く、今後はセットアップも管理も簡単なRaftが主流になるのかも。
こちらも気になるので今後調べます。
####まとめ
Hyperledger Fabric 2.0 アルファについてまとめてみました。
Hyperledger Fabricを触っていると、痒いところに手が届かない・・・と思うことが多いのでどんどん改良されて新機能がついたりすると嬉しいです!
参考