Tor 接続が不安定、多くのシードノードがオフライン
しばらく前に Tor で Bitcoin を試していた時、合理的な時間内に接続することが不可能だとわかった。以下の debug.log の抜粋を参照。
Starting 2 BitcoinMiner threads
BitcoinMiner started
BitcoinMiner started
trying connection lastseen=-2.0hrs lasttry=-357170.7hrs
proxy connecting
proxy connecting
proxy connected
IRC :giraffe.heliacal.net NOTICE AUTH :*** Looking up your hostname...
IRC :giraffe.heliacal.net NOTICE AUTH :*** Your forward and reverse DNS do not match, ignoring hostname.
IRC ERROR :Closing Link: 208.53.142.42 (Registration timed out)
IRC socket closed
IRC waiting 71 seconds to reconnect
proxy connecting
proxy connected
IRC :giraffe.heliacal.net NOTICE AUTH :*** Looking up your hostname...
IRC :giraffe.heliacal.net NOTICE AUTH :*** Your forward and reverse DNS do not match, ignoring hostname.
trying connection lastseen=-2.0hrs lasttry=-357170.7hrs
proxy connecting
IRC ERROR :Closing Link: 208.53.142.42 (Registration timed out)
IRC socket closed
IRC waiting 138 seconds to reconnect
trying connection lastseen=-2.1hrs lasttry=-357170.7hrs
proxy connecting
proxy connecting
proxy connected
IRC :giraffe.heliacal.net NOTICE AUTH :*** Looking up your hostname...
IRC :giraffe.heliacal.net NOTICE AUTH :*** Your forward and reverse DNS do not match, ignoring hostname.
DelayedRepaint
trying connection lastseen=-2.1hrs lasttry=-357170.8hrs
proxy connecting
IRC ERROR :Closing Link: 208.53.142.42 (Registration timed out)
IRC socket closed
IRC waiting 211 seconds to reconnect
DelayedRepaint
trying connection lastseen=-2.1hrs lasttry=-357170.8hrs
proxy connecting
proxy connecting
trying connection lastseen=-2.2hrs lasttry=-357170.8hrs
proxy connecting
proxy connected
IRC :giraffe.heliacal.net NOTICE AUTH :*** Looking up your hostname...
IRC :giraffe.heliacal.net NOTICE AUTH :*** Your forward and reverse DNS do not match, ignoring hostname.
IRC ERROR :Closing Link: 208.53.142.42 (Registration timed out)
IRC socket closed
IRC waiting 292 seconds to reconnect
trying connection lastseen=-2.2hrs lasttry=-357170.9hrs
proxy connecting
DelayedRepaint
DBFlush(false)
addr.dat refcount=0
addr.dat flush
ler exiting
ThreadMessageHandler exiting
blkindex.dat refcount=0
blkindex.dat flush
ThreadIRCSeed exiting
ThreadBitcoinMiner exiting, 1 threads remaining
ThreadBitcoinMiner exiting, 0 threads remaining
wallet.dat refcount=0
wallet.dat flush
StopNode()
DBFlush(true)
Bitcoin exiting
irc.lfnet.org を運営している人がこの辺りにいると知っている。ホスト名の制限を外してもらえないだろうか、一部のユーザーがブロックされているので。
また、シードノードのほとんどが消えている。230 のうち 37 しかポート 8333 で接続を受け付けていない。IRC 以外での接続が非常に遅くなっている。オフラインのものは削除すべきだ。オンラインのシードノードのリストを添付する。
個人的には、IRC とコンパイル済みシードノード以外の方法が必要だと思う。中間的な方法が。
何人かのボランティアが独立して DNS ゾーンをホストし、新鮮なノードリストを「A」レコードとして返すのはどうだろう。簡単な cron ジョブで Bitcoin クライアントから最新のアドレスを取得し、定期的に DNS ゾーンを更新できる。DNS ルックアップは IRC 接続よりはるかに高速で、十分なボランティアがいれば、1〜2 台の DNS サーバーが失われてもサービスに影響しない。
Tor からのシーディングは簡単だ。IP を提供できる.onion ノードが 7 つある。-noirc で IRC 関連のものをオフにして高速化もしたい。
https://www.bitcoin.org/smf/index.php?topic=59.msg14635#msg14635 を参照
逆引きルックアップができない出口ノードに当たっただけかもしれない。
IRC サーバーの応答を見ると、そのためにあなたを切断しているようには見えない。その後に IRC SENDING: NICK が来るはずだが、来ないのでタイムアウトしている。
問題がわかった。IRC コードはサーバーが NICK の受信準備ができたかどうかを確認するためにさまざまなフレーズを探しているが、その特定のフレーズを探していない。修正する。
NICK を送信する前にサーバーのホスト名検索の完了を待つことが本当に必要かどうかはわからない。
TOR で初めて接続するのに、シードノードを使わなければならない状態でどのくらい時間がかかったか?
TOR で初めて接続するのに、シードノードを使わなければならない状態でどのくらい時間がかかったか?
10〜15分後に諦めて -addnode を使った。
それ以降、Tor で何度か IRC に接続できているので、出口ノードの選択は確実に運が悪かった。