Tardigradeの目指すところ — ブロックチェーンDLTアプリケーションに必要な最後のパズルのワンピース

Radio
18 min readOct 11, 2020

Original article ‘Tardigrade — the missing piece of the puzzle for storing Data on the blockchain’ by NEM Official (Editors) Oct.10.2020
Translated into Japanese by Radio-Radio

Kevin Leffew, Storj 事業開発部門

Dave Hodgson, NEM Group 最高情報責任者

Bader Youssef, IoDLT 最高技術責任者

まずは自己紹介から始めましょう。Kevinさんからよろしいですか?

Kevin:
私はKevin Leffewと申します。Storj Labsの事業開発を担当しています。オープンソースのパートナーエコシステムの先頭に立ち、パートナーと協力して、中央集権型の仕組みよりもパフォーマンスが高く、経済的で、安全で、信頼性が高く、回復力のある方法で分散型クラウドを活用するソリューションアーキテクトを構築しています。私は、”Tardigrade”を利用してアプリケーションを改善するパートナーや顧客と密接に仕事をしています。

Bader:
私はBader Yousefと申します。IoDLTのCTOです。当社は主にIoTとブロックチェーンアプリケーションに主眼を置いた会社で、なかでも特にブロックチェーンに注力しており、現時点では他の古臭い技術は使用しないようにしています。IoTからデータ集計まで、あらゆる種類の統合を行っています。

Dave:
私はDave Hodgsonと申します。現在はNEMグループの最高投資責任者兼戦略的パートナーシップの責任者を務めています。また、マネージング・ディレクターとしてNEMベンチャーズを運営しています。NEMグループは、NEMトレーディング、NEMベンチャーズ、NEMソフトウェアなどの様々な部門を統括し、NEMエコシステムを代表し、全員が目指すべく方向に沿った活動を行えているかを確認するために設立されました。NEMは5.5~6年の実績あるブロックチェーンであることは明らかですが、3ヶ月後にはSymbolのローンチが予定されています。

では早速本題に入りましょう…このコラボレーションは、いつどのようにして始まったのでしょうか、アイデアはどこから生まれたのでしょうか?Daveさんにお伺いできますか?

Dave:
Kevinと私は2020年の1月だったか2月のあたりのイベントで会い、その時にStorjがTardigradeの構想を持ち、数ヶ月以内に立ち上げようとしていることを話し合いました。私たちは、今年立ち上げられた2つのプロジェクトがあり、技術スタックの最先端にあるようなものとして、互いに協力することができるかもしれないと思い、様々な方法について議論しました。

私は特にStorjが中央集権型クラウドと同じように作動する点と、同時に分散型の性質を持っている点が好きです。誰かがそのソリューションを使いたいと思った場合、APIコールの仕組みなどが非常に似ているので、とても簡単に切り替えることができます。その後、Tardigradeは様々なパートナーシップを発表し始めましたが、その中でもケビンはMongoDB Connectorの開発に大きく貢献しました。IoDLTと話をしたのは、IoDLTがAXONを用いたプライベートチェーン展開に取り組んでいて、それらのプライベートネットワークを介したノード間の効率的な伝達方法を検討していることを知っていたからです。

..IoDLTがAXONを用いたプライベートチェーン展開に取り組んでいて、それらのプライベートネットワークを介したノード間の効率的な伝達方法を検討していることを知っていたからです。

NEMが行なっていることで明白なことは、SymbolはMongoDBを実質的に読み取り専用のキャッシュタイプのソリューションとして使用しているので、APIノードはメインのピアノードを参照することなくチェーンデータを照会することができます。この点が話し合いを始めるには論理的なポイントのように思えたので、BaderとKevinは基本的にそこから話を進めました。基本的には、私はすべての点をつないだだけで、それが線となることを見守っていましたが、彼らは間違いなく重大な仕事をして、実際にすべてを動かしたのです。

Kevinさんはどう思われますか?

Kevin:
そうですね、間違いなくそうだと思います。すべての始まりはカンファレンスでのことでした。MongoDB Connectorの話をしていた際に私は、NEMはMongoDBを革新的な方法で利用していると思いました。ノード全体にコールせずに時間を短縮できるというメリットがたくさんありましたが、私は潜在的リスクとして、リクエストで負荷がかかる場合があることを知っていました。コネクタは、ブロックチェーンのデータを負荷分散し、簡単にアクセスできるようにするための素晴らしい方法です。

コネクタは、ブロックチェーンのデータを負荷分散し、簡単にアクセスできるようにするための素晴らしい方法です。

