BitcoinクライアントがIRCブートストラッピングチャネルからK-Lineされている
オランダ時間(CEST)21:11、この投稿をした約10分前に、ビットコインクライアントがK-Lineされている。
(注:時刻はCESTである。)
--- SNIP ---
[21:11:36] * u4euc453wZ599zQ has quit (K-Lined)
[21:11:37] * u4mZRTtQwC6NskZ has quit (K-Lined)
[21:11:37] * x398030675 has quit (K-Lined)
[21:11:37] * u4m5AmvGVaM8MNU has quit (K-Lined)
[21:11:37] * x92119461 has quit (K-Lined)
[21:11:38] * u4iQ9mpGopGTd6D has quit (K-Lined)
[21:11:39] * u4iqow5D1WqBmPH has quit (K-Lined)
[21:11:39] * u4qsjyU6VRAtfRD has quit (K-Lined)
--- SNIP ---
いずれにせよ、これでビットコインのネットワークは動かなくなる。 少しずつ戻ってくるクライアントもある。 それでも、これは心配だ。 今あるほかのブートストラップの仕組みを何でもすぐに使い、0.3をできるだけ早くリリースすることを提案する。
#freenodeで、ある人がこう言っていた:
<gwillen> Xunie: bitcoinを使うかもしれない一人として言わせてもらうと、君たちのプロジェクトが裏でIRCに接続するのなら、そのことをどこかに書いておくべきだと思う。そういう動きをすると知った今、急に使うのがずっと不安になった。
控えめに言っても、これではBitcoinが少し……悪意のあるものに見えてしまう……
それを聞いて安心した。 それで、具体的には何をテストしていたの?
ええと、ネットワーク全体にどう影響する可能性があるのかな? もしこれがネットワーク全体をダウンさせるバグなら、かなり深刻だな、はは。
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を取得するよう、ソースを強制的に書き換えた。
控えめに言っても、これではBitcoinが少し……悪意のあるものに見えてしまう……
ネットワークへのブートストラッピングが悪意あるものだと?
正しいかどうかは別として、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???
別のブートストラップ機構を考える時期だな 😉