NEMの次期バージョンCatapultの2番目のリリースBisonが出てからそろそろ3ヶ月が経とうとしています。
Catapultは今後、Cow→Dragon→E(名称未定)とリリースが進んでいく予定となっていますが、どういった機能の追加や改良を目指しているのか、Catapult-Serverに上がっているissueから読み解いていこうと思います。
Cow
次にリリースされるであろう、Cowには以下の4つのissueが上がっています。
レシート機能
State Change Receipt Capabilities · Issue #18 · nemtech/catapult-serverCertain state changes are invisible and/or time-delayed and not triggered by any immediately observable catalyst… github.com
ネームスペースやロックの期限切れなど、目に見えない変化をブロックから見えるようにレシート機能を作るようです。
クロスチェーンTxのサポート
Enhancements to secret lock tx capabilities · Issue #19 · nemtech/catapult-serverAdding support for keccack256 for ETH cross chain support github.com
Ethereumとのクロスチェーンスワップをできるようにシークレットトランザクションでkeccack256をサポートするようです。
モザイクからネームスペースの切り離し
Separation of mosaics from namespaces · Issue #20 · nemtech/catapult-serverCurrently the creation of a mosaic is bound to a namespace and thus has an expiring property since namespaces… github.com
現在は、モザイクとネームスペースがセットになっていて、ネームスペースが切れるとモザイクも無効になります。これをcowでは改めて、ネームスペースがなくてもモザイクを作成できるようにし、モザイクとネームスペースの紐付けはオプション扱いにするとのことです。
ハーベストの設定
Enhance harvesting configuration · Issue #21 · nemtech/catapult-serverGoal of this feature update is to all a server/network to configure and define whats its "base harvesting" asset is vs… github.com
現在、nem:xemに固定されているハーベストのベースアセットをサーバ、ネットワーク毎に設定できるようにするとのことです。
Dragon
Cowの後にリリースされるDragonについては以下の4つのissueが上がっています
eigentrust++に変わる新たなノード評価の導入
Replace eigentrust++ with new reputation handling · Issue #12 · nemtech/catapult-serverIn nis1 eigentrust++ implementation is used for reputation of nodes trusted within the network. A new/different… github.com
NIS1で使われているeigentrust++に代わり、Catapultでは別な手法でノード評価を行うようです。
クロスチェーンスワップの強化
Enhance cross chain swap functionality · Issue #13 · nemtech/catapult-serverCurrently catapult supports Op_Keccak_256 and Op_Sha3_512, its desired to add some more algorithms to increase the… github.com
他のチェーンとのクロスチェーンスワップができるように、Op_Keccak_256、Op_Sha3_512以外のアルゴリズムのサポートも進めるようです。
より動的な手数料体系
Implement new fee handling that can be more dynamic · Issue #14 · nemtech/catapult-serverIt is desired to improve on the nis1 fee handling, making things more dynamic and taking into account things such as… github.com
トランザクションの大きさや複雑さを考慮した手数料体系にするようです。
新しいハーベスティング
Implement new harvesting capabilities · Issue #15 · nemtech/catapult-serverThis feature is to track the implementation of new harvesting capabilities to be added. The goal is to allow for… github.com
ノードの立ち上げに対してインセンティブを与えられるようなハーベスティングにするようです。
Dragonまとめ
Dragonに上がっているissueをみるとCatapultをパブリックネットワーク載せることを意識しているように見えます。
ハーベスティングについては、現在ノードを建てるインセンティブはSN報酬(これはプロトコルではなく制度)に頼りなので、これがプロトコルレベルでインセンティブを持たせられればより永続的なネットワークへと強化できるようなるのではないかと思います。
また、手数料もサービス提供側とノードを建てる側でバランスがたつようになればと思ってます。
E(名称未定)
まだ名称が決まっていないEについても、issueが1つ上がっています。
メタデータ
Metadata Key/Value Association · Issue #17 · nemtech/catapult-serverCurrently targeting inclusion of new capabilities to associate metadata key/value pairs on a range of objects such as… github.com
これは、NIPで提案されており、NIPのissueに詳細が書いてあります。
Metadata Key/Value Association & Store · Issue #8 · nemtech/NIPMetadata Key/Value Association & Store -WORK IN PROGRESS- Introduction Currently in the version 2 protocol and storage… github.com
ざっくりいうと、アカウント、アセット、ネームスペース、トランザクションにKey/Valueのデータを紐付けられるようになる機能になるようです。
これについてはNIPでコミュニティと議論された後に実装されることになりそうです。
まとめ
ざっくりでしたが、Catapultで今後実装、改良されていく機能を駆け足で拾ってみました。
今までだと、どういう機能の実装が進んでいるのかなどが目に見えづらい状況でしたが、issue化されたことで少し見えてきたものもあります。
これらがどのタイミングでリリースされるのか、またどのタイミングでパブリックにリリースされていくかなど依然として分からないこともありますが、この辺も徐々に明らかになっていくのではないかと思います。
この辺の情報を追っていくことで、どんなことが出来るのか、あるいは踏み込んでどういう風にするといいのかも考えられるといいかもです。
また、気になることがあれば随時取り上げていこうと思います。