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

ビットコインの​ノードは​誰が、​なぜ​動かしているのか — サトシは、​いずれマイナーだけで​足りると​書いた

濃紺の背景に、ノードと採掘が一つのサーバーの棚にまとまった2008年の予想と、採掘の機械がデータセンター・家庭・Torの奥のノードから離れた2026年の姿を並べた図。

論文が暗号学メーリングリストに出てから3日後、サトシ・ナカモトは、この仕組みは必要な大きさまで広がらないというジェームズ・A・ドナルドの心配に答えた。普通の利用者はチェーンの全部を持たなくてよい、とサトシは書いた。

サトシ・ナカモト(暗号学メーリングリストへの投稿、2008年11月3日01:37 UTC)

ネットワークがそこまで大きくなるずっと前から、利用者は簡易支払い検証(論文の第8節)を使って二重支払いを確かめれば、安全に使えるようになる。必要なのはブロックヘッダーのチェーンだけで、1日に約12KBで済む。新しいコインを作成しようとする人だけがネットワークノードを実行する必要がある。当初はほとんどのユーザーがネットワークノードを実行するが、ネットワークがある程度以上に成長すると、専用ハードウェアのサーバーファームを持つ専門家にますます委ねられることになる。サーバーファームはネットワーク上に1つのノードを持つだけでよく、LANの残りはそのノードに接続する。

この予想は半分当たった。新しいコインを作る仕事は、普通のコンピューターを離れて専用の機械へ移った。残りの半分は外れた。2026年10月3日、クローラーはまだ25,489のビットコインのノードのアドレスに接続できた。そのノードが動かしているソフトウェアは、コインを1枚も作れない。誰もノードに報酬を払っていない。では、誰が動かしていて、何を得ているのか。

1. 2008年、ノードはマイナーだった

論文の中では、「ノード」と「マイナー」は同じものだ。第6節は、ブロックの最初のトランザクション、つまり新しいコインを「ブロックの作成者」に与え、これを「ノードがネットワークを支援するインセンティブ」と呼んでいる。ソフトウェアも論文のとおりだった。ビットコインv0.1は一つのプログラムで、送金し、チェーンを確かめ、「ネットワークにCPUパワーを提供してコインを生成する」こともできた。2009年にビットコインを動かした人は、全員がノードを動かしていて、どのノードも採掘ができた。

サトシはこれを始まりの形と考えていた。スケーラビリティのスレッドへの返信で、そうはっきり書いている。

サトシ・ナカモト(BitcoinTalkへの投稿、2010年7月29日02:00 UTC)

すべてのユーザーがネットワークノードであるという現在のシステムは、大規模運用を想定した構成ではない。それはすべてのUsenetユーザーが自分のNNTPサーバーを運用するようなものだ。この設計はユーザーが単なるユーザーでいられるように対応している。ノードを運用する負担が大きくなるほど、ノードの数は少なくなる。その少数のノードは大規模なサーバーファームになるだろう。残りはトランザクションのみを行い生成はしないクライアントノードになる。

その1年前、ネットワークがまだ小さかったころ、サトシは逆の方向へ押していた。2009年8月、マルッティ・マルミに、クライアントの自動起動は「ノードの数を一桁変える、今いちばん欠けている機能」だと書き、Linuxへの移植は後回しにした。「Linuxはサーバーファームの助けにはなるが、実のところ、個人の利用者を優先したい」。

論文は一つだけ例外を残していた。簡易支払い検証の節は、「頻繁に支払いを受ける事業者は、より独立したセキュリティと迅速な検証のために、独自のノードを運用することを望むだろう」で終わる。サトシの見取り図では、フルノードを動かすのはコインを作る者と、支払いを受ける事業者だった。普通の利用者は、ブロックヘッダーだけを確かめる。

2. 当たったこと、外れたこと

サトシの予想(2008〜2010年)2026年10月
コインを作るのはサーバーファームを持つ専門家マイニングプールにまとまった専用の機械(ASIC)
ノードのソフトは採掘するかする。ノードがマイナーしない。Bitcoin Coreは2016年に内蔵の採掘機能を外した
フルノードを動かすのはコインを作る者と、支払いを受ける事業者接続できたアドレスが25,489。その向こうに誰がいるかは記録にない
ノードの負担大きくなり、ノードは減るBitcoin Coreのダウンロードページによれば、初回に約600GB、その後は月に5〜10GB。剪定すれば約10GB
ノードが得るものブロックを作ったノードに報酬何もない。同じ運営者が採掘もしていない限り

採掘は、サトシが書いたとおりの道をたどった。2010年5月にGPUが現れ、2013年1月に最初の市販のASICが出た(年代は設計と現実の分析にある)。2010年の終わりからは、マレク・パラティヌスが提案したプールを皮切りに、マイナーは力をまとめて掘るようになった。2016年8月には、分かれたことがコードの上でも決まった。Bitcoin Core 0.13.0は、v0.1から入っていた採掘機能を外し、理由を一行で書いた。「CPUでの採掘はずっと前から役に立たなくなっているので、内蔵の採掘機能は外した」。

ノードは逆へ進んだ。重くなってサーバーファームしか担えなくなるどころか、軽くなった。2015年から使える剪定では、ノードは規則と今の状態を保ったまま、古いブロックを捨てられる。Bitcoin Coreのダウンロードのページは今、剪定すれば「セキュリティを犠牲にせずに、合計10GBほどで済む」と書いている。ノードはもうファームである必要がない。そして、もう報酬も入らない。報酬はブロックを作った者に入り、ノードのソフトはもうブロックを作ろうとしない。

