機能リクエスト: 接続数の制限
ビットコインクライアントが受け入れる接続数を制限するオプション(RPC インターフェース付き)を希望する。自宅のクライアントは 70 の異なるノードに接続されており、貧弱なルーターではとても追いつけない。ネットワークが遅くなり始めており、このままではビットコインに接続リクエストを無視させる(-connect=<ノード> を使って)必要が出てくるだろう。
接続制限オプションがあれば素晴らしい代替手段になるだろう。
了解。ありがとう。
それでも良い機能だと思う。ブートストラップなどのために他の人が接続してくるのは構わないし、おそらく 15 ではなく 40 に設定するだろう。
このリクエストを「標準」GUI 機能として支持したい。
最近、さまざまな SOCKS プロキシ/プロバイダー経由で Bitcoin をテストしており、接続数を 10 未満に制限できる機能は非常に便利だろう。
フィードバックありがとう。
一つの方法として、アウトバウンド接続を 15 から 10、あるいは 5 に減らすことができる。15 という選択は恣意的だった。冗長性と高速な指数関数的メッセージ伝播に十分な数があれば良いのだ。10 でもまだ十分だ。5 でも問題ないはずだ。10 はきれいな切りの良い数字として良いので、ユーザーは意図的に止まったことが分かる。
UPnP を実装すれば、インバウンドを受け入れるノードが増えるので助けになるだろう。接続数は、インバウンドを受け入れるノードとアウトバウンドのみのノードの比率に 15 を掛けたものだ。インバウンド接続を受け入れる人をもっと増やすよう奨励する必要がある。
一定の接続数に達したらインバウンド接続の受け入れを停止する機能を実装する予定だ。
どのバージョンを使っているか?
BitTorrent のような典型的な P2P ソフトウェアで接続数が最大何になるか知っている方はいるか?
BitTorrent クライアントは簡単に何百もの接続を処理できる。これが小さな組み込みルーターをダメにする理由だ。通常の IP ルーターなら問題ないが、小さな組み込み機器は NAT を行っているので、すべての接続の状態を追跡してメモリー不足になる。また、非常に低速な SoC スタイルのコンピューターなので、それを通過するすべてのものが影響を受ける。
Torrent クライアントには一般的に、グローバル最大接続数、最大受信接続数、最大送信接続数を設定するオプションがある。
能力のある人には無制限の受信/送信接続を許可し、NAT、Tor、プロキシなどを使っている人には控えめなデフォルトを提供するのが良いと思う。
RC4 で最大アウトバウンド接続を 15 から 8 に減らした。
15 は冗長性のために必要な数をはるかに超えていた。8 でも十分な冗長性がある。
ノードがこのバージョンにアップグレードするにつれて、インバウンドを受け入れるノードが受ける接続数は半減する。
8 以上の接続が必要な方は、ファイアウォールでポート 8333 を開けてほしい。