全貌:NEMの次期バージョンCatapult(カタパルト)とは

 最終更新日2019/03/30 公開日2019/03/28    この記事は 約22分 で読めます。

NEMが誕生したのは、「ネメシスブロック」と呼ばれるジェネシスブロック(最初のブロック)のタイムスタンプが押された、日本時間で2015年3月29日9時6分25秒です。

この記事を書き上げた時点では、4歳を迎えるまで24時間を切っているのですが、2019年にはもう1つの大きな誕生の瞬間が刻一刻と迫っています。

それがCatapult(カタパルト)です。

NEMの次期バージョンCatapultについて、新機能やアップデートされるポイント、リリース時期など、これまでにわかっている情報をまとめました。尚、2019年3月30日早朝にNEM財団を通じてCatapultのロードマップが発表されました。

技術者向けではなく、一般的なNEMユーザーやファン、投資家が「これだけ知っておけばいいかな」と思う範囲に絞って編集してみました。

※2019年3月30日時点での情報です。

Catapult(カタパルト)とは?

NEMの次期バージョン(NEM2.0)のコードネームです。

コア開発者の中心人物であるジャガー氏はCatapultのビジョンは「プライベートとパブリックのユースケースの両方に適した、柔軟に設定可能で、パフォーマンスの優れたブロックチェーン」であると語っています。

プライベートチェーン版からパブリックチェーン版へ

最初にそれらの違いを確認しておきましょう。この2つの存在がキーポイントにもなります。

プライベートチェーン版

特定の管理者のいる中央集権型のブロックチェーンです。例えば、企業がトランザクションを公に晒したくない(する必要がない)が、自社の会員制サービス内でNEMブロックチェーン技術を使いたいようなニーズに応えるためのものになります。

パブリックネットワーク利用(送金)手数料が発生しないことも特徴です。

パブリックチェーン版

特定の管理者のいない本来の分散型ブロックチェーンです。私たちが普段XEMを取引所に送金したり、決済で相手に送金してる部分になります。

例えば…

nemlognemstoreは個人の方が開発・運営しているいわば中央集権型のサービスですが、投げ銭や決済部分ではパブリックチェーンが利用されています。

コンテンツサービスが不慮の事態などで運営不能になってしまったとしても、運営者が秘密鍵や資産管理をしていないのでユーザー資産にはなんら影響がありません。

製品版であるmijin

2015年9月にテックビューロ(現テックビューロホールディングス)社により発表されたNEMのプライベートチェーン製品「mijin」です。2016年5月に新型コアエンジン「mijin v.2 (Catapult)」が発表されました。2018年5月には一般公開を開始しています。

Catapultはプライベートチェーン版として一定の利用を経た後にパブリックチェーン版であるNEMに実装されることになっており、現在のパブリックチェーン部分であるNIS1(NEM Infrastructure Server)からNIS2(Catapultバージョン)に移行すべく開発が進んでいます。

現行「NIS1」の問題点

一般的に暗号通貨はオープンソースプロジェクトであるべきとされています。NEMクライアントはオープンソースであるものの、NIS1はクローズドソースなのです。

クローズドソースであることに技術方面の人々が難色を示していたことがありましたが、その部分についてはそうなのかもしれないと思っています。一部の噂ではその理由により海外某大手取引所が上場を拒否したという話もあります。

しかし、CatapultであるNIS2では完全なオープンソースになり、そういった面でも大きな一歩を踏み出すアップデートになることは間違いありません。また、プライベートチェーン版であるmijinもオープンソースとエンタープライズ・ライセンスのデュアルライセンス提供を開始する予定となっています。

なぜNIS1がクローズドソースだったのかの理由は定かではありませんが、開発の初期段階から容易にコピーされないための策だったのかもしれないとポジティブに捉えるなら、NEMの存在感が発揮されるのはまだこれからだと思わされます。

Catapultの開発状況

開発状況はGitHubで確認できます。

バージョン(マイルストーン)にコードネームを付けることで段階的に進んでおり、2019年3月現在、Alpaca→Bison→Cowまで完了し、次の段階はDragon→Elephantというところまで決まっています。

さらに6度目のリリースとなるFではじまるマイルストーンが設定される可能性があります。ちなみに、その動物名コードネームはコア開発者が希望候補をTwitterで募集し、投票で決めていたりします。

Fではじまる動物名…Falcon、Frog、Fox…考えておいてみてはいかがでしょう?

Cow以降のマイルストーン概要はこちらで確認できます。

CatapultでNEMの何が変わるのか?

処理速度

