RIFストレージ:ファースト・チャンク

Vojtěch Šimetka & Rinke Hendriksen
2019年7月1日

数週間前、当社は、 分散型ストレージに関する最初の記事 を発表し、ここで、当社は、その構築に向けた当社の動機と当社のビジョンを明らかにしました。これ以降、多くのことがありました。中でも、MVPの範囲を決定し、重要なご質問に回答し、ビジョンの周知のためにEthereum Swarmチームとのパートナーシップを構築しました。このパートナーシップは重要です。これにより、SwarmとRIFストレージの両方で同時に実行しながら、分散型ストレージに関して最も注目されるプロジェクトの一つの経験から学ぶことができます。

このブログ投稿で、当社は、このパートナーシップがどのようにしてできたかを詳しく述べ、その結果、RIFストレージがどのように動作するかについて高度な概要を示すことができます。

協力関係の開始

当社の以前のブログ投稿で読まれたとおり、分散型ストレージは、より公平な社会の実現にとって非常に重要です。これは非常に重要な要素であるため、複数のプロジェクトでその実現を目指していることは驚くことではありません。カップルの名前を付ける:IPFSStorjSiaMaidSafeまたはSwarm。これらのプロジェクトはすべて大きく異なっている一方、共通の分母は、これらのプロジェクトがすべて、世界中の情報が保管されてアクセスされる方法を変更しようとしていることです。RIFには、明確に第2走者としての利点があります。当社は、これらの興味あるプロジェクトやその賛否について学ぶことができる立場にあったからです。そして、私たちはそれをやってのけました。

この分析から、当社にとっては、Swarmが最も有望なプロジェクトでした。才気あふれる設計、強力なビジョンがあり、すべてのプロジェクトから、動機付けされた分散型ストレージを実装する明確な経路がありました(この点については後に)。

同時に、Swarmは、Swarmマドリッド・サミット2019. を開催しようとしていました。当社は、当社担当者としてVojtech SimetkaAle Banzas をサミットに送り込みました。ここで、当社の結論が出ました。プロジェクトの状況がより明確になりました。Swarmは、コア・ストレージとは離れて、理論レベルでよく考えられて、定義されているものの、インセンティブ機構といった、その機能のいくつかはまだ研究や実験段階です。動機付けされた分散型ストレージは、第2層の支払いソリューションに大きく依存しています。マイクロペイメントは、ネットワークにとって有利なやり方で動作するために、動機付けノードにとって重要なためです。当社チームは第2層の支払いソリューション(RIF Payments & Lumino)に関して広範な経験があるため、Swarmチームと協力して、動機付けされたストレージのビジョンを現実化する機会があると確信しました。

このため、パートナーシップとインセンティブ・トラク が生まれたのです。このトラックは、SwarmのFabio Baroneがリーダーで、RIF StorageのVojtech Simetkaがコーディネーターとなり、動機付けされたデータストレージへの最小限の実装( MVP範囲参照)を実現し、Swarmチームにより行われた調査に大きく依存することを目指しています。さらに、この目的は、今後3か月でネイティブEVM通貨(RBTCやETHなど)とERC20トークンの両方のサポートを構築することです。

RIF StorageとSwarmの基本

本パートでは、分散型ストレージ(このケースではSwarm)がどのように作動するか、動機付けがどのように役割を果たすかについて高度な説明を行います。完全な説明については、公式のSwarm文書を参照してください。

分散型ストレージからユーザが期待する2つの主なアクションは、それぞれのファイルをアプロードしてダウンロードすることです。アップロードがどのように作動するかの説明から始めましょう。以下の3つのステップを設定します。

  • ノードへファイルをアプロード
  • ファイルの準備(チャンクと暗号化
  • ネットワークへのチャンクの分散

最初のステップは簡単です。ユーザは実行中のSwarmノードに接続し、例えば、コマンド swarm up を使うか、近い将来には、RIF Storage UIとしてのユーザインターフェイスを通してファイルをアップロードします。 第2のステップで、ネットワークへのアップロード用のファイルを準備します。ファイルは、チャンクと呼ばれる非常に小さなパーツに分けられ、その後、さらなるセキュリティとプライバシーのために暗号化できます。これは、以下のgifで表示できます。

これらのチャンクはMerkleツリーにマッピングされ、これで健全性が得られます。以下の画像はこれらのツリーがどのように見えるかを示します。

このツリーで、葉は、各チャンクのハッシュ毎に配置され、ツリーの根は、全ファイルのハッシュを表します。これらのハッシュは、2つの方法で用いられます。チャンクの健全性を確認するためのチェックサムと、ネットワークにおける位置を示すチェックサムです 。チャンクは、ノードのアドレスとそのコンテンツのハッシュの間のXOR距離に基づいて分散されます。図示すると、このようになります。

ファイルのダウンロードのプロセスは、ほぼ同じアルゴリズムに従いますが、逆向きになります。ユーザは、ネットワークのMerkleツリーの根ハッシュによってファイルを要求します。次に、個々のノードのチャンク(Merkleツリーの葉ノード)の要求で翻訳されます。最後に、チャンクは復号され、ファイルが組み立てられます。

動機付けで

前に論じた通り、動機付けは、上記の通り、ネットワークにとって非常に大切です。その理由は?ご自分のノートパソコンがネットワークに接続され、一日24時間チャンクで切り刻まれ、ご自分のハードドライブに保存して使いたかどうか少し考えてみてください。いいえですか?それは、お客様だけではありまえせん。別の質問を自問してください。チャンクを使用して、健全なネットワークに寄与する要素は何ですか?

SwarmはSwarm Accounting Protocol(SWAP)を定義しています、これは、しっぺ返しシステムであり、どれだけのデータを要求して使用するかをノードで考慮するものです。基本的に、これは、100万チャンクを要求したとすれば、100万チャンクをお返しすることを意味します。ただし、これに関しては、ファイル保管について、ネットワークに問題があります。当社は、ネットワーク使用率の変動(動画のストリーミングを2時間で、その後4時間はPCをアイドル状態に想定)と、ノードの容量の差(電話は多くのチャンクを使用しないのに対して、サーバはその多くを使用する可能性がある)を想定しています。SWAPにより、ノードがそれぞれのバランスをカウントでき、ノードが多くのチャンクを要求する場合、第2層支払ソリューションでの支払い要求で出します。

SWAP機構を示します。ここで、ノードは、チャンクを相互に送受信し、chunk-o-meter傾斜が片側に偏りすぎると、バランスが取られます。

設計は単純ですが、この概念は、分散型ネットワークにとっては非常にパワフルです。BitcoinおよびCryptocurrenciesの拡大で示されるように、インセンティブは、良好に構造化されれば、ノードを動かして、ネットワークの健全性にとって好ましいやり方で動作します。この場合、ノードは、ネットワークに合流して高スループット・サーバから最も望ましいチャンクを使用するよう、プロフィットにより駆動されることを想定しています。これにより、ネットワークはよりロバストに、より速く、よりダウンしにくくなります。まさに求めているものです!さらに、このようなシステムにより、RSK/Ethereumエコシステムにだれでも無料で入ることができます。

次のステップ

お分かりのように、当社はお客様に本当にクールな技術をせっせとお届けしています。当社の進捗状況については、 インセンティブ・ボードでご覧いただけます。お客様が開発者であれば、GitHubの課題の一つを取り上げてお手伝いください。郵便料金などの調査がいくつかあります。あるいは 当社にとってより良いリーチ・アウトで一緒に取り組めるかどうかをご確認ください。次回は、RIF Storage UIの簡単なご紹介でお会いしましょう。

Follow our news!