メインコンテンツへスキップ

このページの翻訳を行う

🌏

このページの新しいバージョンがありますが、現在は英語のみです。最新バージョンの翻訳にご協力ください。

ページを翻訳する
英語を見る

ここにバグはありません!🐛

このページは翻訳されていないため、このページは英語で表示されています。

分散ストレージ

最終編集者: , Invalid DateTime
ページ編集

単一の企業ないしは組織に運営されている中央集権型サーバーとは異なり、分散型ストレージシステムは、データ全体の一部を保持するユーザーや事業者のピアツーピアネットワークで構成されます。これにより、耐障害性のあるファイルストレージ共有システムを構築することができます。 これらの分散型ストレージシステムは、ブロックチェーン上のアプリケーションやピアツーピアをベースとしたネットワークに取り入れることができます。

イーサリアム自体を分散型ストレージシステムとして使用することができ、全てのスマートコントラクトのコードストレージがまさにそれにあてはまります。 しかしながら、イーサリアムは大量のデータの保存に適した設計にはなっていません。 チェーンは着実に大きくなっていっており、執筆時点でのイーサリアムチェーンの容量は、(クライアントによって異なりますが、)およそ 500GB - 1TB にもなっています。ネットワーク上の全てのノードは、これだけのデータを保存できる必要があります。 チェーンのデータサイズが巨大になってしまった場合(たとえば 5TB)、全てのノードが実行を続けることはとても現実的ではありません。 しかも、これほどのデータをメインネットにデプロイするために必要なコストは、ガス代のために法外なほどに高価なものとなります。

これらの制限のために、大量のデータを分散型の手法で保存するには異なるチェーンか方法が必要になります。

分散型ストレージ(dStorage)を実現する方法を探すとき、ユーザーが念頭に置いておくべきことがいくつかあります。

  • 永続化メカニズム/インセンティブ構造
  • データ保持の強制
  • 分散性
  • コンセンサスの方法

永続化メカニズム/インセンティブ構造

ブロックチェーンベース

データの一部を永続的に保存するためには、なんらかの永続化メカニズムを利用する必要があります。 たとえば、イーサリアムでは 1 つのノードを実行する際にチェーン全体で処理を行う必要があるという永続化メカニズムがあります。 新しいデータがチェーンの終わりに追加され、そのデータは増大を続けます。これに伴い、すべてのノードは埋め込まれたすべてのデータを複製する必要があります。

これは、ブロックチェーンベースの永続性として知られています。

ブロックチェーンベースの永続性には、チェーンがあまりにも大きくなりすぎると、すべてのデータを維持・保存することが難しくなるという問題があります(例: 多くの資料がインターネットには 40 ゼタバイト以上のストレージ容量が必要だと見積もっています)。

ブロックチェーンには、なんらかの形でインセンティブを発生させる構造が必要です。 ブロックチェーンベースの永続化には、バリデータへの支払いというインセンティブがあります。 データがチェーンに追加されると、バリデータはそのデータを追加することで支払いを受けます。

ブロックチェーンベースの永続性を持つプラットフォーム

コントラクトベース

コントラクトベースの永続性では、すべてのノードでデータを複製し永遠に保存することはできないということが分かります。そのため、代わりにコントラクトによる合意で維持しなければなりません。 これらの合意は、複数台のノード間で結ばれる、一定期間データを保持することを約束するものです。 データを保持するためには、コントラクトの期間が切れるたびに払い戻しまたは更新が行われなければなりません。

ほとんどの場合、オンチェーンにすべてのデータを保存する代わりに、チェーン上でデータが保存されている場所のハッシュが保存されます。 こうすることで、すべてのデータを保持するためにチェーン全体を拡張する必要がなくなります。

コントラクトベースの永続性を持つプラットフォーム

その他の考慮事項

