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

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

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

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

2ちゃんねるライクな掲示板を持続可能なものにするためには、コストがかからず、
誰にも依存しない、純粋なP2P型ネットワークを開発する必要があるように思われます。
0204デフォルトの名無しさんNGNG
管理不能である以上P2Pにするのは無意味だと思うが。
P2Pが何かわかってるのか? ネタ?
0205デフォルトの名無しさんNGNG
どうでもいいけどクライアントが経路を学習
したしする必要は無いのか?
0206デフォルトの名無しさんNGNG
管理不能・・・だからいいんじゃん・・・ヒヒヒ
0207 NGNG
それで、本当に動くんでしょうか。

Vojta計画
http://pc.2ch.net/test/read.cgi/esite/1009015273/
0208 NGNG
やっとこさウェブサイトを用意して初めのバージョンをアップロードできたのです。
似たようなシステムを作っている人はおそらくいると思います。

共通の問題としては、
(1)入り口になるウェブサイトの問題とか、
(2)どこにどんな板があるのかを検索(?)する問題とか、
(3)相互接続とか、

そういう問題があるのだと思います。
0209デフォルトの名無しさんNGNG
>>207
とりあえずJERをダウンロードして、インストールしようとしたら
なぜか、インストールできなかったので、でかいJDKのダウンロードに
チャレンジ中です。
0210 NGNG
>>209
あぁローカルでうまく動いたら接続実験しましょうよ。
LANでしか試してないんですよ。

2ちゃんねるはいつかそのうちなくなるか、形を変えてしまうと思うんですよね。
そのときのために今から代替掲示板を作っておかねばならないと思います。
0211デフォルトの名無しさんNGNG
とりあえずVojtaのインストール完了。
でも、データベースのイニシャライズをやってもステータスがエラーと
表示されている。
うまく動いているか、わからない。
--------------------------
Status
status:ERROR
Menu
Initialize database
Compact database
0212204NGNG
>>206
誰もが好きなように改竄可能な、万人が管理人の掲示板なんて誰も欲しがらない
だろうという意味なんだけど。最も単純なP2P掲示板のイメージって、WinMXとか
のようなサービスでテクストファイルだけ共有して投稿者名/投稿題名あるいは
キーワードをadvertiseするという形だと思うがこれであってるか? あるいは独自
のルーティング機構を備えた簡易HTTPサーバみたいな物か。

いやしくも掲示板を名乗るなら、投稿にレスを付け、さらにレスを付ける、という連鎖が必要
だろ。でなきゃ単なる個々人のてんでばらばらな意見表明の集積にすぎないからね。そのた
めには連鎖的なデジタル署名もくっつけてやらなきゃならない。インターネット上にHTML
ファイルを皆が勝手に置いて、検索エンジンで検索して運が良かったらそのHTMLファイル
を誰か見るわけだが、それと同じことを専用クライアントでやっても意味ねぇし。そんな
ツールを進んで起動しっぱなしにして帯域消費させる馬鹿が(動画その他の交換という用途
を除いて)そうそういるとも思えないしね。
で、さらに書くと、迷惑メールと同様の商業的なデータの入力を遮断する手段が無いって
のが一番の問題だな。ブラックリストを共有するのも有りだが、そのブラックリスト自体
の正当性を担保する手段が無い。単に掲示板をブラウズしたいだけの人間が、自分でセ
キュリティ管理もやんなきゃなんなくなるってのは割に合わない。

以上に答えられる奴はこのスレにいるか?
0213名無しNGNG
>>212
このスレは2ch危機のときに立ったスレだからねぇ。
帯域問題に対する2ちゃねらの解がP2Pだったんでは?
0214 NGNG
おはようございます。そうでした。データベースにはODBCを利用しているので、
ODBC関連のセットアップが行われていないとダメかもです。特別なドライバを
用意する必要はないです。
0215 NGNG
>>215
長くて読めないです…過去ログ読みました?
0216デフォルトの名無しさんNGNG
>>215
いきなり自問自答をぶつけられても…。
0217 NGNG
あぁ。ねぼけてたんですかね。

