年末年始はいつものことながら忙しいのであまり大改造もできないと思いますが、
暇を見つけて、前から予定はあったけど後回しになっていた
BBS周りの改造でもしようと思ってます。
現在の構想ですが、まず、今現在、BBSの匿名性が保たれているのが書き込み側だけなので、
スレッドを立てる側と読み込むほうに関しても匿名性を実現させようと思ってます。
あと、今現在WinnyBBSを使うには各自がWinnyを起動しないとだめですが、
これも解決させようと思います。
方式としては第4世代P2Pといっても良い新しいやり方になります。
これの基本的な考え方ですが、第3世代P2Pですと集中鯖なしで匿名性を持っているわけですが、
よく考えると、このP2P網全体が仮想的なストレージを持った仮想システムと考えられますので、
これ全体を一つのサーバとみなして、これに対してクライアントが接続するという、
P2P網に対するクライアントサーバモデルという考え方が基本になります。
なんでこうなるかですが、まず、匿名BBSを読みたいだけなのに、
わざわざポート空けて専用サーバントプログラムを立ち上げてくれる人というのは
あまりいないだろうという前提がまずあります。
前から言っているように、P2P-BBSの最大の問題はピアをいかに確保するかでしょう。
で、この問題に関しては既存のファイル共有ソフトなどの他のP2Pサービスを
借りるのが一番良いでしょうと。
次に、BBS読み書きのためだけに専用システム起動は面倒という問題がありますが、
クライアントを普通のWEBベースのクラサバとすることで、読みだけなら普通のブラウザだけあればよく、
専用のプログラムを立ち上げる必要がなくなります。P2Pとクラサバの良いとこ取りになります。
もちろん、今のWinnyBBSと同じで好きなスレッドを自分で作るにはWinny本体を立ち上げて
外部にポートを開けないとだめですが、スレを立てたければWinnyを起動して
WinnyBBSノードとして協力してくださいということになります。
この、P2P全体をサーバとみなしてクラサバするというのは、
他にも使える概念でBBS以外にもいろいろ応用できると思います。
ということで、実際にWinnyに追加予定の機能ですが、
今現在ではファイル共有のためのポート情報を各ノード間でやり取りしていませんが、
これを各ノードで情報交換するようにし、今のBBSへのインターフェイスと同じような形態で、
各ノードのBBSポートへのリンクを持つWebページを出力できるようにします。
アクセスポイント一覧がブラウザからリンクとして見えるので、
そこのどれかからWinnyBBSにアクセスすることになります。
あとの違いとしては、スレを読むときに基本的に自分のノードに直接アクセスしての
読み書きはできなくして、必ず他人のノードのBBSポートを利用して読み書きする
ようになることぐらいでしょうか?
改造としてはかなり簡単ですし、ファイル共有側への悪影響はほとんどないでしょう。
これにより、読み込みやスレッドを立てている人の匿名性が実現できますし、
BBSを読み書きするだけだったらWinny本体を起動する必要がありません
(適当にブックマーク入れておく必要はありますが)
もちろん、匿名BBS機能なんてそもそも要らないという人もいるでしょうから、
BBSポートを0に設定したらそのノードはBBSキーの中継に使われるだけになる予定です。
あと、これですとわざわざ検索リンク経由で書き込まなくてもある程度の匿名性が実現できますが、
匿名性高いほうが良いでしょうから、ここはそのままの予定です。
他に、スレ立ての委譲だとか、キャッシングというもっと複雑なメカニズムを
BBS側に導入することも考えられますが、そもそもWinnyのBBSは
各自がhttpdを立ち上げて普通にBBSを作って、これをP2Pで共有して
大きなひとつのBBS群として見せているだけというシンプルなメカニズムでしかありません。
人間の心理として、自分の立てたスレは大切にしようとの考えが働くはずですので、
他から書き込まれたければできるだけWinny本体を落とさないようにするはずですし、
書き込み内容も積極的に管理してくれるんではないかということで、
今の方式がベストなんではないかと思います。この辺は普通のBBSと変わりません。
ですので、今と同じでスレを作ったノードが落ちてしまうとスレが消えて誰も読み書きできなく
なりますが、これは普通のBBSもそうなので、こちらではこれを問題とは考えません。
2chだと、板単位でホストがあったところが、スレがノード単位になってこれが集まって
巨大BBSに見えるというだけで、結局やっていることは同じで、より分散システムになるだけのことです。
とこんな感じで予定していますので、何か問題点とか思いついたらご意見よろしく。