巷ではNEMがCatapultを搭載すると「秒間3000~4000件ものトランザクションを処理できるようになるから凄い!」と書かれている情報を多く目にしますが、それは全て間違いで、その数値はパブリックネットワークを使わないプライベート版の場合の数字になります。

パブリックでもそのような大きな処理に対応するのは物理的に可能だということですが、そうするとより強力なノード環境が必要になることでノード運用者の負担が大きくなり過ぎ、運営意欲が低下してしまう恐れがあります。

そうすることでノードの分散化が広がりづらくなりますので、足元のしっかりした分散型ネットワークを構成していくには、まだ妥当な策とは言えないと思います。このことはコア開発者らが語っています。

さらに言うと、それだけの処理能力を備えるためにノードに高い環境的条件を突き付けたところで、実際に秒間数千件ものトランザクションが発生するネットワークになっていないのはおろか、現実的な見込みさえなければあまり意味がありません。

巨大な工場を作ったところで、維持費をペイし利益がでるたくさんの受注がなければ、ひたすら損するだけなのと同じなのです。

XEMの市場価格が高くなればよくない?という考え方もありますが、ネットワークが使われないのにXEM単価が独り歩きで高騰したところで、それは長続きしない不安定な状況となり健全とは言いにくいので、そこを目標にするのは良くありません。

現在、1秒間で2件のトランザクション処理に対応していますが、Catapultではそれ以上にはなることはなるようです。

しかし、これまで1分間で100件を超えるトランザクションでさえあまり発生していないことを踏まえると、NEMネットワークが使われる機会が増えるにしたがって、スケールしていくことが現実的ではないかと思われます。

Catapultはパブリックチェーンにおいて「現在よりも多くの処理に対応できるようになる」が「秒間3000~4000件もの処理は対応できない、むしろまだ必要ない」というのが適切な表現となります。

新機能

これら5つの新機能を我々は知っておけばいいかなと思います。

アカウントフィルタ

許可したアドレスからの送信だけ受けるとか、受信したくないアドレスをブロックリストにして拒否することができます。また、許可したモザイクトークンが添付されている時だけ受けたり、ブロックリストにしたモザイクを含んだ送信を拒否することもできます。

必要な相手からのトランザクションのみ許可すると、スパム送信や不要なエアドロップを防ぐこともできます。

ネームスペースとモザイク

誰でも簡単にNEMブロックチェーン上でモザイクと呼ばれるトークン(アセット)が発行できますが、まずネームスペース(苗字みたいなもの)を取得する必要がありました。

NEM自体も同じ構成で「NEM」がネームスペースで、「XEM」がモザイクです。Catapultではそれらが分離(任意でセットにすることも可能)されます。

共にレンタル期間が1年単位だったのが、自由に期限を設定できるようになり、モザイクは期限切れのない設定も可能になります。

マルチレベル・マルチシグネチャ


マルチシグネチャ(マルチシグ)というのは、あるアカウントから送金をするとして、例えば3名の署名者アカウントのうち2名が署名する(2of3)ことで送金が行われるもので、ここまではNEMにすでにある機能です。

これがマルチレベルになることで最大3階層までマルチシグが実行可能になります。

例えば…予算要求

技術部が予算を要求→経理部が承認→社長が承認、この3つの層(レイヤー)の署名が揃い承認が降りて、はじめて予算が送金される…という多段管理が実現できます。

アグリゲートトランザクション

複数のトランザクションを1回で済ませることができるものです。この機能が追加されることでトランザクションが多様化され、NEM活用場面が幅広くなることが期待されます。

例えば…エスクローサービス

クラウドソーシングサービスでは、発注者が納品後に料金を払わず逃げる、受注者が料金を受け取ったがゴミデータを納品した、という不正取引を防ぐために、中間企業が仲介手数料を上乗せして、仕事が完了するまで料金をいったん預かるエスクローサービスというものがあります。

アグリゲートトランザクションが活用されると、その仲介をなくすか役割を軽減して両者の取引を安全に済ますことが可能になり、本来なら受発注者の当事者間で必要ではなかった仲介手数料を節約することもできます。

※ファイル受け渡しなどオンチェーン以外で解決すべきことはあります。

また、他者が送信する時の送金手数料を第三者が代わりに負担することも可能になります。

例えば…ブロックチェーンゲーム

モザイクトークンが使われたDappsゲームをするとしても、ユーザーはそのトークンをゲーム内で送信する際に、送金手数料として必要なXEMを保有していなければなりません。

