ビットコイン・インスティテュート

Re: Bitcoin 0.3.1リリース

人物: knightmb
knightmb 2010年7月16日15:27 UTC

Windowsクライアントで、他のクライアントを手動で(-connectオプションで)たくさん接続すると、8を超えるとWindowsクライアントが「外部」接続を切って、最初の8つ以上の内部マシンだけをネットワーク全体と思い込むことに気づいた人はいるだろうか?

Linuxクライアントをゲートウェイとして使っていたので気づかなかったが、Windowsクライアントで試したところ、最初は約10接続あったが、直接接続する50クライアントを追加した後、数は最終的に「内部クライアント」だけに落ちていった。

こうなると、ブロック数が増えなくなる。基本的にWindowsクライアントは「ネットワーク」から自分を切り離し、他のすべてのクライアントが自分たちだけでネットワーク全体だと思い込んでいる。Windowsクライアントでnetstat -a -nを実行すると、内部クライアントとIRCブートストラップチャンネルにしか接続しておらず、外部の他の誰にもほとんど接続していないことが分かる。これが起きていると分かるのは、ブロック数がローカルネットワークの外(世界の他のインターネット)で実際に起きていることから遅れ始めるからだ。

自己崩壊ループのようなものだろうか? Linuxクライアントではこの問題は起きない。処理できる限りの数まで、喜んで接続し、また接続を受け入れる。悪意のある人がいれば、Windowsクライアントに対する一種のDoSと言えるかもしれない。