IPFSの概要 DAppsを支える分散型P2Pストレージの利用事例(DAppsを支える分散型P2PストレージIPFSの概要と利用事例)

目次

  • 1.IPFSとは
  • 2.IPFSの利用事例
  • 3.IPFSの懸念点
  • 4.所感
DAppsと一緒にIPFSという文字を目にする機会が増えてきました。
IPFSはモジュールを入れ替えられる柔軟性があり、ブロックチェーンと相性がいいと言われ、「uPort」や「Origin」など多くのDAppsに採用されています。今回のレポートでは、IPFSのいくつかの利用事例を通して、現在どのようなDAppsがどのような仕組みで動いているのかを、非エンジニアでもある程度イメージできるように概観します。

1.IPFSとは

https://ipfs.io/
IPFS(InterPlanetary File System:惑星間ファイルシステム)はProtocol Labsにより開発が進められているP2Pネットワーク上で動作するハイパーメディアプロトコルとその実装です。
ざっくり言うと、「誰でも参加可能な分散型P2Pストレージ」を作るオープンソースプロジェクトです。
IPFSのgithubページでは、Kademlia(分散ハッシュテーブル)とBitTorrent(P2Pファイル共有ソフト)とGit(バージョン管理システム)とBitcoinの仕組みを取り入れ、インターネットのインフラを進化させたいと述べています。IPFSはMerkle DAGのデータ構造を持ち、バージョン管理可能なファイルシステムやブロックチェーン、永続的なWebを構築することが可能になります。IPFSでは、取得したい情報がどこにあるかは考慮に入れず、直接コンテンツ自体に紐づく識別子(アドレス)を元に情報にアクセスする「コンテンツ指向」型の仕組みを採用しています。
「コンテンツ指向」の例を示します。
例えばあなたが『HUNTERxHUNTER 12巻』を読みたいと思ったとします。
そのコンテンツを、Kindle Storeで購入するか別の電子書籍ストアで買うかは大きな問題ではなく、入手したコンテンツは、どこで購入しても同一のものになります。
このように、コンテンツの内容に紐づく情報を直接指定してアクセスする考え方を「コンテンツ指向」と言います。
一方、場所を指定して情報を取得することは「ロケーション指向」といい、HTTPプロトコルなどがこれに該当します。ブラウザで特定のファイルにアクセスしたい場合、IPFSはネットワーク全体に対してハッシュに対応するファイルがあるのか問い合わせを行い、該当するIPFSのノードがファイルを返すことで、ページにアクセス可能になります。各ノードは、すべてのファイルを保管する必要はなく、自分の興味のあるファイルのみを保管します。そしてインデックス情報をどのノードが何を保管しているかを見つけ出します。
IPFSではSHAなどの暗号ハッシュ関数を利用してコンテンツのハッシュ値を求め、それをそのコンテンツのIDとして利用します。このため、ファイルは安全かつ低容量になります。

このレポートはBasicプラン、法人会員限定のレポートです。

Basicプランのユーザとして登録するか、法人契約を行うことで続きをお読みいただけます。