最近、
P2P で実現した ○○ なソフトウェア
を退屈しのぎに探してたりしたんだけど、その時に見付けたり、あるいは、以前から名前は知っていたけど、その実態について良く判ってなかったプロダクトについて、大分理解が進む様になって来たので、頭の中を整理する意味でも、今日は一回その辺りについて書き出してみます。
[IPFS https://ipfs.io/ - The InterPlanetary File System]
これは以前、
という記事でも紹介したプロダクトの一つで、これは何を実現するモノかっていうと、一言で言えば、
クライアントサイド P2P で実現した、一つのデカい公開 分散ファイルシステム
という類いの代物。
まあ、モノとしては一つのデカい分散ファイルシステムにしか過ぎないので、これ単体では動的なアプリケーションは作れないものの、他のソフトウェアと組み合わせて、ファイル、というかオブジェクトストレージとして利用すれば、動的なアプリも作れるっぽい。
んで、さっき言った IPFS を一つのデカいオブジェクトスレージとして使う 、というアイディアは、
と言う、 IPFS を利用したチャットアプリで初めて知りました。
ただ、 IPFS は未だ発達途上というか開発途中で、色々とリアルタイムアプリを作るには、部品が足りない部分も存在するので、その辺りは適宜他の技術で補う必要がまだ有り、それ故に 上記の Orbit もまだ完全に IPFS だけでそれを実現しているワケではないっぽいです。
まあ、この辺りについては、今後、IPFS 本体が開発されて行く上で解決されていくと思うので、その辺りは座して待つべし、という感じだと思います。はい。
で、次。
[ZeroNet http://zeronet.io/ ]
これについては、今回初登場、というか僕としては初紹介であり、また、今日、ドキュメントやらを読んで、ようやく何を行うモノなのかが初めて判ったモノなんだけど、この ZeroNet 、何を成すモノかっていうと、これも一言で言えば、
誰でも簡単に扱える、検閲されない分散 Web プラットフォーム
という類いのモノです。
で、 検閲されない というのは、厳密には uncensorable と表現されているので、現実には、恐らく 検閲できない 事を目指しているのかも知れません。
それで、検閲されない、または検閲出来ないネットワークとして有名である既存プロダクトには、 Tor や I2P などが有りますが、その Tor や I2P と、 ZeroNet は何が違うのかっていうと、これは恐らく、アプリケーションのレイヤーが違う、という感じっぽいです。
これは何故か、というと、 Tor や I2P は、 TCP or UDP 上で、いわゆるバケツリレー方式を使い、誰がどの情報をリクエストし、そしてレスポンスを返したか、というのを秘匿化する、という『 経路秘匿化通信 』を行なうものですが、 ZeroNet はどちらかというと、その 経路秘匿化通信 など上に乗っかかりつつ、その上で、 高速 かつ リアルタイム性 もある Website を実現するための仕組み、と言えるのではないかと思われるからです。
また ZeroNet は、その高速なリアルタイム性の実現には BitTorrent の Protocol を用い、 ZeroNet ネットワーク上の、それぞれの Website に付与するネットワーク上でユニークな ID には、 Bitcoin 互換のアドレスとそれを実現する暗号アルゴリズムを使っているので、 ZeroNet 上の Website のオーナーには、その ZeroNet 上の Website address に、そのまま Bitcoin が送る事も可能、という特長も備えています。
で、こう聞くと、Bitcoin みたく使い方がややこしいのか、と思いきや、基本的には各 OS プラットフォーム向けのバイナリが提供され、『誰でも簡単に使える』ことが志されているらしいので、まあそれほどややこしそうな感じではないようです。
と、以上が ZeroNet の解説というか概要なんですが、実際に使われているのかどうか、とか、あるいは、ちゃんと機能しているのかどうか、等は、まだ調べ切ってないので、その辺りについてはなんとも言い難いですが、色々機能を見る限りでは野心的なプロジェクトであるっぽいので、まあ僕としては注目しています。
で、次。
[Ethereum https://www.ethereum.org/ ]
- Ethereum は、この手のヤツではそれなりに知られているかと思うんですが、 実際に何するヤツなのコレっていうのを一言で表わすと、
チューリング完全 な 分散アプリケーションプラットフォーム と、 Blockchain 技術を利用した 暗号通貨 のセット
です。
んで、僕が何故 Ethereum に注目しているか、っていうと、これは単純に、
[分散アプリケーション基盤 の中で一番まともに動きそう]、かもしれない
と個人的には思ってるからです。
まあ他にも分散アプリケーション実行基盤を志しているソフトウェアは有るっちゃあ有るっぽいのですが、現状、一番開発が進んでいて、かつその暗号通貨の価値が上がって来ているのが Ethereum であり、かつ僕も一番理解が進んでいる、という要因もあって、 Ethereum の行く末には注目しています。
ただ一応言っておくと、僕はどちらかというと、 Ethereum の 暗号通貨 の価値が云々っていうよりも、 Ethereum の分散アプリケーション実行基盤を使って何か作ってみたい! と思っている人間なので、まあ、 Ethereum の価値が上がりすぎて、ちょっと素人には手が出せなくなる、みたいなのは、勘弁して欲しいなぁ、と現段階では思っています。はい
という事で以上です
で、僕が今注目している、
という三つの ソフトウェア は、どれも オープンソース であり、また GitHub にリポジトリを持っているっぽいので、もし気が向いた時が有れば、その ソースコード とか読んでみると面白そうかなぁ、とも思っています。
ただ、この手のヤツは、本当、流行らないというか認知されないと使われないし、また人はいないと誰も居ない、に繋がってくるので、その辺りには厳しさが有ります。
また、 IPFS や ZeroNet とかは、特にその性質から言って、そのネットワーク上に、 違法なコンテンツ も存在しているとは考えられ得るので、その辺りについては、各自、違法な情報に手を出さないという心構えが必要なのではないかな、と個人的には思います。
という事で結構長くなりましたが、今日の記事は以上です。終ります。はい。