>>211
vojta0901aフォルダのインストールする場所によって、必要なファイルを見つけられずに
データベースの初期化ができないケースがあるみたいです。原因はよくわかりま
せんが、フォルダの位置を適当に動かしてテストしてみてください。
0218 NGNG
>>211
どうも、vojtaのインストールしたパスに日本語の文字が含まれているとダメみたいです。
データベースの初期化が出来ません。
C:\test\vojta0901a は動作しますが、
C:\テスト\vojta0901a はうまく動かないです。
0219デフォルトの名無しさんNGNG
早く作れヴォケ
0220デフォルトの名無しさんNGNG
今回の「ガサ入れ未遂事件」で、再度このプロジェクトに注目が集まりそうなヨカーン
応援してます。
0221デフォルトの名無しさんNGNG
>>212
改ざんされたくない人はクリア署名(あるいはX-PGP-Sig
みたいなものをつける)すればいいよね。
UBE,UCEについてはUSENETと同様に一定時間内に
同じパターンの内容があればフィードしないように
すればいい。そういうのはソフトウェア側で工夫して
利用者が複雑に考えないようにすればいいじゃん。
つーか過去ログ読め。
0222 NGNG
なんか古いIEだとうまくいかないみたいなので直しました。

http://vojtaproject.tripod.co.jp/
0223 NGNG
過去ログレスペクト

2chのような掲示板システムってP2Pで
http://piza2.2ch.net/tech/kako/990/990334284.html

2chのような掲示板システムってP2Pで part.2
http://piza2.2ch.net/tech/kako/999/999431595.html
0224デフォルトの名無しさんNGNG
NATには対応しているんですか?ぽーと開けなきゃ駄目?
0225212じゃないけどNGNG
>>221
それで騙りは防げるだろうけど、スレ本体の改竄は防げないような気が…。
そこんトコどうよ?
0226デフォルトの名無しさんNGNG
>>225
・発言の改変
対策:発言者は、公開鍵暗号系で暗号化(認証付加)する。
    板なりスレなりの形を成すのはローカルのみで、送受信は全て
    発言単位で扱う。
問題:公開鍵のサイズ。トラフィックの増加

・発言の意図的なフィード拒否
対策:発言者がA,B,C,Dに接続しているなら、AとBに発言を送り。
    CやDにデータを要求してみる。
    AとBが正しくフィードしているなら、CやDは発言者の発言を
    見つけられるはず。
問題:発言者がAとBに発言を送ってから、CやDが発言を見つけるまで
    のタイムラグが不明。

