トップページ⇒tech
1001コメント429KB

P2Pでサーバに依存しない掲示板を作るの巻

■ このスレッドは過去ログ倉庫に格納されています
0001101/08/27 21:33ID:Uofeyeso
この掲示板コミュニティをずっと私たちのものにするために、P2Pでサーバに
依存しない掲示板を作るの巻。

クライアントサーバ型BBS、ハイブリッドP2P型BBSでは、サーバを必要とするために
運営に費用がかかります。掲示板では利益を生み出すことができない以上、これら
のサービスは持続可能なものではありません。

2ちゃんねるライクな掲示板を持続可能なものにするためには、コストがかからず、
誰にも依存しない、純粋なP2P型ネットワークを開発する必要があるように思われます。
0002101/08/27 21:34ID:Uofeyeso
PureP2P型掲示板では、以下の良いところがあります。

■ サーバを必要としないため、掲示板が完全にダウンするリスクがありません。
■ 運営にコストがかからないため、お金を儲ける必要がありません。
■ 運営者が不要になります。
■ 多機能化が可能です。

PureP2P型掲示板では、以下の悪いところがあります。どのようにして補うのか。
できるだけ

■ 特別なプログラムをサーバントとして動作させる必要があります。
■ カキコを完全に削除することが出来なくなります。
■ 誰も管理できないのでは?。危険だ。
■ 完全な匿名化を行うことが出来ないのでは?
■ スレッドやレスの取得もれ、消滅が起きる可能性があります。
■ 中央サーバ型に比べ、速報性に欠ける(カキコが全てのユーザに伝わるまで
に時間がかかる)可能性があります。
0003101/08/27 23:11ID:Uofeyeso
■アイデア
例えば、他の人がたてたスレッドをn個ローカルのディスクにおいて
共有しないと、スレッドが立てられないようにする。

ネットワークへの参加費用=帯域とCPUとディスクの提供という考え方。
最初はROMから。
0004デフォルトの名無しさん01/08/27 23:16ID:kDLbYqTE
■ サーバを必要としないため、掲示板が完全にダウンするリスクがありません。

システムの設計よる。

■ 運営にコストがかからないため、お金を儲ける必要がありません。

運営には個人レベルで金はかかる。

■ 多機能化が可能です。

安易に多機能化していくと互換性が乏しくなり、ユーザが離れるだろう。

■ 特別なプログラムをサーバントとして動作させる必要があります。

ソフトウェアによる。

■ カキコを完全に削除することが出来なくなります。
■ 誰も管理できないのでは?。危険だ。

システムの設計による。

■ 完全な匿名化を行うことが出来ないのでは?

完全な匿名なんてあったのか。

■ 中央サーバ型に比べ、速報性に欠ける(カキコが全てのユーザに伝わるまで
に時間がかかる)可能性があります。

ていうかすべてのユーザに通知するような設計にした時点で破綻。


P2Pとキャッシュ混乱してないか?
0005デフォルトの名無しさん01/08/27 23:18ID:fftmjbdI
設計的にはNNTPに近いものになるの?

んで、2ch型の掲示板にするならユニークな発言番号が必要だけど、どうするのかな?
0006 01/08/27 23:20ID:Uofeyeso
>■ サーバを必要としないため、掲示板が完全にダウンするリスクがありません。
>システムの設計よる。

ちょっとわからない。PCが何台かP2Pでつながれば、それでネットワーク成立。
スパムやP2P破壊を試みるクライアントの登場?

>■ 運営にコストがかからないため、お金を儲ける必要がありません。
>運営には個人レベルで金はかかる。

具体的にどのような費用?

>■ 多機能化が可能です。
>安易に多機能化していくと互換性が乏しくなり、ユーザが離れるだろう

互換性?バージョン間の?クライアント間の?

>■ 特別なプログラムをサーバントとして動作させる必要があります。
>ソフトウェアによる。

ソフトウェアは必要です。ブラウザのみでは実現できない。

Gnutellaのプロトコルはご存知?
0007101/08/27 23:22ID:Uofeyeso
>2ch型の掲示板にするならユニークな発言番号が必要だけど、どうするのかな?

前のスレッドでは、「時計を合わせて、時間軸で発言順」というアイデアが
出ていたっす。

これは意見のわかれるところだと思いますが、私はかならずしも2ちゃんねる
と同じスタイルにこだわる必要はないとおもっているんだ。
0008デフォルトの名無しさん01/08/27 23:39ID:kDLbYqTE
>>6
■ サーバを必要としないため、掲示板が完全にダウンするリスクがありません。

掲示板全体では確かにダウンしないが、個々の掲示板レベルでは?
コピーをばら撒けば理論上はダウンはしないだろうが、
個人的にはコピーをばら撒く方法は成功しないと思ってる。

■ 運営にコストがかからないため、お金を儲ける必要がありません。

常時接続のパソコン。通信費。電気代。
ま、これは余計なお世話か。スマ。

■ 多機能化が可能です。

というかIPv4とv6が例で、非互換が頻繁に発生してはならない。

