IPFS
Inter Planetary File System
IPFSでは、ネットワークに参加しているユーザーでデータを分散して管理する、DHT(Distributed Hash Table)という仕組みを使っている。またFilecoinという仮想通貨を用いて参加ノードにインセンティブを与えている。 BitTorrentやGit、SFSなども利用しており、成功している分散型システムを組み合わせた新たなハイパーメディアプロトコルとも言える。 IPFSの構想が生まれた背景として、通常のWebホスティングでは
24時間365日サーバーを安定稼働させなければならない。
アクセスの数が増えた場合にも遅延なく応答するためのインフラを準備しないといけない。
ファイル情報を改ざんされないように、不正アクセスを防ぐための対策を継続しないといけない。
ファイルをサーバから削除しない、またはファイル名を変更しないようにしないといけない。
という弱点がある。インターネット発明以来、情報は一部の大企業に集中し、不正に利用されるケースが数多くあった。それでも利用者は企業の性善説に頼ってサービスを利用するほかなかった。またロケーション指向であるがために、国内からの特定のIPアドレスへのアクセスを遮断する、といったコントロールができてしまうのである。
IPFSでは、コンテンツのハッシュ値を求めてそれをコンテンツのIDとして利用するConsistent Hashingを利用している。こうすることでハッシュ関数の特徴である耐衝突性を生かして同じコンテンツの重複ホスティングを防ぐことができる。また、ファイルを探すときはハッシュ値と紐づけられたIPNSと呼ばれる名前管理システムを用いて最新バージョンのコンテンツを見ることができる。 長所
あるコンテンツをホスティングしているサーバーがダウンしても、DHTを利用している限り他に同じハッシュ値を持つサーバーが存在するためそこから同じコンテンツを取得できる。
上述のように同じコンテンツをホスティングするサーバーが複数あるため、クライアントとなるマシンからそのうちの一番近いサーバーにアクセスすれば良い。これにより一部のサーバーに負荷が集中することを避けられる。
ロケーション指向型では特定のIPアドレスへのアクセス遮断でそのコンテンツを見ることを禁じられたが、IPFSの場合一つのサーバーへのアクセスを遮断しても他に同じコンテンツをホスティングするサーバーがあるためコンテンツそのものを見れなくすることはできない。
データのハッシュ値をIDにアクセスするため、得られたコンテンツのハッシュ値とで容易に検証ができる。
通常のWebサイトの寿命は平均で100日とされている。IPFSではgitのようなバージョン管理の仕組みを提供することで情報を殺すことを減らすことができる。ユーザーの能動的な操作以外でファイルが削除されることは基本的になく、ファイルを書き換えても新しいバージョンが作られるだけである