コンテンツへスキップ
0%

分散型ストレージネットワーク入門

Alchemy team headshot

執筆者 Alchemy

2022年5月5日 公開読了時間 1 分

人類は物理的なハードウェアにデータを保存する時代から大きく前進した。現代のコンピューティングでは、クラウドストレージ——リモートロケーションに情報を保存する仕組み——が、ファイル、ウェブサイト、アプリケーションをホスティングする際のデフォルトの選択肢となっている。

クラウドストレージは、ストレージインフラを自前で管理する必要をなくすことで、個人にも企業にも恩恵をもたらしてきた。しかし、その集中型のデータ管理は、検閲、プライバシー侵害、データ盗難、情報の完全性の低下といった新たなリスクをユーザーにもたらす。

集中型データストレージの問題を解決するため、一部の人々はブロックチェーン技術に目を向けている。ブロックチェーンベースのストレージ、いわゆる「分散型ストレージ」システムは、効率的で堅牢、スケーラブル、安全、かつコスト効率の高い情報保存手段を提供する。

この記事では、分散型ストレージネットワークについて紹介する。分散型ストレージモデルがどのように機能するか、どのようなメリットがあるか、そして一般的に使われているブロックチェーンストレージサービスについて解説する。

分散型ストレージはどのように機能するか

分散型ストレージモデルは、ピアツーピアネットワーク内の異なる参加者間で情報保存の責任を分担することで機能する。これは、一つの情報が単一のサーバーに保存される集中型ストレージとは異なる。

複数のノード(コンピュータ)に情報を冗長的に保存することで、分散型ストレージは情報のアクセス性と安全性を守る。あるノードが要求されたコンテンツを提供できない場合、同じ情報を他のストレージノードから取得できる。

これを、ファイルを一箇所に保管する集中型ストレージシステムと対比してみよう——サーバーがオフラインになれば、情報にアクセスできなくなる。集中型ストレージには単一障害点も存在し、悪意のある第三者がサーバーから情報を盗んだり、サービス拒否(DoS)攻撃によってアクセスを妨害したりすることが可能になる。

多くの分散型ストレージサービスは分散型ブロックチェーンをモデルにしており、ユーザーはトラストレスかつ匿名性を保ちながら、安全に取引できる。これらのプラットフォームは、暗号経済的インセンティブを用いて、すべての参加者がエコシステムに前向きに貢献するよう促している。

分散型ストレージモデルは、すべての人が自分のデバイスのストレージを使い切っているわけではないという発想に基づいている。そのため、個人は未使用のハードディスク容量をユーザーに貸し出すインセンティブを持ち、その対価として報酬を得る。

一般的に、分散型ストレージのマーケットプレイスは、ブロックチェーンを活用したスマートコントラクトを用いてユーザーとストレージプロバイダー間のやり取りを仲介する。これらのスマートコントラクトには、以下の項目の一部またはすべてが定義されることが多い。

  • ユーザーが保存したい情報のサイズ
  • ストレージプロバイダーが情報を保持する義務を負う期間
  • サービスの対価としてストレージプロバイダーに支払われる報酬
ピアツーピアノード間でファイルを分散させる分散型ストレージネットワークの図
Source

ブロックチェーンと同様、分散型ストレージプラットフォームも分散アーキテクチャ上で動作する。そのため、システムを機能させ、特定の行動を罰したり奨励したりするためのコンセンサスメカニズムが必要になる。

この目的のため、ほとんどの分散型ストレージシステムは、プルーフ・オブ・ストレージ(PoStorage)コンセンサスアルゴリズムの何らかのバリエーションを採用している。Filecoinで顕著に使われているプルーフ・オブ・ストレージは、ネットワークにどれだけデータストレージを提供したかに基づいてマイナーを選出する。このメカニズムはまた、マイナーが約束通りに実際にデータを保持しているかを確認するためにランダムな検証システムを用いる。

分散型クラウドストレージ(DCS)プラットフォームに情報を保存するプロセスは、Google Drive、Amazon Web Services(AWS)、Dropboxといった従来型のクラウドストレージプロバイダーとは異なる。

まず、アップロードされたファイルは暗号ハッシュメカニズムを用いて暗号化され、その後複数の断片に分割される(シャーディング)。次に、これらの断片はネットワークを構成する異なるストレージノードに冗長的に保存される。ファイルを取得する際、ユーザーはコンテンツハッシュを使ってファイルをリクエストし、返却された断片を再構成して元の情報を復元する。

分散型クラウドストレージ(DCS)へのファイル保存
Source

分散型ストレージを利用する6つのメリット