■ 特別なプログラムをサーバントとして動作させる必要があります。

サーバントとクライアントの両方の機能を持てれば
ユーザから見れば分離した概念ではない。
0009501/08/27 23:49ID:fftmjbdI
>>7

時間軸ソートですか。

う〜ん、時間強制合わせはイヤだけどなぁ・・・
0010101/08/27 23:55ID:Uofeyeso
>>8
>コピーをばら撒けば理論上はダウンはしないだろうが、
>個人的にはコピーをばら撒く方法は成功しないと思ってる。

参考にさせていただきたいので、なぜそう思われるのかをそことなく
カキコしていただければありがたいです。


>う〜ん、時間強制合わせはイヤだけどなぁ・・・

SNTP。 PCの時刻じゃなくて、アプリ内で別の時刻を持つというのが
前のスレッドで出ていたよ。
0011501/08/28 00:02ID:GXEcccJ6
なるほど、書き込む前にSNTPで時刻を取得するんだ。
0012 01/08/28 00:29ID:IRApeeyY
このシステムを一年くらい続けたとして、昔のスレッドを保存してる人が
いなくなったらその内容はもう取得できないよね。
アクセスは少ないけど、検索対象としてはほしいときなんかは
やっぱWebが適してるような。
0013 01/08/28 00:40ID:IRApeeyY
あ、でもその人にとって興味のあるスレッドはずっと所持しつづけるかな?
それだと優良スレだけ残っていくから逆に効率いいかも?
0014 01/08/28 00:44ID:IRApeeyY
ところで、Webだと、リソースを表すためにURLを使って指定できるけど、
P2Pだとできないよね?
リンクとかを貼って「前スレ」とか「参照スレ」とか示したいとき
どうするんだろ?
0015連続カキコすまん01/08/28 00:45ID:IRApeeyY
やっぱNNTPみたいにメッセージIDかな?
0016 01/08/28 00:46ID:N/BUjlEA
>>12
そうですね。 過去のスレッドがいつまでも残っているかは全く保証され
ませんね。 ウェブではないので、例えばGoogle等の検索エンジンでも
検索できません。

今で言う「実況スレ」のようなもの?
00171201/08/28 01:07ID:IRApeeyY
いきなりこのP2Pネットワークだけで始めるとあまり広がらない気がする。
P2P-cacheじゃないけど、2ch本家とこのネットワークとでメッセージの交換が
あればかなりイイと思う。
0018デフォルトの名無しさん01/08/28 01:08ID:lGTCN/0o
コーディングにどのくらい時間かかるんですか?
0019デフォルトの名無しさん01/08/28 01:27ID:ayAzes6Q
http://www.hotwired.co.jp/news/news/Technology/story/3849.html
完全な匿名を保証しているらしいです。
こういうの、使えませんかね?
0020 01/08/28 01:46ID:IRApeeyY
>>19
たしかフリーネットっていくつかのマシンを経由してデータを転送してもらうから
匿名性が高いんだよね?んで、その分転送に時間がかかるんじゃなかったっけ?
とりあえずグヌテラ形式でいいんじゃない?
0021デフォルトの名無しさん01/08/28 02:26ID:CmtHTuM.
>>20
経由して、経由した全ノードにコピーを残して行くから、
みんなが読むようなコンテンツだと猛烈な勢いで複写が
行われてそのコンテンツが多数のノードに存在すること
になるから、そういうのへのアクセスだとgnutellaより
はるかに高速になる。
0022デフォルトの名無しさん01/08/28 08:20ID:uwDaUMvk
サーバントとクライアントを上手に別けるのに
 サーバント+プロキシ方式はどうだろう?
  つまり普通のWebブラウザを最終インターフェースにする

 こうしとけば家庭内LANでもパソコンが走っていればゲーム機でもブラウジング出来る
 誰かが鯖をたてればいいだけだし
0023デフォルトの名無しさん01/08/28 11:07ID:u.nsLDdo
>>22
freenet にはそういうのありますよ。freenet 独自の URL のようなものが
あって、Web ページも作れるし、freenet 上に NNTP や Mail のようなもの
もある。
なりすまし対策とか、荒らし対策みたいなのもいろいろと考えられてるよう
です。
00242201/08/28 11:24ID:fuFoxE4A
こういう奴ですね >23
ttp://www.geocities.co.jp/SiliconValley-Oakland/9423/
ttp://www.geocities.co.jp/SiliconValley-Bay/7325/Freenet/FAQ.html
0025デフォルトの名無しさん01/08/28 11:30ID:fuFoxE4A
23 下のリンクから

>今のところFreenetから文書を削除する方法はない。全く要求されない文書は、最終的には使われないことで削除される。

という事で、どうやって削除するかはやはり難しい問題のようですね
でも、このスレの議論のタネとしてはfreenetはよい教材のようです
0026__01/08/28 13:19ID:aE5uBalY
前スレの1さん
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&st=88&to=88&nofirst=true
http://sourceforge.net/projects/p2pbbs/

