IPFSは永続的にコンテンツをホストできるWebではない
IPFSは永続的にコンテンツホスティングできるわけではなく、持続的分散Webを目指したものである。
海外のブログとかでもそういう混乱がみられたので書いてみる。
出汁にして悪いんだけどこんなブログがある。
https://medium.com/gochain/how-to-deploy-an-unstoppable-angular-app-to-ipfs-c2dabb52e517
タイトルは「どうやって止まらないangularアプリケーションをIPFSにデプロイするか」。
なかなか大袈裟なタイトルである。
内容はおいておいてとりあえず一番したまでスクロールしてみよう。(内容も役に立つよ!)
お、これが止まらないアプリケーションか。
ポチ。
止まっとる。
…
考えれば当たり前の話なんだけど、
ブラウザでなんらかのコンテンツを表示できるということは誰かがネットワーク上でそのデータを保持して公開してくれているということに他ならない。
IPFSネットワークでもそれはおなじで、IPFSノード上でコンテンツを誰かが保持(IPFSではpinという)してくれている必要がある。
pinすると当然ストレージやらメモリ容量が必要になってコストがかかるので、どこのだれがアップロードしたかもわからないアプリケーションを無料でずっとpinしてくれるノードの管理者など存在しない。
まあそのコンテンツがかわいい猫の画像とかであれば話は別かもしれないが。
…ちなみにこれがそのかわいい猫の画像だ。
https://ipfs.io/ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg
話はちょっと飛躍するが、まさにこの「みんなが欲しがるようなコンテンツであれば長生きする」というのがIPFSのキモだったりする。
この子猫の画像はIPFSのノードが全部死なないかぎり残り続ける気がする。
閑話休題。
じゃあ一体どうすればIPFS上にコンテンツを保持して公開し続けられるだろうか。
今のところその方法は2つある。
一つは、自分でIPFSのノードを動かして自分でpinすること。
もう一つは、どこかのIPFS pin Serviceにお金を払ってホストしてもらうこと。
一つ目は自分でサーバー運営するのと同じだし、二つ目はレンタルサーバーを借りるのと同じとも言える。
どうだろう、意外とWeb3.0ってWeb1.0に近いと思いませんか?
…
「なーんだ意外と夢がないなあ」と思われたかもしれないが、逆に大勢の人にpinさせるように仕向ければ元のサーバーが死んでもコンテンツを永遠に保持させることができるとも言える。
先ほど紹介した子猫の画像のように。
これは「インターネット上に一度情報が拡散したら消せない」というのと本質的にはなにも変わらないのだが、それをアドレスの同一性を保持したままで行えるのがIPFSの面白いところである。
(あの子猫がなんで永遠に残りそうなのかはIPFSのチュートリアルやれば多分わかる)