IPFS は、ファイル、ウェブサイト、アプリケーション、データの保存とアクセスのための分散型システムです。 インセンティブスキームは組み込まれていませんが、上記のいずれかのコントラクトベースのインセンティブソリューションとともに、データの長期保持に使用できます。 IPFS でデータを保持するもう一つの方法は、ピンニングサービスというデータを「固定化」してくれるサービスと連携することです。 独自の IPFS ノードを実行して自分のデータや他のユーザーのデータを無料で保持し、ネットワークに貢献することもできます。

データの保持

データを保持するには、システムに、データが保持されていることを確認するための何らかのメカニズムが必要です。

チャレンジメカニズム

データが保持されていることを確認する最も一般的な方法の 1 つに、ある種の暗号論的チャレンジを使用して、ノードにチャレンジを行い、ノードにまだデータがあることを確認するという方法があります。 単純なものとしては、Arweave のプルーフ・オブ・アクセス(PoA)があります。 これは、ノードに対してチャレンジを行い、最新のブロックとランダムな過去ブロックの両方にデータがあるかどうかを確認するものです。 ノードがチャレンジに解答できない場合、ペナルティが課されます。

チャレンジメカニズムを持つ分散型ストレージ(dStorage)のタイプ

  • 0Chain
  • Skynet
  • Arweave
  • Filecoin
  • Crust Network

分散性

プラットフォームの分散化レベルを測る優れたツールはありませんが、一般的に、プラットフォームが中央集権型ではないという証拠を示すために、KYC のようなことを行わないツールを使用することができます。

KYC なしの分散型ツール

  • 0Chain (KYC なし版を実装)
  • Skynet
  • Arweave
  • Filecoin
  • IPFS (ピアツーピア分散ファイルシステム)
  • イーサリアム
  • Crust Network

コンセンサスの方法

これらのツールのほとんどは、独自のバージョンの合意メカニズムを持っていますが、通常は、プルーフ・オブ・ワーク(PoW)またはプルーフ・オブ・ステーク(PoS)に基づいています。

プルーフ・オブ・ワーク方式:

  • Skynet
  • Arweave

プルーフ・オブ・ステーク方式:

  • イーサリアム
  • Filecoin
  • 0Chain
  • Crust Network

IPFS - IPFS (InterPlanetary File System)は、イーサリアムのための分散ストレージとファイル参照システムです。

Storj DCS - デベロッパー向けの安全でプライベートな S3 互換の分散型クラウドオブジェクトストレージです。

Skynet - Skynet は、分散型 Web 専用の分散型 PoW チェーンです。

Filecoin - Filecoin は、IPFS の開発チームによって作成されたものです。 IPFS の理想形をベースとしたインセンティブレイヤーです。

Arweave - Arweave は、データを保存するための分散型ストレージ(dStorage)プラットフォームです。

0chain - 0Chain は、シャーディングとブロバーを備えたプルーフ・オブ・ステークの分散型ストレージ(dStorage)プラットフォームです。

Crust Network - Crust は、IPFS ベースの分散型ストレージ(dStorage)プラットフォームです。

Swarm - イーサリアム Web3 スタックのための分散型ストレージプラットフォームとコンテンツ配信サービスです。

OrbitDB - IPFS ベースの分散型ピアツーピアデータベースです。

Aleph.im - 分散型クラウドプロジェクト(データベース、ファイルストレージ、コンピューティング、DID)です。 オフチェーンとオンチェーンのピアツーピア技術のユニークなブレンド。 IPFS とマルチチェーン互換性。

Ceramic - データリッチで魅力的なアプリケーションのためのユーザー制御 IPFS データベースストレージです。

Filebase - 初の S3 互換オブジェクトストレージ プラットフォームで、IPFS、Sia、Skynet、Storj など複数の分散型ストレージ ネットワークにわたってデータを保存することが可能です

参考文献

イーサリアムを学ぶために利用したコミュニティリソースはありますか? ページを編集して追加してください。

この記事は役に立ちましたか?