それで車輪が回り始めました。 そして、MongoDB を使って私たちが行ってきたことを考えると、さらに掘り下げていくための素晴らしいユースケースになると思いました。

素晴らしいことですね。ところでBaderさん、コラボレーションで解決しようとしていた課題は何だったのですか? 気づいた修正が必要な点とは何だったのでしょうか?

Bader:
毎日のようにSymbolを使っていると、当然ながらいくつかの問題点に気付きます。その一つは、何らかの理由でノードを再起動するたびに(ノードをリセットする理由はいくつかありますが)、ネットワークと同期するのを待たなければならないことです。つまり、アプリケーションが必要なデータをその間は取得できないため、実際にアプリケーションが機能しなくなることを意味します。なので私は論理的にこのように考えました “そうだ、チェーンデータが同期されるのをただ座って待つのではなく、どこかからファイルを取得して、少なくともすべてのデータを利用できるようにして、そしてチェーンが実際に同期してバックグラウンド検証を行っている間に、アプリケーションを動かし続けることができるようにしたらどうだろうか?”。これが私にとっての始まりでした。

“そうだ、チェーンデータが同期されるのをただ座って待つのではなく、どこかからファイルを取得して、少なくともすべてのデータを利用できるようにして、そしてチェーンが実際に同期してバックグラウンド検証を行っている間に、アプリケーションを動かし続けることができるようにしたらどうだろうか?”

ではDaveさん、コミュニティからの参加者を受け入れるという意味では、Symbolで何かをしようとする人たちにとって、コネクタは何を意味しているのでしょうか?

Dave:
この点において私が申し上げたいこととしては、これは基本的に、Tardigradeのようなソリューションにフルノードを格納するための第一歩だと思います。新しいノードを構築したり、Baderが言うように古いノードを再構築したりするのにかかる時間を効率化するためです。

この点において私が申し上げたいこととしては、これは基本的に、Tardigradeのようなソリューションにフルノードを格納するための第一歩だと思います。新しいノードを構築したり、Baderが言うように古いノードを再構築したりするのにかかる時間を効率化するためです。特にプライベートチェーンにおいては、 IoDLT が展開するようなプライベートチェーンソリューションでは、スマートシティプロジェクトのように大量のノードを構築する必要があるかもしれません。ですがAXON デバイスは Raspberry Pi を使用しているので、そのためのプライベートチェーンノードとして非常に優れていると思います、この仕組みは非常に軽量ですから。例えば、ある地区の全ての通りに設置するために、100台を作ろうとした場合、ファイルをダウンロードするのに1~2時間も待たされるのでは困りますし、チェーンが大きくなればなるほど、その時間は間違いなく増しますからね。つまり、このソリューションは基本的にノードセッティングにかかる時間を短縮し、Bader氏が言うように、ノードをリセットしても非常に迅速にオンラインに戻す機能も備えています。NEMコミュニティの観点としては、パブリックチェーンでは、コネクタにはノードのオンライン化にかかる時間を短縮するためのユースケースがあります。プライベートチェーンやIoTタイプのデプロイでは、特に数十から数百のノードになると、確実にデプロイがスピードアップします。

Kevinさん、コネクターを使用している人にとって、これは実際のところどのような意味があるのでしょうか?Tardigradeを使った場合、従来の方法と何が違うのか、教えていただけますか?

Kevin:
最も明白な違いは、これはBaderが公開した元のブログ記事(blog post)で言及されていると思いますが、Storjと同様に、これは15 X — 1500% — のパフォーマンスの増加をもたらしました。言い換えるならば、コネクタは、ノードを同期するためにかかる時間の93%の減少をもたらします。従来の方法と比較して、かなり驚異的なパフォーマンスの向上を実現しています。これは、私たちがお示しすることとして、興奮を隠し切れません。

これは15 X — 1500% — のパフォーマンスの増加をもたらしました。言い換えるならば、コネクタは、ノードを同期するためにかかる時間の93%の減少をもたらします。

それは常になのですか? おっしゃるパフォーマンスの統計はとても素晴らしいですね。それは狙っていたことなのでしょうか、それとも想定外の良い結果だったのでしょうか?

Kevin:
実際にEthereumを使った場合でも同じような結果が出ています。GEFをベースにしたEthereum互換チェーンでは、従来の同期方法と比較して2,400%のパフォーマンスの改善が見られます。現在アーカイブノードのテストを行っていますが、このユースケースを分散型ファストシンクやDFSと呼んでいるものにバンドルしています。