前スレの113さん
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&st=113&to=113&nofirst=true
>こういうスレあったんですね。偶然にも同じことやっています。
>こっちはSOAPでやるっす。
>しかも、メッセージが投票で衰退してくあたりまでアイデア
>同じ:)
>もっと斬新なこと考えないと...

前スレの130さん
>130 名前:が〜ん 投稿日:2001/06/10(日) 10:47
>似たこと考えている人いますねぇ〜 > 1と113
>こっちはXML-RPCがベースです。
>openxmlが巨大なのがちょっと…

確認できるだけで3件の別の開発が行われている(いた)ようなのですが、
どのような仕様なのかというのを確認できるURLは、まだないのでしょう
か。前のスレッドはいろいろと参考になりますね。
0027801/08/28 14:28ID:wzFAflj2
>>10
>個人的にはコピーをばら撒く方法は成功しないと思ってる。

ま、理論的裏づけがないのであまり強くはいえないが、
いまの2chが流行っているのはリアルタイム性と、
書き込みの完全な同期だろ?

そうすっと、コピをばら撒いてしまうと、ばら撒けばばら撒くほど
面倒になっていくのはいいよな。しかし、ばら撒きを前提にすると
ばら撒かないわけにはいかないわけで。

でここで思うんだが、ばら撒ける余裕があるからネットワーク上の
共有率を高めたほうがいと思う。つまり、今のgnutllaとかって
端から端まで検索効かないよな。だけどもしユーザの立場なら
見れない掲示板が出てくるのはかなり痛い。
だから、コピーをばら撒くより、リソースの存在をばら撒いたほうが
オレは良いと思う。

漏れが考えたのは
・スレのコピーは作らない
・スレは一台のサーバが完全に管理
・スレに関する要求は該当する唯一のサーバへ
・複数のサーバが集まって板を形成
・板内でスレの存在を可能な限り共有
・板へのサーバの参加について制限を設けても良い
・板外のリソースについては板の存在を共有するに止める
てな感じ。スレ単位でトラフィックが50MBはいかないだろ。
いざとなったらスレ委譲の仕組みを加えればいい。

長所は
・スレ単位で負荷分散ができる
・サーバ内でならフローティングなんとかも可能
・面倒な一意の識別子問題もクリア
・完全な削除ができる

欠点は
・サーバが落ちると関連スレ全部落ちる

だな。ま、参考にしてくれ。個人的に考えてるだけだしな。
0028 01/08/28 14:46ID:IRApeeyY
その案だと結局一台のサーバにスレの転送要求が集中するじゃん。
今の2chの問題点、わかってます?
0029801/08/28 15:38ID:wzFAflj2
>>28
最悪、高負荷のスレ以外を他の空いているサーバに委譲しちゃえばいいと思った。
すべてのスレが高頻度に更新されることはないだろうから。

数個のスレで破綻するようなサーバ、もしくは状況では
コピーをとる方法のほうも破綻するだろうし。
#…しないのかな。

ついでに、コピーを嫌う利用はプログラマとしての経験。
完全同期とリアルタイム性が要求される資源について
安易にコピーを作るとろくなことがない。
0030デフォルトの名無しさん01/08/28 16:39ID:OGjCZfek
基本的には、特定のサーバーに依存しなければいいんであって
サーバの存在は前提にしてもいいと思う。
というかP2Pとしては、皆がサーバーになろうというのが基本概念の様な気がする。

でも利用者が1日中ネットにつなげてるわけにも行かない場合も多い、というか
そのために掲示板システムがあるんだよね。
で、どうすればいいかというと、単純な話、メッセージを預ければいいってだけ。
別に預ける先が、freenetだろうが、2chだろうが、ネットニュースだろうが、
自分の借りたディスクスペースだろうがかまわない。
要は、ネット上に確実に存在して、見せたい相手がそれをすぐ見つけられれば問題ない。
だから、そういう既存のものを利用出来るようなプロトコルがいい気がする。

問題は、問題があって、見せたくない(消したい)場合や発信元を明かしたくない場合はどうすればいいのかって話。
情報は、消えても灰は残らないけど、写しても減らないんだよね。だから、無理に消そうと思っても無理。
一番いいのは忘れてもらう事。思い出せなければ無くなったのと一緒。

どうやって実現するかというと、ブラックボックス化すればいいんじゃないかと思う。
よく、ファイルを間違えて消す事があるけど、普通は消した後でもデータ自体はHDDに残ってるんだよね
ただ、一般的にそれを検索する方法が失われるから、普通は諦めて、消えたものとして扱うよね。
でも、大事な物が消えるのは嫌だし、無駄なものばかりで、どこにあるか分からないのも嫌。

基本的に掲示板に必要なものは、必要な人を集める機能で、
住人が望むのは、都合のいいメッセージやレスが即座に見つかる事だと思う。

これが、アクセスを特定サーバーに集中させずにどうやって実現出来るかを考えるべきかな?
■ このスレッドは過去ログ倉庫に格納されています