分散型クラウドストレージ(DCS)は、以下の6つの利点を提供する。

1. セキュリティ

情報セキュリティは、個人、企業、そして分散型アプリケーションの開発者にとって重要な検討事項だ。集中型ストレージシステムは、堅牢なセキュリティ保証をほとんど提供できない。むしろ、従来型のクラウドストレージを利用することは、ユーザー情報を安全上のリスクにさらすことになる。

従来型のクラウドストレージサービスの多くは、世界中の限られた数のデータセンターに情報を保存している。しかし、こうしたデータの集積地は、悪意のある第三者にとって、保存された情報を盗み出すための格好の標的となる。また、サーバーに対してDoS攻撃を仕掛けたり、管理者アクセスを乗っ取ったりすることで、ユーザーが情報にアクセスできないようにすることも容易だ。

分散型ストレージは、ブロックチェーン技術のセキュリティ保証を活かし、より安全なストレージの代替手段を提供する。情報のコピーはネットワーク内の複数のノードによって保持されるため、単一障害点がなくなる。さらに、DCSネットワークの分散アーキテクチャによって、理論上、ユーザーデータを盗んだりアクセスを制限したりすることは不可能になる。

これはユーザーにとっていくつかの意味を持つ。

個人は、自分のデータが安全に保存され、不正なコントロールから守られていると信頼できる。企業は、顧客情報の安全性を心配する時間を減らし、悪意ある攻撃やコストのかかるデータ侵害を未然に防げるようになる。dApp開発者は、堅牢で安全、検閲耐性のあるアプリケーションやウェブサイトを構築できる。

漏洩件数別に見た史上最大級のデータ侵害トップ10を示すチャート
Source

2. 効率性

現代のクラウドストレージは一定のメリットをもたらしてきたが、効率性はその一つではない。これらのプラットフォームは、世界中のユーザーにコンテンツを届けるために、依然として限られた数のデータファームに依存している。その結果、情報取得の魅力を損なう非効率なストレージモデルとなっている。

遠隔地のユーザーは、データセンターへの近接性が低いため、情報をダウンロードする際により多くの帯域幅を消費しなければならないことがある。これにより接続コストが高くなるだけでなく、ダウンロード速度にも影響する。

集中型ストレージで使われるクライアント・サーバーアーキテクチャのため、こうしたシステムはサービス障害を起こしやすい。これは、あまりにも多くのユーザーが同じサーバーにアクセスしようとした場合や、物理的なハードウェアの不具合が発生した場合に起こりうる。2021年のFacebookの障害、2020年のGitHubの長期にわたる障害、そして2020年のMicrosoftの数週間にわたるダウンタイムは、いずれも集中型データ管理の非効率性を裏付けている。

2021年のFacebook障害を報じるニューヨーク・タイムズの見出し
Source

分散型ストレージが異なる点は、ファイル共有にピアツーピアネットワークを用いることだ。各ノードは、他のユーザーに対して情報を保存、要求、送信できる。その結果、1つのノード(すなわち「ミニサーバー」)を失っても、システム全体には影響しない。これにより、情報が中断なく常に利用可能であることがユーザーに保証される。

ストレージノードがグローバルに分散していることで、分散型ストレージプラットフォームはユーザーの帯域幅使用量を削減できる。遠く離れたサーバーに情報リクエストを送る代わりに、DCSユーザーは近くのノードに接続してファイルを共有できる。

その結果は?ファイル取得速度の向上と、帯域幅コストの削減だ。

3. データ保存コストの削減

従来型のクラウドストレージのもう一つの問題は、利用コストの高さに関わるものだ。多くの場合、ストレージサービスは硬直的な料金プランで提供されており、開発者は使わなかったストレージ容量分まで支払うことになる。さらに、代替手段の深刻な不足と、広範なベンダーロックインがこの問題をいっそう悪化させている。

分散型ストレージは、使った分だけ支払う方式を採用することでこの問題を解決する。ユーザーは、ファイル保存に対してストレージノードにいくら支払うかをコントロールでき、開発者にとってストレージコストを削減できる可能性がある。

さらに、DCSプロバイダーは、未使用のストレージを貸し出す人々に報酬を与えている。これは、ストレージプロバイダーが専用データセンターを運用するオーバーヘッドを負わないため、分散型アプリケーション(dApp)のユーザーがより低い手数料を支払えることを意味する。

4. トラストレス性

クラウドストレージソリューションを使う際、ユーザーは自分の情報を無傷のまま利用可能な状態に保つことを、その企業に信頼して委ねている。しかし、Web3開発者であれば、集中型の仲介者を信頼することの危険性をよく理解しているはずだ。