2008論文がブロックを作ったノードに報酬 (10月)サトシがいずれコインを作る者だけで足りると書く(11月)2009v0.1が送金・検証・採掘を一つのプログラムで(1月)2010GPUでの採掘 (5月)サトシが全員がノードなのは想定ではないと書く(7月)最初のマイニングプール(2010年末)2013最初の市販の ASIC(1月)2015剪定で 古いブロックを捨てられる2016Bitcoin Coreが内蔵の採掘機能を 外す(8月)2017採掘しないフルノードがSegWitの期日を 決める(BIP148、8月1日)2026接続できるノードのアドレス25,489 (10月3日)ノードとマイナーが分かれるまで(2008〜2026)

3. ノードはどこにあるか

10月3日04時37分(UTC)の集計は、接続できたアドレスのそれぞれにネットワークを付け、通常のインターネットのアドレスにはプロバイダーを付けている。25,489のうち、12,423がTorの.onion、4,264がI2Pだった。どちらも機械の居場所を示さない。なぜこれほど多くのノードがアドレスを隠すのかは別の話になる。そちらは56分前、03時41分(UTC)の集計で数えているので、合計が少し違う。残りのうち、IPv4とIPv6のアドレス8,797は、つないでいるプロバイダーの名前で分けられる。

プロバイダーの種類アドレス8,797に占める割合大きいところ
データセンター・クラウド3,87844.1%Akamai Connected Cloud 881、Hetzner 862、OVH 385、Google Cloud 341、Amazon 332、DigitalOcean 213
家庭・小さな事業所向けのプロバイダー2,53228.8%Comcast 262、AT&T 197、ドイツテレコム145、Vodafone、Charter、Free
名前では分けられない2,38727.1%VerizonのUUNET 162(家庭と事業者が混ざる)、小さな地域の回線

分け方はプロバイダーの名前だけによるので、同じプロバイダーの家庭の回線と小さな事務所の回線を区別できず、4分の1はどちらにも置けなかった。それでも言えることはある。サトシのサーバーファームは実在するが、それだけではない。通常のインターネットのノードの4割は借りたサーバーにあり、3割は家庭にあるのと同じ種類の回線にある。その横に、居場所を隠したTorの.onionが並んでいる。

4. 報酬がないのに、なぜ

ノードの運営者が何を望んでいるかを数えた調査はないので、理由はプロジェクトが運営者に向けて書いていることから拾うしかない。bitcoin.orgのフルノードの手引きは、「マイナー、事業者、プライバシーを気にする利用者は、自分が使うフルノードの決まった振る舞いに頼るので、自分のフルノードを動かすことが多い」と書いている。Bitcoin Wikiのフルノードのページは、理由を四つ挙げる。

  • 誰も信用せずに規則を確かめる。同じコインが二度使われていないこと、持ち主でない者が使っていないこと、決まった予定の外でコインが作られていないことを、フルノードは自分で確かめる。
  • プライバシー。軽量のウォレットは、自分のアドレスについて他人のサーバーに尋ねるしかなく、そのサーバーはどのアドレスが同じ持ち主のものかを知る。自分のノードにつないだウォレットは、誰にも尋ねない。
  • 安全。軽量のウォレットは、しばらくの間、無効なトランザクションを受け入れるようだまされることがある。フルノードはだまされない。
  • 経済的な重み。フルノードは、マイナーの多数が規則を変えても、規則を守らせる。Wikiは条件を付けている。数に入るのは、自分の実際の取引を自分のフルノードで行う場合だけで、「どこかのサーバーでフルノードを動かすだけでは、ビットコインの経済的な重みにならない」。

最後の理由は、サトシの見取り図に場所がなく、そのうえで実際に使われた記録がある。2017年、ブロックサイズ戦争のさなかに、BIP148の運動は、採掘しないフルノードが8月1日から、SegWitを示さないブロックをすべて拒むと宣言した。コインを作らないノードが、コインを作るマイナーに期日を突き付けた。

ノードが要らない人も、同じ理由から分かる。現物のビットコインETFの株主は、鍵をまったく持たない。コインは信託が預かっているので、株主には確かめるものがない。取引所に置いたままのコインについては、取引所の客も同じ立場にある。ビットコインを初めて知る読者には、写しを持っているのが誰かを平易にたどった初心者ガイドの共有台帳のページがある。

2008年、サトシは、ノードがいずれコインを作って報酬を受ける者と、支払いを受ける事業者だけに縮む網を描いた。コインを作る者は、サトシの言葉どおりファームへ移った。ノードはついて行かなかった。報酬なしで動き続ける2万5千のアドレスは、多くがデータセンターに、多くが家庭の回線にあり、半分はTorの奥にある。これは、論文が書かなかった一つの役割だ。規則を自分で確かめる役だ。誰にも払われないが、この役を自分で担えば、確かめることを誰か一人に任せずに済む。そのアドレスの向こうに何人がいて、それぞれが四つの理由のどれで動いているのかは、どの記録も数えていない。

参照元の外部ソース

https://www.metzdowd.com/pipermail/cryptography/2008-November/014815.html

その他の外部ソース