・無意味&宣伝&罵倒&その他糞発言の大量フィード
対策:思いつかん(:´Д`)
0227デフォルトの名無しさん NGNG
・発言の改変
カキコを書き換えても、書き換える前のコピーが他のホストに見つかれば、
どれが書き換えられて書き換えられていないのかは、すぐにわかりますよね。
0228デフォルトの名無しさんNGNG
>>227
それだと、同一発言を2ヶ所以上から手に入れて、絶えず比較
しなきゃならないから、単純にトラフィックが2倍になる。
0229デフォルトの名無しさんNGNG
>>227
その他のホストもグルだったら? >>226 の方法にしても実際に
その時間には発言されていない書き込みを後から意図的に
挿入される危険は回避出来ない。

平等な立場のノードだけでネットワークが構成されるとしたら
改竄の危険は完全には防げない、ってのが自分の結論なんだけど
間違ってる?ご意見希望。
0230デフォルトの名無しさんNGNG
>>229
公開鍵暗号系の認証なら他者のナリスマシはないと思う。
復号化(読み)は可能でも暗号化(書き)はできないんだから。
0231デフォルトの名無しさん NGNG
JXTAあげ
0232デフォルトの名無しさんNGNG
>>229
改ざん検出が目的なら、
カキコと一緒にその電子署名を
つけておくだけでいいと思う。
署名の検証はクライアントが行うのね。

信頼できる認証局を一つ立ち上げて
認証書を発行すれば、それでいいんじゃない?
0233デフォルトの名無しさんNGNG
ガイシュツだが、参考スレ
http://tmp.2ch.net/test/read.cgi/download/1007824064/
0234デフォルトの名無しさん NGNG
ちょっとバグなおしました。良かったら試してみて感想聞かせてください。
http://vojtaproject.tripod.co.jp/
0235デフォルトの名無しさんNGNG
>>234
詳しい動作原理きぼん
0236デフォルトの名無しさんNGNG
だれかIPくれ
0237デフォルトの名無しさんNGNG
>>236
ttp://www.nic.ad.jp/
0238236NGNG
イブにそんなベタなネタで返さんでも・・・。
0239デフォルトの名無しさんNGNG
誰かいる?
>>234さんのツールのお試し用に
IP晒し場作ってみました。(かなり適当だけど…)
http://hoge.s7.xrea.com:8080/ip.php
しばらく俺の晒しときますわ。
0240デフォルトの名無しさんNGNG
>>238
そういえば IP v6って今どうなってるんだろう。
p2pのネットワークに利用できないものだろうか?
0241デフォルトの名無しさんNGNG
うお…誰も繋げてくんなかったよ。もう寝る。

>>230 >>232
騙り防止は了解。
でも、改竄されてない保証が出来るのは個々の書き込みまでが
精一杯だよ。レス全体で見たら、どっかに後から書き込みを
追加されたかも知れないし、
取り逃がしてる書き込みがあるかも知れない。
平等な立場のノードだけでネットワークが構成されるとしたら(強調)
この可能性はどんな手を使っても 0 にはならないっしょ?
もし違うんなら教えてくれ。

一番現実的なのは反則なんだろうけど、書き込み保証用の
サーバーを立てることだよなぁ。その時間帯に確かに
書き込んだ、ということを署名してブロードキャストする。
スレごとに最終レス番号を覚えさせておけば
書き込みに正確なレス番号を付加できるから
取り逃し防止にもなる。
0242デフォルトの名無しさんNGNG

ついでに覚書も兼ねてもうひとつ書いておきます。
「平等な立場のノードだけでネットワークが構成されるとしたら」
を強調した理由。

管理側だけでネットワークを組むのはどうだろうか。
一般クライアントは発信側にならない。
管理側は限られた多数のボランティアを募集する。
イメージ的には今の削除人さんたちのような感じ。
もちろん、負担にならないように
常時動かさなくてもいい仕組みを作る。

このネットワークの中では性善説を適用できる。
改竄される可能性は 0 ではないけど、そんな事を
するような奴を選ばないよう留意する(出来るか…?)。
書き込みのあぼーんも出来る。
管理プログラムの変更も割と簡単かも知れない。

でもこれだと管理の責任が生まれそうなので諸刃の剣。
>>1を読み直したらやっぱりスレ違いっぽい。

長文スマソ
0243デフォルトの名無しさん NGNG
さらにバグ修正しました。Linuxで文字化けするバグも直しました。バージョンは
0904aです。 http://vojtaproject.tripod.co.jp/

>>239さん、すみませんでした。試そうと思ったんだけど、環境が用意できなか
ったです。

今の僕のホストは、211.19.93.1の80番ポートです。とりあえず、つけたまま寝ま
すので、もし人がいたらアクセスVojtaからアクセスしてみてください。スレッドを
たてたり、コメントがつけられたら、動いていることになります。

>>241-242
ごめんなさい。もう眠くて頭が働かないです。あした読みます。

クリスマスイブに徹夜しちゃいました。ちょっと感動しました。
0244デフォルトの名無しさんNGNG
>>241
>もし違うんなら教えてくれ。

夜書く。
0245かごのなかのとりはNGNG
>>241
要は、アリバイ証明の逆ができればいいんじゃない?

ブロードキャストしている?以上、書き込みがあった事を証明できるのは
特定のサーバーに限られないと思う。
ただ、転送された時刻以前に書かれたという証明は難しいね。
まあラグはそんなに考える必要ないか?(というかあまりあってはマズイ)

>>242
>>58あたりの方法はどう思う?
0246236NGNG
>>423
うまくつながらん。
うちはFlet's-ISDN,LAN経由,NAT,80はIISが占有。

Host(211.19.93.1:80) was feeded to servant.とでる。

しかしコンソールに

failed to create serversocket:80

なる文字があるからIISとめなきゃダメかな。
環境についてもうちょっと説明しちくり。
0247デフォルトの名無しさん NGNG
Vojtaはデフォルトで80番ポートを使うので他でウェブサーバが使っていたり
するとダメかもです。その場合は、conf/VojtaServantPreference.xmlを開い
て、ServerPortの80を適当なポート番号に置き換えてください。
0248デフォルトの名無しさん NGNG
カキコありがとうです。今別の誰かがつなげようとしているようですが、
192.168.0.2とかのIPがでちゃって、応答できないみたいです。
0249236NGNG
お、つながった・・・みたいだが変化なし。
セッションは維持してるみたいだが、確認はどうすんの?
0250デフォルトの名無しさんNGNG
>>248
それ、たぶん私です。
ダイヤルアップルータ経由なんで、ローカルのIPが出ていっちゃっているのか。
どうしたら良いでしょう?
0251デフォルトの名無しさん NGNG
掲示板の一番上のConnectorのところをクリックしてください。
接続先が表示されます。協力感謝感謝です。

他の参加者の人に迷惑なので、どこか別に掲示板を用意します。
0252236NGNG
ていうか192.168.1.2ならオレっぽいなぁ。いまセッションも切れたみたい。
セッション切れる前に暴走したみたいになって、CPUを100%もっていった。

正直LANとNATに対応しないと使い物にならん、もしくは使えん。
0253デフォルトの名無しさんNGNG
カキコしたのは俺です。236さんとは別人です。混乱させてごめん。
0254248NGNG
192.168.0.2は、やはり私かも。ローカルのIP確認したっす。
コネクションは張れるのに、残念だなぁ。
0255250NGNG
上の>>253は私です。間違えました。すんません
0256デフォルトの名無しさん NGNG
そうですね。対応しないと現実的には使えないですね。
気を長くしてお待ちくださいです。
0257250NGNG
>>256
私はスキル無いっすけど、テストには協力しますんで、
がんがれ
0258デフォルトの名無しさんNGNG
>>244
夜だぞ!?まだか!

>>245
チェーン方式…、俺は直感としてはダメだと思うんだけど
誰かやってくれるんなら、アイデアの段階じゃなくて
チェーンに悪質なクライアントが混じった場合の振る舞いとか
チェーンのノードが全部ネットワークからいなくなった時はどうすんのさ?
などに答えを出して、完成させた仕組みの形で見てみたい。
突っ込む用意は出来てるから。
0259デフォルトの名無しさん NGNG
http://www-106.ibm.com/developerworks/java/library/j-p2ptrust/

既出でしたか?でもこの図はどっかで見たことあるんだよなぁ。
0260デフォルトの名無しさんNGNG
>>258
他人に実装を求めた上に、突っ込む用意ができてんなら、どんな問題が
考えられるか、それに対する対処が何故難しいかくらい提示しろよ。
喧嘩売ってんのかテメェは?何がやりてぇーんだ?
0261236NGNG
>>260
売ってても買っちゃダメでしょ。(w
0262デフォルトの名無しさんNGNG
>>260
一概にチェーン方式って言ったって、やり方はひとつじゃない。
俺だっていくつか候補は考えてみたけど、どれも結局穴が出た。
だから、無理だと思ってる俺が穴のある仕組みを提案するより、
本当にこれで完璧と思っている奴がいるんなら、
ソイツの考えた仕組みを見て、
それが本当に完璧か議論した方が生産的でしょ?
仕組みの穴を見つける手助けはするって言ってんだよ。

上の方にも書いたけど、俺は真の意味での pure P2P で
完璧な掲示板システムが出来るって事に懐疑的です。
ちゃんとやるんなら>>241か>>242の方法、少なくとも
「信頼の置ける」ノードなしには出来ないと思ってる。

せっかく喧嘩を買ってくれるのならこれが間違いだ、
っていう証明をしてくれよ。
0263236NGNG
>>262
オレも完全P2Pで掲示板ができるとは思っていない一人だが、
けんか売っちゃダメだろ。Vojtaがうまく行けば机上の空論だし。

ところで漏れもソフト作ってるんだが、そこまでいうのなら
システムを書くのでぜひ検討してほしい。
一人でやってるとどうもね。

・サーバ間のみP2P
・レスの共有はしない
・スレッドはサーバが所有
・あるスレッドへの要求はすべて単一サーバに集中
・他人のサーバにスレッドは立てられない

・サーバ間で常時コネクションを張る
・サーバネットワークでは更新のあるスレッドについて全域に配達する

長所
・いろいろ
欠点
・管理責任が発生しそう
・リソースがサーバに依存

責任問題については、漏れは発言者本人にはあって当然と思っている。
それもあって匿名問題についてはあまり気にしていない。
ただ、サーバ管理者に管理責任が発生するのは避けたいので、
動的にスレッドを移譲する仕組みがあればいいかなと思っている。
0264236NGNG
漏れの環境ではNAT込みで動いているが、
.NET Framework Runtime が必要なんで、
それでもいいという人がいたら言ってくれ。

ちなみに98,NT,2K,XP用で20MBほど、ベータ板。
0265デフォルトの名無しさんNGNG
関係ねーけどトークンリングって懐かしい……
0266いNGNG
>>262
いや、並べてみて、その穴の部分を取り上げて解消するアイデアを見つける方が得策。

ところで、信頼性というのは維持したまま分散できないものなのだろうか?
結局、悪意のクローンを排除可能なプロトコルって事になるのかな?

プログラムを署名付きで配布して、無署名で改造したらばれてプロトコル上門前払いできる
とかいうようなのって無理?
0267デフォルトの名無しさん NGNG
メールサーバも変なの多いよねー。でもなんとか動いてる。動いてない?
0268デフォルトの名無しさんNGNG
>>263
検討しようと思ったけど、「サーバー」が何を意味するのかわからないよ。
「サーバー」=「利用者のクライアント」だったら、その案だと欠陥あり。
「サーバー」=「信頼の置ける少数の管理側サーバー」だったら、
現実的だけど、面白くない。ってのが正直な感想です。

pureP2Pでコレ!って案は結局ないのーか?(煽ってみる)
0269デフォルトの名無しさんNGNG
>>263
>他人のサーバにスレッドは立てられない
って事はやっぱり「利用者」の方か。以下、
そう決め付けた上での欠点。相変らず長文ごめん。

■ 其の1 ■

>動的にスレッドを移譲する仕組みがあればいいかなと思っている。

ここ重要。実際どういう仕組みを用意するつもりさ?
スレ立てた奴が繋いでないと書き込めない掲示板なんて
掲示板の用を成さないから、ここの仕組みは必要だけど、
もし悪質なノードに委譲されてしまったら、
それこそ改竄でもあぼーんでもやりたい放題。
きっと、誰かがどっかのスレをあぼーんしたいと思ったら、
ひたすらノード用意しまくって、委譲されるの待つ。
いたづら犯だったら委譲されたスレを片っ端から壊すかもしれないし。

■ 其の2 ■

委譲が任意だとすると、スレ立てた奴に公開を止める権利がある。
スレ立ててレス貰って、都合が悪くなったら公開中止。
これはレス泥棒。少しでも時間を割いて書いてくれた人に失礼。
あんまり好ましいとは思わない。

■ 其の3 ■

悪質なノード君がスレ立てしたとしたら…?
色んないたづらされそうでなんか嫌。

以上。
良い点もいっぱいあると思うけど、
とりあえず悪い点だけ。
勘違いしてたらごめんなさい。
0270236NGNG
>>268
不明なとこがあったら聞いてください。

サーバは実際には二種類あって、
ひとつは基幹ネットワークを構成するやつ。(Aサーバとする)
もうひとつは単なるスレッド供給者。(Bサーバとする)

BサーバはAサーバに依頼して、自分の持つスレッドを告知してもらう。
ただし、Aサーバ管理者に依頼しない限り、Aサーバネットに参加はできない。

クライアントはいずれかのAサーバにアクセスしてスレッド一覧をもらう。
スレッド一覧はBサーバのアドレスつきで送られるので、レスの取得は
実際に運営しているBサーバから直接もらう。

★移譲

これに関しては、次のような感じが良いかも、と思っている。

・サーバは"移譲サーバ"のアドレスをあらかじめ決めておく
・時が来たら、移譲サーバにスレッドを移譲
・管理をしたいときは移譲サーバに返還要求する

・移譲サーバは移譲依頼が来たら任意の別のサーバに移譲する
・移譲サーバは変換依頼がきたら実際の移譲先に通知後、
 スレッドの書き込みをチェック※して返還。

・クライアントは移譲サーバに実際の移譲先を聞いてアクセス。

※は、移譲中の部分に関しては仕方がない。
移譲する前の部分が改竄されていないかのみ。

>いたづら犯だったら委譲されたスレを片っ端から壊すかもしれないし。

最悪でもスレッドの一時的なダウンですみます。
オリジナルがサーバに残っているので。

>悪質なノード君がスレ立てしたとしたら…?

Aサーバのネットワークに介入されなければ何とかなります。

>スレ立ててレス貰って、都合が悪くなったら公開中止。

これについてはまだ考えているんですが、要はサーバクラッシュから
復旧させる手段が必要かな、と。復旧時にレス関係者が集まる場所を
決めておいて、そこでみんなのログを合成するというのが今の案です。
0271デフォルトの名無しさんNGNG
>>270
了解。俺りゃ1さんのノードがスレ管理をするんだと思ったよ…。
あくまで、管理側と利用側に分けた上での、
管理側ネットワークの仕組みっちゅーことですね。

それだったら上手くいくと思います。

というか、何度も書いてるようにそっち路線で行くしかない、と思っています。

でも、そっちの路線で考えるにあたって、それで本当に
このスレの目的は達成されるのだろうか、という疑問があるんですよ。
pureP2Pで出来るんならそっちの方がいいに決まっている。

というわけで、>>241での発言の繰り返しになっちゃいますけど、
俺の結論はpureP2Pで完璧な掲示板システムを作る事は出来ない。
どこかで妥協が必要になる。

これを確認したい。
「反論」を待つ。

#反論がなけりゃしょーがねーや、そのうち>>241か>>242の方法を
#取った掲示板か、もしくはログが必要ないCHATでも作ってみるわ。
0272つNGNG
>>271
pureP2Pとはどういうものを指すのだろうか?
平衡型ならいいのかな?

想定する掲示板システムの仕様は2ch型でいいの?
それともマルチスレッド?
0273236NGNG
>>272
PureP2Pでは、P2Pに加え、
・ユーザ・クライアントを認証しない
とかかな。通信相手の選り好みをしないということ。

マルチスレッド、2ch型は意味不明。
0274デフォルトの名無しさんNGNG
pure P2Pの定義ですが

 「すべてのノードは平等な機能と役割を持ち、対等に通信する。」

でどうでしょうか?
もしくは、この定義が窮屈すぎるなら

 「pure P2Pであれば、誰にもネットワークを止めることが出来ない。」

という感じかな。
逆が成り立つとは限らないけれど。
0275いつNGNG
>>274
> 「すべてのノードは平等な機能と役割を持ち、対等に通信する。」

これであれば、要は、正規応答モードじゃなくて、非同期平衡モードってことだと思う。


昔、無線を使ってそういうのやろうとしてた人達がいたみたいだけど
細かなプロトコルを統一しないと問題がでてくる。

で、問題の類似プロトコル(ワーム等)にネットワークが汚染されないようにするには>>266のように
プロトコルにブラックボックスを組み込んでおく必要がありそう。
そうすれば、性善説を取ることができるので最初から予期された(通信の確実性とか)以外の問題はおこらない筈。

ただそれでは 「pure P2Pであれば、誰にもネットワークを止めることが出来ない。」
というのは成立しない気がする。一種の認証だしね。
つまりこれではpure P2Pとは言えないという事なのかな?

結局プロトコルという規則や物理的制限に縛られている限り、それは完璧には無理なんじゃないだろうか?

で、>>1の目的にはそれは必要?
0276デフォルトの名無しさんNGNG
>>275
プロトコルをブラックボックス化するのは、厳密には不可能だと思う。
送受信されるデータは認証と暗号化の組み合わせで守る事ができるとしても
暗号化と復号化の手順を両方持ってるプログラム本体は守りようがない。
一旦解析されたら、性善説を取ってる受信者を相手に好き勝手できてしまう。

不特定多数と通信する以上、送られてくるデータもまた不特定多数である事
を前提にするべきで、送信者の自己申告は当てにできない。
絶えず受信者の側で判定する方が、より安全なのでは?
0277236NGNG
>>275,276

>そうすれば、性善説を取ることができるので
>最初から予期された以外の問題はおこらない筈。

2chで荒らしが横行しているのはなぜだ?
WWWサーバは完結しているのだから、性善説というかそういうことすら
気にしなくて良いはずだが?
それともひろゆきは対応できるのにしていないだけなのか?

クライアントが完全に信頼できても、
ユーザが信頼できなきゃ問題は起こるんだよ。

>プロトコルをブラックボックス化するのは、厳密には不可能だと思う。

というか、少なくとも漏れはそういう段階ではない。
すべてのクライアントが自前とものと仮定した上で、
厨房が暴れないようにする段階。
0278デフォルトの名無しさんNGNG
http://www.atmarkit.co.jp/fnetwork/tanpatsu/05groove/groove01.html
0279デフォルトの名無しさんNGNG
2ch鯖(基本鯖)を併用する。
↓
投稿は2ch鯖と自分のログ、そして相手に送信される
↓
2ch鯖に投稿されたものは削除も改変もできない(現在の2chのシステムを維持できる)
↓
しかし、自分の書き込みと相手のログは改変の恐れがある
↓
そこで各ユーザは2ch鯖にその投稿が本物かどうかを問い合わせることができる
ただし、返答は0(偽)か1(正)のみ。(これによりひろゆきの訴訟リスクをゼロにできる)
↓
また、2ch鯖へ投稿した個人は分からないため、匿名性もある程度維持できる。
↓
さらに24時間稼働できる準基本鯖(ボランティア)があるともっと良い。

どう?
0280デフォルトの名無しさんNGNG
>>279
それはもう一方のスレのP2Pcacheとかいう奴だね。
開発止まってるみたいだけど。
0281デフォルトの名無しさん NGNG
あけおめ。今年の目標はVojtaの完成です。
ファイヤーウォールへの対応はこれからがんがります。
0282デフォルトの名無しさんNGNG
がんがってください
0283デフォルトの名無しさんNGNG
>282
その言葉は、ここでは禁句。
「オメーの為に作ってるんじゃねー、作りたいから作ってるんだ」って反応が返ってくるのがオチ。
0284デフォルトの名無しさんNGNG
正しくは、「オメーら、カッコいいぜ!」
0285デフォルトの名無しさん NGNG
サーバに依存しないP2P掲示板では、参加するために他のノードのアドレスが必要
になります。 「IPくれ〜」というのを、P2P掲示板以外でやらなければならないわけです。
Vojtaでは板毎にネットワークを作るので、板毎にアドレス情報の交換をやるのは結構
大変と思われます。

中央サーバを用意してここで、ホスト情報の提供を行うことは可能ですが、ここの維持に
はコスト(サーバ、管理者等)がかかります。このサーバがクラックされたり、Dos攻撃を受
けたりしまうととネットワーク全体が死亡します。
0286デフォルトの名無しさん NGNG
ですから、「便利に使うためのツール」として、ホスト情報交換のためのサーバ
プログラムがあってもよいかもしれません。いつ消滅してもよいように、マニュア
ルで操作できる必要はあるかと思います。

他にも、ウェブからの読み書きのゲートウェイを提供するサーバプログラムが
あってもよいかもしれません。サーバ提供者には広告を挿入する特権を与え
れば、板によっては管理者のなり手がいるのではないでしょうか。ウェブから
読み書きできれば、モバイルからも参加できるし、過去ログをサーチエンジン
で検索可能にもなるでしょう。

しかし、それは純粋ではないのでは?>>1に反する?うーむ。理想と現実。
0287デフォルトの名無しさんNGNG
いや、大元のネットワークがpureであれば、>>1には反しないと思うけど。
オプションで便利になっていくのは良い事だと思う。
0288 NGNG
ファイアーウォールの中からでも参加できるよう修正したVojtaをアップ
ロードしました。http://vojtaproject.tripod.co.jp/
0289デフォルトの名無しさん NGNG
今のホストは61.115.124.25の80番ポートです。
つなげてなにか書いてくれると楽しいです。

それでは遊び行ってきます。
0290236NGNG
書いてみた報告。

ISDN-FLET'S/NAT/LAN/XPで成功。
0291250NGNG
書いてみた報告

ISDN-FLET'S/NAT/LAN/98で成功したです。
0292デフォルトの名無しさんNGNG
書込ログの改竄が容易にできてしまうのは、妥協?
0293236NGNG
バグ報告

なんか知らんけど無限ループに入るみたい。
入るときのログにはさしあたって変なとこはないけど、直後から
java.net.SocketException: Connection aborted by peer: socket write error
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.OutputStreamWriter.flushBuffer(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at java.io.BufferedWriter.flush(Unknown Source)
at vojta.net.VojtaSocket.sendString(VojtaSocket.java:161)
at vojta.net.VojtaSocket.sendPacket(VojtaSocket.java:133)
at vojta.servant.Connector$PacketWriterThread.run(Connector.java:325)
failed to send packet:PacketSelfOrganizationQuery, 61.124.xxx.xxx:80, QUERY_MASTE
R, SOUTH, 1913920793
というログが繰り返されるようになる。

再現性はある。復帰はしない。
発生までの経過時間はバラバラ。
0294hiroNGNG
よくできてますねぇ。
ソースみたい!
0295hiroNGNG
P2PにIP Messengerみたいな機能を付加できないかなぁ?

IP Messengerみたいな機能というのはローカルのLANあるいはリモートのLANにブロードキャストして反応が返ってきたホストをP2Pのホストとして加える。
これあると結構便利だと思う。
0296デフォルトの名無しさん NGNG
ただいま〜。

帰ってきたらなんかLinuxのJavaVMがエラーで落ちてました。すんません。
VMが古いのかなー。

>>293
定期的に接続をチェックするようにしているんですけど、>>293はセッションが
切れているように見えますね。ログをみると他にもちょっと変なところもあります。
詳細は明日検討します。

ということで、メシ食いに逝ってきます。
0297オウヨ? オウヨ!NGNG
あ。そうそう。
終了した後もたくさんコネクションを張りっぱなしになるんだけど、
これって仕様?
0298デフォルトの名無しさんNGNG
え〜と、P2P掲示板の完全性がイロイロと議論されているようですが ・・・
ここいらで、ちょっと考え方の視点を変える事を提案したいと思います。

それは、世の中に完璧なものなど殆ど存在しない ・・・ という事です。

例えば、現行の2chのようなサーバ型の掲示板ですが、サーバのOS
からしてセキュリティホール云々が取り沙汰される昨今、それは全く
完璧なシステムなどではないという事です。
また、世界中の人々が絶大なる信頼をおいている「お金」という奴ですら
偽造、詐欺など枚挙にいとまがないほど行われております。
つまり、議論する上で「穴が開いているかどうか」はあまり重要ではない
ように思うのです。
開いている穴の大きさが、掲示板参加者にとって許容できるかどうか
だけが問題なのだと思います。
それが許容範囲内にあれば、システムとして存続し得るという事です。
0299236NGNG
つまりその穴が大きいかどうか、ほかに穴がないかを議論してるんですが。

また、穴をなくすことは不可能ですが、事実上無視できる程度に小さくできた場合は
一般に「ない」ものとして扱いますので、そういう観点から完璧なものができないかを
議論することは非常に有益かと思います。
0300デフォルトの名無しさんNGNG
さて、とりあえず、

> ・サーバ間のみP2P
> ・レスの共有はしない
> ・スレッドはサーバが所有
> ・あるスレッドへの要求はすべて単一サーバに集中
> ・他人のサーバにスレッドは立てられない
> ・サーバ間で常時コネクションを張る
> ・サーバネットワークでは更新のあるスレッドについて全域に配達する

のサーバの定義ですが ・・・
これは、長時間に渡り同一IP且つ同一IDで稼動し続け、サーバになっても
良いと表明しているクライアントが自動的にサーバに昇格すれば良いの
ではないでしょうか?
接続時間と安定性でサーバとしての信頼度が加算されていき
その際に上位10位ぐらいまでがサーバとして連携を取り、内容の同一性を
保てば良いのでは?
これならば、スレを完全ハックするには5台以上の信頼性のおけるサーバを
時間をかけて作る必要があります。
これには5種類以上の異なるIPを入手し、その上でそのIPを使って長時間
サーバ候補として稼動させつづける事が条件になり、
それは、恐らく「掲示板をハックするというくだらない行為」に対してペイしない
手間ではないかと思います。
この時点で、そうした行為を行う人が現れる確率は皆無になり、参加者に
とって十分信頼のおける掲示板を作る事も可能なのではないでしょうか?

え〜、それから、もちっと追加すると ・・・
スレを立てる == 最初のサーバを立てる
という事でいいのではないでしょうか?
人気が出れば、そのスレの2番目・3番目のサーバとして名乗りを上げる
クライアントが増え、そのスレの信頼性がUpしていき ・・・
クソスレは人気が出ない為、いつまで経っても荒らし放題、サーバもダウン
しがち ・・・ いずれは消えていく ・・・
という事で、掲示板栄枯盛衰の理にかなっているようにもみえます。
0301デフォルトの名無しさんNGNG
>>300
もうちょっと考えてから書こうよ。
とりあえず一点だけ。

>それは、恐らく「掲示板をハックするというくだらない行為」に対してペイしない
>手間ではないかと思います。

訴訟を起こしてまでスレを削除しようとしている企業もいるんだよ?
むしろ個人が手間をかけて昇格しようとするより、
こういう企業がしのぎを削ることになりそうな。
0302デフォルトの名無しさんNGNG
> 訴訟を起こしてまでスレを削除しようとしている企業もいるんだよ?

どこのスレが知らんが少なくとも俺は、企業が全力で潰したくなるような
アングラなスレを期待して2chに来ている訳ではない。
そこまでのアングラ性を期待しているユーザなんて全2chユーザの1%
にも満たないと思うが ・・・ ?
0303デフォルトの名無しさんNGNG
上記のアドレスをfeedした後updateすると以下のエラーがでます.

java.lang.NullPointerException at vojta.packet.PacketBroadCastQueryMessage.
(PacketBroadCastQueryMessage.java:36) at
vojta.servant.VojtaClient.queryThreadList(VojtaClient.java:118) at
vojta.servant.VojtaServantImpl.updateThreadList(VojtaServantImpl.java:119) at
vojta.proxy.VojtaServerHTTPHandler.commandBodyUpdateThreadList
(VojtaServerHTTPHandler.java:872) at
vojta.proxy.VojtaServerHTTPHandler.executeCommand(VojtaServerHTTPHandler.java:
160) at vojta.proxy.ProxyThread.run(ProxyThread.java:72)

catv(private ip address),linux,w3m&netscape 4.77
です.
0304デフォルトの名無しさんNGNG
追伸

ついでに言えば、そのアングラスレをどうしても維持したければ、
潰されても潰されても立てつづければ良いだけの話のような ・・

いや、第一そのスレが絶大なる人気と支持を誇るのなら、きっと
企業にも勝てる強固なサーバ群に成長してると思うぞ?
■ このスレッドは過去ログ倉庫に格納されています