P2Pweb(1)
新月は対象を「追記して増えていくデータ」に限ったから簡単に実装することができた。 今回作りたいのは追加も削除も書き換えもできる、一種のウェブスペース。
イメージとしては参加者が適当にトリップを決める。 トリップがhogeなら/hogeというディレクトリを割当てる。 hogeさんは/hogeの中にファイルを置くことができる。 CGI(相当のもの)も置ける。 その他の人は原則としてファイルを弄ることはできない。 http://localhost:8888/hoge/index.html でデータが参照できる。 とこんな感じ。
実際にはトリップはもっと長いものになるだろうと思うが、 そこらへんは検索機能をうまくすれば入力は楽になる。 トリップ生成にはApolloを使う。
データの交換にはpushareとか新月とかのプロトコルを応用する。
さて、問題はCGIである。 静的なデータだけなら別に難しくはない(手間がかかるだけ)。 P2Plogのためのフレームワークなので、CGIなしではどうしようもない。 無制限にCGIを許せばセキュリティ上危っかしい。 CGIでファイルに書き込んだときに署名ができない。 署名ができないと、書き込みが正当なものなのかどうかが判断できない。
CGIそのものではなく、独自の言語とインタプリタを作ればいいかもしれない。 セキュリティ上の問題は(原理的には)なんとかなるかも。 しかし、世界中の便利なCGIがそのまま利用できないのではつまらない。
モデルのレベルからちょっと考えてみよう。 単なるWebArchiveやGoogleキャッシュのP2P版の方が有用かもしれないしね。