お話をお伺いすると、とても素晴らしいソリューションのようですね。そのアプローチの際、統合や共同して取り組むことに何か特別な課題や困難な点はありましたか?コネクタを機能させるために克服しなければならなかった特別な点は何でしたか?

Bader:
コネクタを調整するためには、数点に変更を加えなければなりませんでしたが、その際に Catapult、サーバー、REST 実装において、いくつかの小さな問題が浮き彫りになりました。

そこで私は、Catapultサーバーブローカー機能の動作を変更しただけでなく、それに対応するためにフォークにいくつかの小さな変更を加える必要がありました。コアサーバー内でブロックをどのように拾い、どのようにデータベースに保存するかを修正したのです。そうすれば、Storjから入ってくるバックアップを使うことができます。これらはいくつかの小さな課題でしたが、私たちはそれらを克服して、今ここにあります。

デイブさんから見て、コラボレーションは順風満帆だったのでしょうか?

Dave:
順風満帆でしたよ、私が深く関わらなかったからね笑! 私はすべてに深く関わったのではありませんが、Baderさんがしたことを技術的な内容を省いて説明するなら、本質的には、MongoDBのCatapult使用に際してStorjがどのように動作するのか調整し、またそれに互換性のあるものにしなければならなかったということですね。

なるほど凄いですね。ではその製品はどこにあるのですか?使いたい人はどうすれば良いのでしょうか?

Bader:
試してみたい方は、私たちのdevnetに行ってみてください。記事の中にlinkがあります。私はまだdevnetを最新版にアップデートする必要があるので、シームレスに動作するように統合したいと思っていますが、ここでは実際にどのように動いて、どのようにつながっているのかを見ることができますよ。

Kevinさんあなたの視点から見て、Tardigradeコネクタの可能性は何ですか?ここから今後どのように発展すると思われていますか?

Kevin:
良い質問ですね。これは、エコシステムの観点から申し上げますと、SymbolとTardigradeのコラボレーションの始まりに過ぎないと思います。私たちは、ストレージを必要とするユースケースをサポートすることを楽しみにしています。すべてのアプリケーションは、ある時点において、オブジェクトと呼ばれるもののストレージとディストリビューションを必要とする時が来るでしょう。なので私たちは、NEMエコシステムの中でオブジェクトストレージをサポートする分散型システムのスタンダードになりたいと考えています。

これは、エコシステムの観点から申し上げますと、SymbolとTardigradeのコラボレーションの始まりに過ぎないと思います。私たちは、ストレージを必要とするユースケースをサポートすることを楽しみにしています。

なので私たちは、NEMエコシステムの中でオブジェクトストレージをサポートする分散型システムのスタンダードになりたいと考えています。

ではBaderさん、このアイデアを前進させるという視点で、次のステップはどのようなものになると考えていますか?

Bader:
アプリケーションサイドで動作する場合、Symbol上のいくつかのStorjトランザクションのプラグインを介して行われるでしょう。Symbolを介してStorjにファイルをアップロードすることができますし、Symbol上の制御メカニズムにアクセスしてブロックチェーン上で他の人とそれを共有することもできます。

そののちに、このファイルやオブジェクトへのアクセスを販売することができます。将来的には、アプリケーション、IoT、ヘルスケア、IDと関連して患者ファイルを保存するなど、あらゆる種類のアプリケーションに最適となるでしょう。

Daveさん、あなたから見た次のステップは?

Dave:
次のステップで明白な第一歩は、RocksDBとディレクトリを効果的に包括するSymbolピアノード全体をどのようにバックアップするかを検討することです。私たちはそれを始める初期段階にあり、MongoDBで見ることができたような結果が得られると仮定すると、パブリックネットワークを企業ユースに拡張する際に効果的です。

第二段階としましては、NIS1を遡って参照することです。現在のNEMパブリックチェーンにはすでに5年半分のデータがあり、トランザクションの数が多いため、データ量としては大きくなり始めています。すでにファイルや過去のトランザクションをダウンロードしてノードにインポートする機能がありますが、そのファイルをより速くダウンロードして、より最新の状態にすることができれば、NIS1ノードの展開にも役立つでしょう。特に申し上げたいことは、私たちのサーバーはどちらもバックアップを100パーセント「信頼」していないということです。そのため、ダウンロードしてスタートポイントとして使用し、ネットワークが存在すると考えた上で検証します。これにより、基本的には誰かが偽のバックアップをでっち上げることを避けれるのです。