ファイルはサーバーから謎めいた形で消え去ることがあり、ウェブサイトは検閲され、アプリケーションは横暴な政府によって閉鎖されることもある。ブロックチェーン技術は信頼の必要性を取り除き、開発者にとって分散型ストレージを必要なものにする。

多くのDCSプラットフォームには、ストレージプロバイダーとユーザーが合意事項を遵守することを保証するための、スマートコントラクトなどの組み込みメカニズムが備わっている。例えば、Filecoinはプルーフ・オブ・レプリケーション(PoRep)とプルーフ・オブ・スペースタイム(PoSpacetime)プロトコルを使用して、ノードが合意した通りに保存ファイルのコピーを保持していることを検証している。

開発者向けの分散型ストレージを使えば、ファイル、アプリケーション、ウェブサイトへのアクセスを維持するために誰かを信頼する必要はない。プラットフォームが稼働している限り、情報はリクエストに応じていつでも提供される準備が整っている。

ストレージノードがユーザーデータのコピーを保持していることを検証するFilecoinのプルーフの図
Source

5. プライバシー

「プライバシー」と「集中型クラウドストレージ」は、めったに相性の良い組み合わせではない。前述の通り、集中型サーバーは組織的なハッキングの標的になることが多く、機密情報の紛失や盗難につながっている。しかし問題はサーバーだけにとどまらず、プライバシー保護機能の欠如そのものに根ざしている。

ほとんどの分散型ストレージサービスは、不正アクセスから情報を守るために暗号化を用いている。さらに、それらはすべてシャーディングメカニズムを用いてファイルを複数の断片に分割し、ランダムに割り当てられたノードにそれらを保持させる。

これはプライバシーにとっていくつかの利点をもたらす。第一に、暗号鍵の保有者——つまりあなた自身——だけがファイルを復号できる。第二に、どのピアも完全なファイルにはアクセスできない。ただし、ユーザーは望めば各ファイル断片を取得して、ファイルを再構成することができる。

プライバシーはWeb3ユーザーにとって非常に重要な検討事項であり、分散型アプリケーション開発者ができる最低限のことは、ユーザーの情報が詮索の目から守られていることを保証することだ。そのため、分散型クラウドストレージは、Web3開発スタックの中核的な要素となっている。集中型ストレージインフラの上にdAppを構築することは、あらゆる意味で分散化の目的に反する。

6. 情報の完全性

集中型ストレージプロバイダーを利用する際によく直面する問題の一つが、情報の完全性の低さだ。Digital Guardianによれば、データの完全性とは「データがそのライフサイクルを通じて持つ正確性と一貫性(有効性)」を指す。さらに、次のように付け加えている。「結局のところ、損なわれたデータは企業にとってほとんど価値がなく、機密データの喪失がもたらす危険性は言うまでもない」。

集中型データ管理は、ストレージが「ロケーション中心」のアプローチを取っているという単純な理由から、データの完全性を保証できない。ファイルを見つけるには、それがどこに保存されているかを示すURL(Universal Resource Locator)が必要になる。

例えば、次のような画像へのリンクを考えてみよう:https://example.com/dog.jpeg

このリンクは、可愛い子犬の画像が保存されている場所を指していると私たちは想定する。しかし、もしそうでなかったらどうだろうか?

そのファイルが移動していないかどうかを確認する方法はなく、ファイルが人為的ミスや悪意のある行為によって変更または置き換えられたかどうかを知ることもできない。これが、ユーザーがリンク切れ(エラー404)に遭遇したり、期待していたものとは大きく異なるファイルを渡されたりする理由を説明している。

Web3で開発を行っているなら、NFTメタデータのようなデータが永久に完全性を保つことを確実にしたいはずだ。分散型ストレージは、情報の保存と取得に「コンテンツ中心」のアプローチを採用しているため、これを可能にする。

コンテンツ中心のアプローチとは、DCSプラットフォームがリソースを場所ではなくコンテンツによってアドレス指定することを意味する。各ファイルはハッシュアルゴリズムにかけられ、その結果として得られるハッシュ(アルファベットと数字からなる長い文字列)が、そのファイルの一意な「指紋」、すなわちコンテンツ識別子(CID)として機能する。

信頼性の低いURLを使う代わりに、ユーザーはCIDを使って情報を見つけることができる。CIDを使えば、ネットワーク内のピアから特定のファイルをリクエストできる——そして、受け取ったファイルのハッシュとCIDを照合できるため、正確性が担保される。

