Bitcoin クライアントが IRC ブートストラッピングチャネルから K-Line されている
オランダ時間(CEST)21:11、この投稿をした約 10分前に、ビットコインクライアントが K-Line されている。
(注:時刻は CEST である。)
それを聞いて安心した。 具体的に何をテストしていたんだ?
ネットワーク全体にどう影響する可能性があるんだ? もしこれがネットワーク全体をダウンさせるバグなら、かなり深刻だな。
MadHatter、何が起きたのかもっと詳しく教えてほしい。
0.2 と 0.3 の両方に IRC なしで接続するバックアップ方法があり、ただ接続に時間がかかるだけだ。
0.2 は以前に接続したことがあれば IRC なしで他のノードを見つけることができるが、新規インストールでは IRC なしにネットワークを初めて発見することはできない。
0.3 は IRC なしでもシードできる。必要であれば IRC なしで完全に動作できるが、冗長性のために IRC がある方が良い。
俺がアクセスできる大規模な研究クラスタ上で、ソースコードをいじり回していたんだ。何故か分からないが、ノードが Freenode に対してかなり高速に接続と切断を繰り返していて、結果として俺のノードのほとんどが k-line されてしまった。Freenode は荒れ狂って、俺がコネクションを作るそばからノードをブロックし始めた。
これが原因で他の人も k-line されたのかどうかは、はっきりとは分からない。だが、タイミングは「ピッタリ」だった。
この k-line 問題が報告されたのとほぼ同じ頃に、俺はそのバグを発見していた。最終的には、別のネットワーク上で動かしている別の Bitcoin クライアントからシード IP を取得するよう、ソースを強制的に書き換えた。
正しいかどうかは別として、IRC が何かに関与していると聞くと、IRC を知っている人はすぐに悪意を連想する。多くの反社会的な行為が IRC チャンネルで行われているので、これには根拠がないわけではない。もう一つの連想はボットネットだ。IRC を使ってブートストラップ、制御、通信を行うものだ。IRC に接続するプログラムは定義上「bot」と呼ばれ、IRC 界隈の人々にとってそれは悪いものを意味する。特に IRC bot プログラムそのものでない場合は。
サトシがここでやったのは、IRC を単なるマッチメイキングサービスとして使うことだが、ランダムな名前の bot が何百も待機しているチャンネルを見れば、間違った結論を導き出す人がいるのは理解できる。IRC からブートストラップしていいかどうかを尋ねるポップアップがあれば、そういう人たちの懸念を和らげられるかもしれない。トロイの木馬やボットネットだと決めつけてしまったら、実際の仕組みを調べようとすらしないかもしれないから。
というわけで上記を踏まえて、みんな irc.lfnet.org での IRC を歓迎する。俺と何人かの仲間が運営している小さなネットワークだ。サービスや K-line などは一切ない。
Freenode は目立ちすぎる。ユーザーやモデレーターが集まるど真ん中にある。ラズロのオプションの方が私たちにはずっと適している。
freenode の代わりに irc.lfnet.org を使用する 0.3.0.RC2 を公開したので、切り替えたい方はどうぞ: topic 199
IRC コンポーネントについては絶対に開示すべきだ。俺はどこかで読み飛ばしていて、接続するために自分で手動でやるものだと思っていた。Bitcoin が裏で IRC に接続しているなんて全く知らなかった。
将来的には、bitcoin に Tor などを経由して接続するよう指示できるようになると、それも嬉しいオプションになる。
ヘヘ……数分間ちょっと混乱したぞ。PC の接続を監視していたら、「irc.smutfairy.com」に接続しているのに気づいたんだ……言うまでもなく、これは見ていて気持ちの良いものじゃなかった。一体何が「そんな」サーバー名に接続するのか、見当もつかなかったからな。その URL に関連するポートを使っているプロセスを追跡したら、bitcoind だった。だから、まあ大丈夫だろうとは思う……だがな、名前だけで数分間、新しいファイアウォールルールを慌てて追加し始めるには十分だったぞ!
ヘヘ……数分間ちょっと混乱したぞ。PC の接続を監視していたら、「irc.smutfairy.com」に接続しているのに気づいたんだ……言うまでもなく、これは見ていて気持ちの良いものじゃなかった。一体何が「そんな」サーバー名に接続するのか、見当もつかなかったからな。その URL に関連するポートを使っているプロセスを追跡したら、bitcoind だった。だから、まあ大丈夫だろうとは思う……だがな、名前だけで数分間、新しいファイアウォールルールを慌てて追加し始めるには十分だったぞ!
smutfairy???
別のブートストラップ機構を考える時期だな 😉