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

ビットコインの​接続できる​ノードの​半分は​Tor — なぜアドレスを​隠すのか

定義: Tor (17)

濃紺の背景に、金色の区分がいちばん長い4色の横帯と、その下の割合の数字。下部には、2009年のルーターの指示と、ポートを開けない2026年の.onionアドレスを並べた二つの枠。

サトシ・ナカモトは、新しいルーターを入れてからノードがつながらなくなった英国の弁護士ニコラス・ボームに、こう書いた。

サトシ・ナカモト(ニコラス・ボーム宛のメール、2009年6月5日20:40 UTC)

外からの接続を受けられるように、ルーターでポート8333を転送する設定にしたほうがいい。君が外からの接続を受けられる設定になっておらず、オンラインのほかの誰もそうなっていなければ、つながらない。(not accepted)の問題を解くのにも役立つだろう。

17年後の2026年10月3日03時41分(UTC)、ノードからノードへ網をたどるクローラーが、接続できるビットコインのアドレスを25,501見つけた。そのうち12,524は末尾が.onionだった。外からの接続を受け付けるネットワークの半分が、国も、プロバイダーも、家も示さないアドレスで応じている。しかも、ルーターのポートを開けなくても応じられるアドレスだ。この数字を見ただけでは分からないことが二つある。正確には何を数えた数字なのか。そして、なぜこれほど多くのノードが、自分のIPアドレスをこの数字の外に置くのか。

1. 12,524が数えているもの

集計は、25,501のアドレスをネットワークごとに分けている。

ネットワークアドレス割合
Tor(.onion)12,52449.1%
IPv47,59629.8%
I2P4,17416.4%
IPv61,2024.7%
CJDNS50.0%
合計25,501

集計の一行は一つのアドレスで、一台の機械ではない。IPv4のアドレスと.onionアドレスの両方で接続を受け付けるノードは、それぞれの行に一度ずつ、二度載る。一台のノードを複数のネットワークに出すことは、Bitcoin Coreの説明書にも出てくる。識別子どうしを結び付けられたくないなら勧めない、という注意としてだ。25,501の行の向こうに何台のコンピューターがあるのかを、この集計は言えない。

外からの接続をまったく受け付けないノードも、この集計に入らない。クローラーは、接続できたノードにアドレスの一覧を尋ね、教えられた先へ接続していく。外へ接続するだけのノードは、どの一覧にも載らない。2009年1月、サトシはハル・フィニーに、「今いる場所からは」外からの接続を受けられないと書いた。サトシ自身のノードがそうだった。今では、家庭用ノードの製品の中に、これを既定にしているものもある(§3)。

数える者も今年替わった。報道が何年も数字を引いてきたBitnodesのクローラーのアドレス、bitnodes.ioは、今はbtcnodes.ioへ転送される。btcnodes.ioで動いているのは、2026年5月に作られたBitnodesのコードのフォークだ。そして表の中で、数え方そのものに最も左右されるのはTorの行だ。2024年7月、bitnodes.ioのTorの数は90日で約1万減ったが、ルーク・ダッシュジュニアと21 Ninjaのノード数には同じ減少が現れなかった。Stacker Newsでこれに答えたMurchは、クローラーが.onionのノードを追う方法が「つまずいた」と見た。

2. 一行のプロキシから、ネットワークの半分へ

ビットコインとTorの関わりは、一行から始まる。2009年12月のBitcoin 0.2のリリースノートに、サトシ自身の担当分として「Proxy support for use with TOR」とある。これでノードはTorを通ってネットワークへ出られるようになったが、ノード自身の.onionアドレスを持てるようになったわけではない。翌月、スレッド「TOR and I2P」で、サトシは.onionアドレスが少ない理由をこう説明した。

サトシ・ナカモト(BitcoinTalkへの投稿、2010年1月20日22:05 UTC)

.onionアドレスを作成するにはユーザーがいくつかの手順を踏まなければならないため、何かに使われている.onionアドレスはあまり多くない。TORを設定して.onionアドレスを生成し、TORを再起動し、生成されたアドレスで設定する。おそらくこれは意図的なもので、TORがファイル共有プログラムに十分に自動化された形で統合できないようにしているのだろう。

この手順は、2016年2月に自動になった。Bitcoin Core 0.12.0は、Torが動いていてノードが接続を受け付けていれば、Torの制御ポートを使ってオニオンサービスを自分で作るようになった。リリースノートの言葉では「手動の設定なしに」。それでも4年後まで、数は小さいままだった。

2009Bitcoin 0.2がTorのプロキシに対応(12月)2010サトシが.onionアドレスが少ない理由を説明 (1月)サトシが bitcoin.orgにTorの手順を足す (7月)2014取引をIPアドレスに結び付ける論文 (5月)2016Bitcoin Core 0.12.0がオニオンサービスを自動で作る (2月)2020Bitnodesの Torの割合が2.1%から19.7%へ (1月)UmbrelがP2Pのポートをオニオンサービスだけで公開 (8月)2021Bitcoin Core 0.21.0がTor v3と BIP 155へ(1月)Torの障害で.onionのノードが 122に(1月)Bitcoin Core 22.0がI2Pに対応し Torv2を外す (9月)2025作り直したUmbrelのアプリが既定で外からの接続を受けない2026bitnodes.ioがbtcnodes.ioのフォークへ転送 (5月)25,501のうち 12,524が.onion (10月3日)Torのプロキシから.onionの半分まで(2009〜2026)

