P2P Web妄想

ググって見ると、去年くらいに定義で云々もめていたみたいですが、ようはWebをp2pでってことらしい(なにもさしていないいいかただけど…)。
で、これはおもしろそーだなーぼくもやりたいなーとおもって、実際どんな感じに作ればいいかなーと想像。

データ形式
ページは、通常のWebページと同じ(HTMLなど)だが、必要データは1ファイルにパックする必要はあるので(でないと、表示されない画像があったり)、MHT(RFC2557)のような形式でネットワーク上に流れることになる。(これをさらにzipで固めると小さくなる)

URI
ページの場所を指すアドレスは、ハッシュ値になると思うのだけど、単純にページ全体のハッシュ値を求めてしまうと、ページが更新されるたびにアドレスが変わってしまってリンク切れが大量発生!というか使い物にならないので、なんらか決めないといけないが、各個人が勝手に決めると他とかぶってしまったり、偽サイトが出てきたりすることがあるため、各ノードのもつ公開暗号用の公開鍵のハッシュ値とかそういうものにする。理想は公開鍵そのままがページのアドレス。
ここでのページというのは、上記データ形式の1パックなため、その1パック内に相対的なアドレスはいくらでも持てる。

ページ全体を秘密鍵で暗号化して、キーとしてページの情報(タイトル、管理者、検索用キーワードなど)と公開鍵をセットで撒くため、アドレスのチェックと復号が同じ精度で行える感じ。

@ データの検索方法
一意なURIがあって、ワンクリックで表示することを考えるとネットワーク全体を一定時間で検索できる仕組み使わないとだめな感じ。
Winnyのようなネットワークだと、「リンクをクリックするとページが表示される」というリアルタイム性に欠ける。
ここでDHTか?

@ クライアント
普通のWEBブラウザをそのまま使いたいけど、mhtだとIEでしか表示できないと思うし、独自の形式にした場合はなんにしても無理なので、変換proxyを通せばいいのかなーと思えてる。p2p側へのリンクに関しても、proxy側でフックしてp2p側からデータを引っ張ってくればいい感じ。
ただ、普通のWEBブラウザで見ることを考えるとリンクに「http://」というスキーマをつけないとならず、そうするとたぶん、「http://p2p.806585f50a78ae300ee19d90ecbbf6d9.p2p/」のような特殊な形式のリンクになって、通常のWEB側からリンクが張られたときにproxyなしでクリック人たちのDNSへの無意味な問合せが大量発生して問題視されたりすると思うので、できることなら別のスキーマ(p2pweb://とか)を設けてブラウザのプラグイン機能を使って云々したい。

ん、とりあえずじゃあ今すぐに作れといわれても今の俺にゃ無理だとオモータ。
きっと、まる2年間と生活費があればできる!!