さらに重要なのは、このアプローチによって、Web3ユーザーにとってのNFTの消失といった問題を解消できる点だ。適切に設計されたインセンティブ構造があれば、DCSプロバイダーはファイルをできる限り長く無傷のまま保つことができる。

IPFSでNFTをミントする方法についてのガイドはこちら。

人気の高い分散型ストレージネットワーク

InterPlanetary File System(IPFS)

InterPlanetary File System(IPFS)は、インターネットの脆弱なデータ保存アーキテクチャを解決しようとするピアツーピアファイル共有プロトコルだ。IPFSは「コンテンツアドレッシング」を用いており、情報を場所ではなくコンテンツによってアドレス指定することで、情報の完全性と可用性を保つ。また、暗号化を用いてユーザーのプライバシーを守っている。

IPFSプラットフォーム上のノードは、自分が関心を持つファイルのみを保存することを選択できる——そのため、あなたの情報へのアクセスが保証されるわけではない。しかし、IPFSノードにデータをオンラインに保ち続けるインセンティブを与える「ピン留め」サービスを利用することができる——Pinatanft.storageCrustが良い選択肢だ。

ピアツーピアファイル共有プロトコル、InterPlanetary File System(IPFS)のウェブサイトホームページ

Filecoin

IPFSの背後にいるチーム(Protocol Labs)によって作られたFilecoinは、分散型データ管理に特化したブロックチェーンだ。FilecoinはIPFSプラットフォーム上に構築されたインセンティブレイヤーだと考えることができる。

Filecoinでは、ネットワークのトークン(FIL)を使ってノードに支払いを行い、特定の期間ファイルを保存してもらうことができる。その期間が経過すると、支払いを更新する必要がある。Filecoinは、プルーフ・オブ・レプリケーションのようなランダムチェックメカニズムを使ってノードを監査し、データが依然として利用可能であることをユーザーに保証する。

分散型ストレージネットワークを説明するFilecoinウェブサイトのホームページ

Arweave

Arweaveは、ユーザーがアプリケーション、ウェブサイト、その他の貴重な情報を無期限に保存できる「グローバルハードドライブ」を構築しようとする野心的なプロジェクトだ。ユーザーは、ARトークンを使ってストレージプロバイダーに支払いを行い、ストレージ容量を確保し、いつでも情報をリクエストできる。

Arweaveは、分散型ストレージを必要とする個人、開発者、企業にとって優れたソリューションだ。組み込みのインセンティブとコンセンサスメカニズム(プルーフ・オブ・アクセス)を備えた専用ブロックチェーンを持っているため、Arweaveは安全な情報保存システムを提供する。

永続的な分散型データストレージを謳うArweaveウェブサイトのホームページ

Storj

分散型ストレージのマーケットプレイスとして、Storjは、余剰の帯域幅やストレージ容量を持つ人々と、安価でアクセスしやすく、プライベートなファイルストレージを必要とする人々をつなぐ。Storjのユーザーとストレージプロバイダーは、ERC-20トークンであるSTORJを使って取引を行う。

Storjは、カスタムのストレージソリューションを必要とする開発者、企業、その他の組織を対象としている。自分のニーズに合った最適なストレージプランを選ぶことができ、未使用のクラウドストレージに無駄な費用を払うことを減らせる。

分散型クラウドストレージマーケットプレイスを提供するStorjウェブサイトのホームページ

Sia

他のDCSプロバイダーと同様、Siaは、未使用のハードディスク容量をユーザーに貸し出す個人に報酬を与えることで機能する。Siaのマーケットプレイスでストレージサービスを提供する人々は、プラットフォームのユーティリティトークンであるSiacoin(SIA)の形で報酬を得る。

Siaネットワークは高度に分散化されており、障害や検閲の試みに対して耐性がある。これにより、ユーザーは自分のデータのコントロールを保ちながら、情報を安全に保存できる。

Siacoinで分散型ストレージ容量を借りるためのSiaウェブサイトのホームページ

まとめ

データのプライバシー、完全性、セキュリティへの需要が高まるにつれ、分散型ストレージネットワークへの需要も高まっていくだろう。分散型クラウドストレージプロバイダーは、情報保存が効率的で安価、信頼性が高く、安全である新しい時代をもたらすことができる。

開発者やスタートアップ向けに柔軟な料金プランを提供することで、DCSサービスはエンドユーザーに転嫁されるコストを削減する。そして、こうしたプラットフォームのパーミッションレスな性質は、誰もがストレージプロバイダーになれることを意味し、分散型ウェブというビジョンを後押しする。

Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。