年表の裏の数は、数えた者も数え方も違い、一本の系列ではない。一つずつが別の点である。

日付.onionアドレス接続できたアドレスの全体割合出典
2017年11月14日38710,9693.5%Bitnodesの集計(Wayback)
2018年12月29日21610,3792.1%Bitnodesの集計(Wayback)
2019年12月8日1279,3741.4%Bitnodesの集計(Wayback)
2020年1月中旬約2,000—19.7%Bitnodes(Bitcoinistの記事)
2021年1月9日122——Bitnodes(Cointelegraphの記事、Torの障害)
2021年1月13日2,58111,19023%Bitnodes(Cointelegraphの記事)
2023年1月8,16214,83855.0%Bitnodes(crypto.newsの記事)
2026年10月3日12,52425,50149.1%btcnodes.ioの集計

2020年1月、2週間で.onionのノードは約200から約2,000に増えた。この増加の原因は記録にない。当時これを伝えたBitcoinistは「なぜ増えているのかは分かっていない」と書いた。同じ記事は、2019年の半ばにも.onionの数が2週間ほど3倍になり、元に戻ったと書いている。2020年1月に増えた分は、元に戻らなかった。

3. なぜアドレスを隠すのか

.onionの半分の中には、三つの別々の理由があり、記録はそれぞれを別々に示している。

IPアドレスは、ノードを取引に結び付ける。2014年5月、アレックス・ビリュコフ、ドミトリー・ホヴラトヴィッチ、イヴァン・プストガロフは、ビットコインの利用者の仮名を、取引が出てきたIPアドレスに結び付ける方法を発表した。家庭のルーターの内側にいる利用者も対象だった。サトシはそれより前に、利用者にTorを勧めていた。メールで、サトシはbitcoin.orgのホームページから「anonymous」の語を外し、代わりにTorの手順を足したと伝え、こう書いた。

サトシ・ナカモト(マルッティ・マルミ宛のメール、2010年7月6日02:59 UTC)

それに、「anonymous」は少し怪しく聞こえる。匿名性を求める人々は、私たちが宣伝しなくても自分で気づくだろう。

接続を受け付けるノードは、自分の居場所を公開する。クローラーの公開のノード一覧は、登録なしに誰でも引ける。IPv4のノードには、ホスト名、都市、国、緯度と経度、ネットワークのプロバイダーの名前が付く。データセンターのノードなら、その行はデータセンターを示す。居間のノードなら、契約しているプロバイダーと町を示す。.onionの行には、このどれも付かない。プロバイダーの欄には「Tor network」とだけある。

.onionアドレスには、ポートを開ける必要がない。2009年にボームが抱えた問題がこれだ。Tor自身の解説は、オニオンサービスについて、ポートを開ける必要はない、「NATを突き抜ける」からで、「外への接続だけを張る」と書いている。持ち主が一度も開けたことのない家庭のルーターの内側のノードでも、Torを通してなら接続を受け付けられる。家庭用ノードの製品は、これを既定に組み込んだ。2020年8月からのUmbrelの最初の設定は、Bitcoin Coreを内部のアドレスにだけ結び付け、外への接続をTorに通し、P2Pのポートをオニオンサービスとしてだけ公開した。このノードには、Torを通す以外に接続する道がなかった。2025年に作り直した今のUmbrelのBitcoinアプリは、さらに進んで、既定では外からの接続を受け付けない。新しいUmbrelのノードは、この集計にそもそも入らない。

12,524のうち、どれだけがどの理由によるのか、どの製品から来たのかは、記録からは分からない。そもそも報酬のないノードを誰が、なぜ動かしているのかは、ビットコインのノードは誰が、なぜ動かしているのかでたどっている。

4. 隠すことの代価

Torはポートとアドレスの問題を解くが、別のものに頼ることになる。2014年10月、ビリュコフとプストガロフは最初の論文に続けて「Bitcoin over Tor isn’t a good idea」を出し、Tor越しにビットコインを使う利用者どうしの情報の流れを、少ない資源の攻撃者が握れることを示した。BIP 324は、Torだけで接続するノードがエクリプス攻撃を安く受ける理由として、この論文を引いている。Bitcoin CoreのTorの説明書も、Torで接続を受け付けるノードはほかのインターフェースでも受け付けていて、アドレスを知る者は通常のインターネットから接続できる、と注意している。

この依存は2021年1月に表に出た。Torのv3のオニオンサービスの不具合で、1月9日と10日にそれぞれ数時間、オニオンサービスが止まり、Bitnodesが数えた.onionのノードは122まで減って、1月13日までに2,581へ戻った。その数時間、Torでしか接続できないノードには、誰も接続できなかった。

2009年、サトシはボームにポートを開けろと書き、2010年には.onionアドレスを少なくしている三つの手間を挙げた。どちらも今は、持ち主の代わりにソフトウェアがやっている。だから12,524は、既定の大きさだ。ボームが開けなければならなかったルーターに、持ち主が一度も触れずに済んだアドレスの数であり、その副作用として、居場所が公開の一覧に載らずに済んだアドレスの数だ。誰かから身を隠している12,524人の数ではない。その向こうに何台の機械があり、それが誰のものなのかは、この数からは分からない。