そして第三段階は、おそらくこれが最もみなさん興味深いものだと思います。なぜならこれは、コネクタの実際の実利用商用アプリケーションであるからです。ストレージ・コネクタ・フレームワークとOracleフレームワークを設定することが本質的な点です。拡張機能として、または複数のタイプのストレージにプラグインを追加できるプラグインとして。その最初の1つの実例が、このTardigradeです。

おそらくこれが最もみなさん興味深いものだと思います。なぜならこれは、コネクタの実際の実利用商用アプリケーションであるからです。ストレージ・コネクタ・フレームワークとOracleフレームワークを設定することが本質的な点です。拡張機能として、または複数のタイプのストレージにプラグインを追加できるプラグインとして。その最初の1つの実例が、このTardigradeです。

そうすれば、Baderが説明していた事と同じようなことが実現できます。本質的にチェーン上の誰もが利用できるようにすることができるのなら、クロスチェーン・スワップを使用することも可能で、私たちはStorjの手数料を支払うこともできます。

このアプリケーションの用途を型にはめるのはおそらく非常に難しいと思います。Kevinがビデオや記事で言っていたように、簡単な例をいくつか挙げることはできますが、大量のデータが2つの異なるチェーンでつながっていて、そのデータの状況は変わりつつあります。それはデータベースのバックアップであったり、異なるアプリケーションのハッシュ化された状態であったりです。

Daveさんがおっしゃるように、今後の可能性は非常に大きいのですね?

Kevin:
そう思います。コンピューティングシステムには3つのコアコンポーネントがあります。コンピューティングとして、ストレージとして、そしてネットワークとしてです。その上で私たちは、ストレージに関して広くカバーしたいと考えていました。

Tardigradeコネクタについて、他に何かおっしゃっておきたいことはありますか?

Dave:
私が付け加えたい大事な事は、おそらくこれはMongoDB Connectorを超えた存在であると思います。繰り返しになりますが、TardigradeはすでにNEMエコシステムのどのプロジェクトでも対応可能なストレージソリューションであり、今後どのような統合案が出てきても問題ないであろうということです。

もし企業が、Amazon S3やIPFS(InterPlanetary File System)やFilecoinが登場した場合に使用を検討するのであれば、Tardigradeはすでに機能していて使用可能なので検討に値するでしょう。私たちは、Baderが解決したかった問題のために特定のタイプのコネクタを使用してきましたが、それの一般的な使用法(Tardigrade)は、サプライチェーンの追跡情報を保存したい場合には保管場所として例えば写真でも他のものでも、今すでにそれは動作するのです、あなたはすでにそれをできるのです。

頼もしいです。Kevinさん、Storjの視点から何か伝えたいことはありますか?

Kevin:
Tardigradeの動作は本当に高いレベルです。このように動くのですが、全てのファイルはクライアント側で暗号化されます。誰かのサーバーを出る前にすでに暗号化されていますので、AWSや他のプロバイダーでは設定が難しいエンドツーエンドの暗号化をデフォルトで取得できます。エンドツーエンド暗号化の標準機能、世界にまたがる冗長性がデフォルトで提供されていますが、既存プロバイダーを利用する場合、通常は米国東部、米国西部、ヨーロッパ、アジアにまたがるレプリケーションにお金を払う必要があります。もう一つの重要な点は、すべてのファイルが80個に分割されており、ファイルを再構築するには80個のうち29個があれば良いということです。ファイルを保存している 80 個のノードのいずれかがオフラインになると、ファイルは修復され、ファイルを呼び出すと、80 個のノードのうち最速の 29 個がファイルを再構築するので、一定の時間内に最速のノードがサブセットを取得することで、常にパフォーマンスを最適化しています。これがTardigradeがどのように動作するかの簡単な概要です。

Bader:
Daveさんが私が言いたかったことを言ってくれましたが、これはブロックチェーンにおけるIoTアプリケーションのゲームチェンジャーです。というのも、多くの企業が求めているのは、ブロックチェーン上に大量のデータを保存することだと思うのですが、それはDLTやブロックチェーンの本来の目的ではないからです。

これはブロックチェーンにおけるIoTアプリケーションのゲームチェンジャーです。というのも、多くの企業が求めているのは、ブロックチェーン上に大量のデータを保存することだと思うのですが、それはDLTやブロックチェーンの本来の目的ではないからです。

Tardigradeの目指すところは、実利用において関連する大量の情報を保存できるようにするDLTアプリケーションのための、最後のパズルのワンピース足りうる事です。

--

--

Radio

Japanese Writer / Content Translator. Interested in Blockchain and NEM/Symbol. Japanese, English, and French.