そのためだけに新規ユーザーに取引所でXEMを購入させるのはゲームをはじめる弊害になりかねません。同様に、ゲーム運営会社がXEMなどの暗号通貨を直接販売するにしても、国に仮想通貨交換業として登録しておく必要があり、そのためだけに難関である交換業を取得するのは現実的ではありません。

アグリゲートトランザクション
では、その送金手数料をゲーム運営会社などが代わりに負担することで、ユーザーはNEMの知識がなくても純粋にパブリックネットワークを介したブロックチェーンゲームを楽しむことが可能になります。

クロスチェーンスワップ

NEMが「パブリックチェーンとプライベートチェーン、双方の利点を提供する強力なブロックチェーンソリューション」として、いわゆるブルーオーシャン戦略を掲げてきた強みにさらに磨きがかけられるのがここではないかと思います。

クロスチェーンスワップ
は、トランザクションに第三者(例えば取引所)が入ることなく、異なるブロックチェーン間での暗号通貨交換を実現可能にします。

プライベートチェーンmijinが使われたサービスで発行されたトークンと、パブリックチェーンNEM上のトークンを交換すること(アトミッククロスチェーン交換)が可能になり、また他社(他者)同士のプライベートチェーン間での交換までサポートされます。

さらに、XEMとETHといった異なるチェーン間でのトークン交換も実現可能です。

例えば…ポイントサービス

自社ポイント(ロイヤリティ)サービスとしてトークンを採用するとしても、パブリックチェーンだと、ポイントを付与するのにも、ユーザーからポイントを受け取るのにも、いちいち送金手数料が発生するのであまり現実的ではないと考えられるかもしれません。

その判断をした企業は、プライベートチェーンを採用し自社ネットワーク内だけで会員ポイントを循環させると思います。

しかしいずれ、ユーザーが貯めたプライベートチェーン上のポイントを、パブリックチェーンで発行されたXEMなどと交換可能とさせたくなったり、他社のプライベートチェーン上のトークンとの相互交換を推進する団体に加盟してサービス拡充したくなるかもしれません。

クロスチェーンスワップでそれらサービスを現実にすることができます。

プログラミング言語

性能向上のためにコアの部分の開発言語がJavaからC++へと移行されます。尚、Catapultを使ったアプリケーション(例:FiFiCやnemlogなど)が使うSDKはTypeScript/JavaScriptやJavaなど複数の言語用のものが開発されています。

Catapultではコンセンサスアルゴリズムが変わる?

Catapult移行に際して「カタパルトのロードマップ作成への提言」という資料で、NEMコミュニティからのフィードバックが呼びかけられました。その資料の中では詳細不明だったりでまだ未確定の案件ですが、次のようなことが触れられています。

PoIからPoS+(PoIライト)にアップグレード?

計算量が多くネットワーク参加者が膨大になり過ぎると弊害も予想されるPoIを「シンプルなPoS」に変更し、何かしらのネットワーク貢献条件に応じて、さらに手数料報酬が得られる機会をプラスアルファする仕様に変更するのはどうだろうという提案です。

その新しいアルゴリズムは、PoS+とかPoIライトと呼ばれているようです。

現在のPoIの特徴は、

XEMの保有残高(既得残高)
1回に1000XEM以上の送金
既得バランスが10000XEM以上のユーザーからの入金
30日以内(43200ブロック以内)の取引である

これらに基づいて重要度スコア(インポータンス)が計算され、スコアが高いほどハーベスティングで得られるブロック報酬に「当選」する確率が高まる点です。

アルゴリズムの基本をPoSにするということは、まず基本的なところが上記で「XEMの保有残高」のみになると思われます。それ以外の3つの要素は「保有だけでなく、ネットワークを使うことによる貢献」によるスコアリングとなりますので、それらの部分に魅力を感じた人(僕もです)もいると思います。

しかし現実的に考えて、理念として良くても、現在のPoIロジックによるスコアリングの優位性が実感できるほど機能しているのかどうかは、正直言って微妙なところもあるのではないかと思います。

プラスアルファの部分で補う

単なるPoSではない仕様にするのが「+」部分であると思われ、ある一定期間に支払った送金手数料に基づいてボーナスが支払われる案などがあるようです。この部分はまだ詳細な条件やボーナスがどこから来るのかなど不明な点がまだ多いです。

このロジックが採用されることでのメリットは、保有残高の少ないアカウントでも多くネットワークを利用する(送金手数料を支払う)ことで、おまけというかキャッシュバックというかのボーナスが得られる機会が追加されることで、現在のPoIのハーベスティングよりは報酬を得られる機会が増すかもしれないところかなと思います。

もしかしたら、PoS+にアップグレードすることで、NEMの基本理念的な部分でもある、

NEMネットワークを積極的に使う人が、利益を得られる仕組み
世間一般の人に力を与えるため、平等に機会を与えること

がより現実的になるような気もしており、どのように改善されるか楽しみなところです。

Catapult後、NIS1はどうするか?

Catapultでは新しいチェーンになることから、ビットコインの分裂のようにNEMの分裂を心配する人もいるかと思います。しかし、NIS1が並行していたとしてもいずれにせよ使われないチェーンとして劣化していくのは明白なので、その心配は不要だと思います。

提言書では移行後に、

1:CatapultのみONにしNIS1はOFFにする
2:CatapultもNIS1もONにし2つのチェーンを生かす

どちらがいいでしょうか、という問い掛けがあります。しかし、最善なのは「2」かつ、一定期限をもってNIS1を終了させ、最終的にNIS2(Catapult)のみに絞ることではないかという意見があり、その通りだと思います。

その他、事後対応の要件含め、細かいところは資料をご覧ください。

いつCatapultへ移行されるのか?

Catapultについて大まかな概要はこれで理解いただけたとして、ではいつパブリックチェーンのNEMがNEM2になるのか?という話題です。

どんどん遅れてきたローンチ

はじめは2018年中のローンチ予定だったと思いますが、それが2018年以降になり、現在は2019年中ということになっています。

なぜそのようにして遅れて来たのかというのは、簡潔にまとめるなら、Catapultを進めたいコア開発陣とマーケティング重視姿勢や他プロジェクトへの注力が目立った旧財団の一部メンバーとの意思や目標の不一致ではないかと分析しました。この件は熱心なNEMコミュニティに旧財団陣営への憤りを感じさせることになりました。

しかし、2018年12月の選挙にて財団は新しい体制となり、現在ではCatapult第一主義そしてプロダクト特化型へと組織改革が前向きに進められています。まずCatapultに移行しなければ、NEMの前進が加速できないことにようやく気付いたようです。

あと、NEMは財団が作って運営しているプロジェクトではないのに、コアはなぜ財団を無視して強行しなかったのか?という疑問もあるかもしれません。

元々Catapultは機能面に関しても、コア開発者、テックビューロ、NEM財団の三者が共同で決定していくことになっていたので、旧財団の一部で蔓延っていた雑な印象のある運営問題、複雑な人間関係などが絡まって結果的に遅らされてしまってた、という理解でいいのかと思います。

これだけ住む国の違う人々が1つのプロジェクトに分散的に関わってるので、何も問題がない方が逆に気持ち悪いのは個人的感想です。ただ、NEMに人件費や経費などによる売り圧だけ浴びせ、大した結果をもたらせてこれなかったのは看過できるものではありません。財団はNEMにとって必要不可欠な存在ではありませんが、不要なものでもないので、NEMコミュニティ、ステークホルダーの1人として見守りたいと思います。

ロードマップ(発表済み)

ロードマップというのはいついつにどういうことをやるのか?という計画表です。Catapultのロードマップには2種類あることを評議会から聞きました。

Catapultをパブリックチェーンに実装するまでのコア陣営からのロードマップ
業務としてCatapultに関する取り組みを表すNEM財団からのロードマップ

だそうです。

ほとんどの人がCatapultのロードマップ=前者だと認識・期待していると思います。2つのニュアンスがあり微妙なところもありますが、2019年3月末までに"ロードマップ"を公開することでコミュニティとコンセンサスが得られていました。

しかしながら、ロードマップよりも、Catapult移行が行われNEM2が安定稼働することが重要なのは明白です。

Catapultへの移行

最後になりますが、Catapult(NEM2)への移行はボタン1つで全てが瞬時に切り替わるような簡単な話ではないと思います。

移行に直面した時に具体的にどのようなことが行われるのか、ノードやハーベスティングを行っているユーザーに限らず、何か我々もアクションをしなければいけないのか、などまだ完全に決まっていないこともあります。

そのようなことから、これからまだ時間をかけて解決し決定していかねばならないプロセスがいくつもあることは覚えておいた方がいいのではないかと思われます。

正しい情報を収集しながら、座して待つ。

それが我々にとって最善ではないでしょうか。

開発者インタビュー

過去に和訳したものを紹介しておきます。とても貴重な「現場の声」です。

NEMコア開発者

その他CatapultやNEM開発者

 - NEM(ネム) ,

  著者プロフィール