【和訳】なぜBitcoinは小さいブロックを必要とするのか

約二年前(2015/9/12)の記事で少し古いですが、良い内容だったので日本語でも共有しておきます。以下が元記事となります。 

bitcoinmagazine.com

 度々話題に上がるスケーラビリティの問題についての話です。そもそもなぜ分裂するの?揉めてるの?という根本の原因が書いてあります。分かりにくい箇所は脚注を入れておきました。かなり長いため要約版も書こうと思っていますので、時間がない方はそちらを参照してください。

以下、和訳。

 

 Bitcoinのブログ、フォーラム、チャットルーム、ミートアップでは、ここ数ヶ月にわたってブロックサイズの上限に関する議論で持ちきりだった。そして今週末、Bitcoinに関わる選りすぐり人物たちがこの問題について議論するためモントリオールに集まり、「Scaling Bitcoin Workshop」が開かれた。 

しかしこれまでのところ、議論はほとんど進展を見せていない。少なくとも部分的には、これはビジョンの違い――異なる優先順位に基づいたビジョンの違いによるものだと思われる 。 

Bitcoin XT開発者のGavin AndresenとMike Hearnに代表されるこれらのビジョンの一つは、わかりやすく明快だ。彼らはBitcoinが成功するためには、成長が必要であると考えている。Bitcoinが急速に成長するには、安く、アクセスしやすく、使いやすいものでなければならない。これは言い換えると、より多くのトランザクションBitcoinブロックチェーン上に収まるようにするためにはブロックサイズの上限を上げる必要があることを意味し、そうすれば手数料は低いままを維持でき、複雑ではるか先となるであろう代替ソリューションに頼る必要はなくなる。これによりBitcoinエコシステムの一部の様相をさらに特殊化する必要があるかもしれないが、それでもなおこれはいつも期待されていた。 

一方、Bitcoinの最も活発な開発者の大半はそう簡単ではないと考えている。 彼らにとって、Bitcoinの分散化されているという性質は神聖なものであり、ブロックサイズの上限の増加はこのコアとなる特徴とのトレードオフになっていると彼らは考えている。Bitcoinの「分散主義者」としておそらく最もよく知られているといってもよい一部の開発者は、あまりにも大きなブロックサイズ増加は、システム全体をも破壊する可能性があると警告している。  

しかし、この選抜集団の開発者以外の多くの人にとって、大きなブロックがそのような重大な脅威をもたらす理由については、依然として不明瞭なようだ。これを明らかにするためにBitcoin Magazineは、分散主義者として著名な4人、Bitcoin Core開発者のPieter Wuille氏、Bitcoin Core開発者でかねてからのブロックサイズ保守派のPeter Todd氏、ハッシュキャッシュの発明者でBlockstreamの創設者兼社長のAdam Back氏、暗号技術の専門家でデジタル通貨に精通していることで有名なNick Szabo氏に話を伺った。

 

マイニングの集中化

分散主義者によると、大きなブロックの問題は本質的に二つある。一つは、より大きなブロックがより大きなマイナー、マイニングプールを生み出すという基本仮定がある。もう一つは、大きなブロックは匿名によるマイニングを困難にするということである。

 大きなブロックが大きなマイナーを生む(それだけではないが)主な理由は、レイテンシ*1と関係している。ブロックサイズが増加すると、新しく発見されたブロックがBitcoinネットワークを介して送信されるまでに要する時間も増加する。これはブロックを見つけたマイナーを除いた、すべてのマイナーにとって不利である。新しいブロックがネットワークを伝搬するまでの間、ブロックを見つけたマイナーは新しいブロックの先頭で有利な状態でマイニングを行い、一方他のマイナーは古いブロックの先頭で(すでにブロックが発見されていることに気付かずに)マイニングを行う。先頭で掘っているマイナーがさらにブロックを見つけると、さらに有利な状態でマイニングができることになる。そして、マイナーがより有利な状態でマイニングをすると、より多くのブロックを見つけられる。一方、小規模のマイナーはほとんどブロックを見つけられなくなり、利益を上げるのが難しくなり、最終的にネットワークから離脱することになる。より大きなブロックはマイニングを集中化させる傾向にある。 

さらにこの問題は、マイナーが匿名化を希望して、Tor*2を使用したい場合に悪化する。 Torネットワークのレイテンシは常に高いため、上記の問題は単純に大きくなる。大きなブロックによって小規模のマイナーは通常の接続でさえ利益を維持するのが困難であるため、Torを用いたマイナーはチャンスすらないだろう。 

より大きなブロックに対するこれらの議論は、それ自体には議論の余地がない。この論争は、どの程度の大きさが大きすぎるのかということである。 AndresenとHearnは、8MBまたは20MBまでの増加はOKであると考えており、この上限を20年間にわたって8GBまで引き上げることは問題ないと推測している。 

Core開発者でBlockstreamの共同設立者であるPieter Wuille氏は、なぜこの仮定が分散主義者たちの間で共有されていないのかを説明した。 

「すでにブロックの伝搬が遅すぎるのは明らかです」とWuilleは述べている。最近のソフトウェアアップデートでは、いくつかのマイニングプールが、新しいブロックを見つけた瞬間にブロックヘッダー(実際のブロックの必要最小限の部分)を共有する取り決めをしていることが明らかになった。取り決めに参加しているすべてのマイナーは、完全なブロックがネットワークを介して伝播するのを待つのではなく、そのブロックヘッダーの先頭でマイニングを開始する。待っていると利益が著しく下がってしまう。

これがなぜ問題なのかをWuille氏は続けた。 

「この慣習はマイナー間で多くの信頼を必要とするため、Bitcoinにとって有害で​​す。彼らはもはやブロックの妥当性を個別に検証せず、代わりにpeerに依存しています。ブロック検証はBitcoinネットワーク上でのマイナーの主な仕事と考えられているにもかかわらず... 」

さらに分散主義者たちは、一度マイニングが集中化し過ぎると、後戻りできなくなるかもしれないと警告している。その時点で残っているマイナーはマイニング市場に膠着状態を生み出し、本来の新規参入者の利益競争を阻害するだろう。

Peter Toddは、Bitcoin Magazineに次のように語っている。 

「ここで我々が懸念しているのは、これらのセキュリティマージン(冗長性)を減らすにつれ、ただでさえ少ない数のプールがさらに減少することです。現在は既存のプールが不正を行った場合に新しいプールを開始することは容易いですが、大きなブロックではそれがかなり難しくなる可能性があります。なぜならその場合、大きなプールに比べて最初から収益性がはるかに低いからです」

また、もしマイナーが匿名性を希望するならば、Torを介して接続するのではなく、VPSに接続できることが提案されているが、これもまた分散主義者には満足できるものではない。 Adam Backはその理由をこのように説明した。

 「技術的にはVPS(Virtual Private Server)を使用してマイニングすることは可能ですが、それを行うマイナーは独自のトランザクションを選択していません。代わりに、彼らはその選択を担うサーバーに接続します。極端にいえば、これはもう一つの集中化の形です。そして、いくつかの国では接続環境が悪いためにこの集中化が起こっているのを既に我々は見てきています。そこではマイナーは利益を上げるために別の国で設定したVPSサービスを用いています」

 

規制

 分散化と匿名性は、分散主義者にとって神聖なものかもしれないが、それ自体が彼らの目標ではない。そうではなく、彼らはその特性にこだわっている。なぜならBitcoinネットワークの健全性はその特性に依存していると考えているためである。分散化と匿名性を通じてのみ、政府の規制のような外部の影響を受けないシステムであり続けられる。

 「Bitcoinはマイニングの分散化によってポリシー(方針)の中立性を実現しています。 あるマイナーがあなたの取引をマイニングしなくても、別のマイナーがするでしょう。マイナーが多く存在し地理的に分散しているかつ匿名ならば、さらによいでしょう。なぜなら、地理的に分散した多くのマイナーと協調したポリシーを決定することは難しいためです。匿名の人にポリシーを伝えることはさらに困難でしょう」とAdam Backはいう。 

一方、もしマイニングの過程で一握りのマイナーだけが有利に参加できるようになったり、そのマイナーがもはや匿名でマイニングできなくなったりすると、Bitcoinの根本の特性が危険に晒されるかもしれないと分散主義者たちは危惧している。

 「Bitcoinプロトコルに、マネーロンダリング防止方策や資金のブラックリスト化を強制することが長期的な政府の目標であることは明らかであり、これはマイニングプールに圧力をかけることで可能です」とToddは説明する。 「圧力をかけてもただ単にプールが規制された管轄区域を去るだけだと規制当局に伝えることは重要だが、匿名性がなければ、実際に実行する管轄区域はそれほど多くないでしょう」

 さらに、全ハッシュパワーの半分がもう一度事実上規制されると、当局は特定のファンドの完全な凍結を要求する可能性もあるとBackは説明した:

「マイニングの50%以上が一つのポリシーに依存している場合、他のマイナーが生成した孤立ブロック*3を無視することによって、実際に取引を検閲することができます。それが起こるかどうかはわかりませんが、技術的には可能という事実を考慮すれば、規制当局が実効的な規制をかけることを想定すべきです」

 さらに、このような規制がされてから修正するのではおそらく遅すぎると分散主義者たちは考えている。 Bitcoinは規制トラップに捕らえられるだろう――トラップが閉じられるまで気付かずに。

 Backは続ける。

 「Bitcoinがすでに高いポリシーリスクにあり、ある程度集中化されているといっても、その副作用についてはまだ経験していません――ポリシー問題が発生したとき、Bitcoinの特性は失われ侵食されるでしょう。そのときどのように修正できますか?突然分散化できますか? その時点でBitcoinネットワークを支配している当事者が、分散化させるように働きかける自由な選択肢を持っているかは不明です。彼らは規制に縛られているでしょう」

 

ルノード集中化

しかし、マイナーの集中化と規制だけでは済まないかもしれないと、分散主義者は警告している。最終的には、サイズが大きすぎるブロックには、おそらくより大きなリスク――フルノード集中化リスクがある。 

ルノードがBitcoinのコンセンサスルールを効果的に検証するため、フルノードの集中化はマイナーの集中化よりもさらに大きなリスクになる可能性があると分散主義者は主張している。これらのコンセンサスルールは、Bitcoinが1MBのブロックサイズ制限を持つことを強制しているが、また同時にブロック報酬が4年ごとに半分になる、もしくはビットコインの総供給量が2100万を超えないようにも調整している。そして重要なのは、これらのルールを検証できることこそが、Bitcoinをトラストレスな(信用する必要のない)ソリューションにしている。本質的にフルノードは、約束された通りにBitcoinが機能していることをユーザーが確認できる、ということを可能にしている。

 しかし、フルノードを運用することは高コストであるので、コンセンサスルールの検証が少数の専門集団に集中するかもしれないと分散主義者は危惧している。これにはいくつかの影響がある。

 まず明らかなのはシステムがトラストなものになるということである。トラストレスなフルノードを用いる代わりに、ユーザーは例えば、明らかにWebサービスへの信頼を必要とするweb walletを使用するだろう。Simplified Payments Verification(SPV)ノード*4のようなソリューションでさえコンセンサスルールを検証しないので、その点では優れているとはいえないだろう。

Peter Toddは次のように説明した。 

SPVノードやウォレットはトラストレスなソリューションではありません。これらは明らかにマイナーを信用しており、プロトコルルールの検証も全く行っていません。例えば、SPVノードの観点から見ると、インフレスケジュールや2100万BTCのキャップは存在しません。マイナーが望むならば、無からBitcoinを自由に作ることもできます」

 SPVノードの不正行為は短期的な問題と見なせるが、フルノードの減少は長期的にはさらに深刻な結果を招く可能性があると主張している。

 Wuilleによると: 

「もし多くの企業がフルノードを運用していれば、異なるルールセットの実装には全員を納得させる必要があります。言い換えれば、ブロック検証の分散化は、コンセンサスルールに重みを与えるということです。しかし、誰もが同じweb wallet、取引所、SPV wallet、モバイルwalletを使用しているなど、ノードの数が非常に少なくなった場合、規制が現実のものとなる可能性があります。もし規制当局がコンセンサスルールを規制することができれば、Bitcoin の仕様さえ変更できます。2100万bitcoinの上限さえも」

 したがって、匿名でフルノードを運用できる状態を維持することはBitcoinネットワークの健全性にとって非常に重要なことだとToddは強調する。

 「マイニングのような、フルノードを完全に「秘密裏に」運用するという選択肢を持つことで、Bitcoinに関する議論を変えることができ、われわれに禁止させようとする政府に対して大きな影響力を得ることができます。しかし、もしそのような選択肢がなければ、規制の効力があるようにみえはじめ、政府に規制を試みるインセンティブを与えることになるでしょう」

 ブロックサイズ制限の議論自体に対してBackはこう付け加えた:

 「私は、見解が分かれる別の仮定を考えています。それは経済的に依存しているフルノードの重要性です。 Gavinは、経済的に依存しているフルノードがデータセンターや商業活動に撤退し、ほぼすべてのユーザーがSPVセキュリティしか得ることのできない世界を、一年という短期間で高いトランザクション量を得るためのコストとして、トレードオフを受け入れると考えているようです。しかし、Bitcoin技術の専門家の大部分は、Bitcoinの主要な差別化された特徴を侵食する危険性があると強く反対しています」

 

トレードオフ

 仮に分散主義者が正しいのであればどうだろう? Bitcoinのマイニング、そしておそらくフルノードの運用さえも、データセンターで働いている専門家には支配されている。マネーロンダリング防止やKYC(本人確認)ポリシーが課されるかもしれないし、プロトコルルールがある程度規制されるかもしれない。確かに、それは麻薬ディーラー、CryptoLockerディストリビューター、および強奪者にとっては打撃であろうが、Bitcoinは依然として世界的で即時かつ安価な支払いシステムとなるだろう。実はある意味では、Bitcoinはこれらの無法者がいない場合より良い状態かもしれない。よろしいだろうか?

 そうだ、分散主義者に限った話ではないが。

 ほとんどの分散主義者は、Bitcoinの特徴は、グローバルな送金や即時トランザクション、また使用コストが低いことではないという意見を支持している。Bitcoinの最も重要な特徴は、分散化された性質だということだ。それがなければ、Bitcoinが存在する理由はない。

 Nick Szabo は次のように説明している。

コンピュータサイエンスでは、セキュリティとパフォーマンスの間には基本的なトレードオフがあります。 Bitcoinの自動化された完全性は、必然的にそのパフォーマンスとリソースの使用に高いコストがかかります。既存の金融ITと比較すると、Satoshiはパフォーマンスを捨てセキュリティを重視する徹底的なトレードオフを行いました。一見無駄なマイニングのプロセスは、これらのトレードオフの中で最も顕著ですが、他にも意味があります。それは、メッセージングに高い冗長性*5が求められることです。数学的に証明可能な完全性には、すべてのノード間での完全なブロードキャストが必要です。 Bitcoinはそれを達成することはできませんが、それでも良い近似に近づくには非常に高いレベルの冗長性が必要です。たとえば、1MBのブロックは、1MBのWebページよりもはるかに多くのリソースを必要とします。その理由は、Bitcoinが自動化された完全性を実現するために、冗長性を高めて送信、処理、保存される必要があるからです」

 このトレードオフの重要性についてはWuilleも賛同した。

 「マイナーの集中化を認めるならば、最初からブロックチェーンを必要としません。中央銀行に取引のサインをしてもらえばいいだけです。これにより、容量の問題を考えずにはるかに大きくて高速なブロックが可能となります。ブロック時間は一定です。無駄な電力はありません。インフレ助成金の必要はありません。それは何らかの信頼を伴うことを除いては、あらゆる意味でより良いでしょう。実際に、もしマイナーの集中化を問題とみなさなければ、ブロックチェーンを完全に取り除くかもしれません」

 Szaboはこう付け加えた: 

「独立性のために必要なセキュリティと、シームレスなグローバルで自動化された完全性を実現するために、パフォーマンスを犠牲にしたこれらのトレードオフは、BitcoinがVisaの秒間トランザクション数に近づくことができないことを意味し、従来の金融システムにはない、自動化された完全性を維持しています」

 

Bitcoin vs bitcoin

 最後に一つ疑問が残る。 彼らのいうように、もし「BitcoinはVisaの秒間トランザクション数に近づくことができない」ならば、いったい何の意味があるのか?なぜソフトウェアを構築したり、スタートアップに投資したり、Bitcoinを宣伝するのに時間を費やしたりするのか?そもそも本質的にスケールしないのにもかかわらず。

その答えのすべては、ネットワークとしてのBitcoinと通貨としてのbitcoinの区別にある。 

Bitcoinネットワークは基本的に決済システムとして設計されており、迅速で安価な支払いネット​​ワークではないと彼らは主張している。最も典型的な分散主義者ではないかもしれないが、コア開発者Jeff GarzikによるBitcoinデベロッパメーリングリストへの最近の寄稿は、おそらく分散主義的な観点を最もよく表しているだろう。

 Garzikは次のように書いた: 

Bitcoinは設計上では決済システムです。コンセンサスのプロセスは、トランザクションのタイムライン上に「沈静化」しており、このプロセスは迅速とは程遠いものです。 ブロックサイズが20MBを超えたとしても、ブロックチェーンはすべての取引をサポートすることはできません。世界中の取引を完全にサポートできる分散型決済ネットワークを達成したい場合は、さらにレイヤを設計する必要があります」

しかし重要なのは、限られた決済ネットワークとしてのBitcoinのこのビジョンは、通貨としてのbitcoinが本来の限界を超えて繁栄できないということを意味するものではない。

Szaboの説明では:

 「通貨としてのsmall-b bitcoinができれば、小売店でbitcoin支払いをすることは不可能ではありません。たとえば、チャージバックやクレジットカードの秒間トランザクション能力を有したbitcoin建てのクレジットカードやデビットカードが使えます。また、小売支払いを行うための信頼を最小化させる賢い方法も準備中です。ブロックチェーンとしてのCapital-B Bitcoinは、高付加価値の決済層に進化する予定であり、small-b bitcoinの小売取引には他のレイヤが使用されるとみています」

 あるいはGarzikは詳細に述べた:

 「Bitcoinの支払いは、一方向性で不可逆なIPパケットに似ています。世界の人たちは、bitcoin(IPパケット)ではなく、複数のレイヤ(HTTP / TCP / IP)を使ってお互いに対話し、それにより安全かつ確実な価値の転送や即時取引などの追加機能が可能となります」 

さらに分散主義者たちはこれらの上位レイヤでさえも、Bitcoinネットワークがもたらした多くの利点を含んでいるかもしれないと主張しています。完全に開発されれば、ライトニングネットワークやツリーチェーンなどの技術革新によってユーザーは、分散化された、トラストレスで、即時の取引することができ、そして最終的にはBitcoinブロックチェーン上での決済が可能となるはずである。オンチェーン取引ではブロック内のスペースが不足するにつれてコストが高くなることは事実である一方、それはチェーンの分散化とトラストレスを保つ唯一の方法であり、それは問題ではないと分散主義者はいう。

 「たしかに、オンチェーンの取引手数料は上がるでしょう」とToddは認めた。「しかし、全く取引ができないかという話ではなく、Bitcoinの基盤となるブロックチェーンレイヤーをどのように使用するかが変わります。地球上の誰かにブロックチェーン上で直接5ドルのお金を送ることができる――もしくはゼロに近いようなものはライトニングのようなキャッシング技術を用いる世界。これは非常に良い選択肢であり、ブロックチェーン自体をスケーラブルにする技術の開発時間を得ることができるでしょう... 」

 

 

 

ここまで。

*1:レイテンシ:データ転送の要求を出してから返送されるまでの待ち時間。

*2:Tor:TCP/IPによる接続経路を匿名化するソフトウェア。

*3:orphan(孤児) ブロック:親ブロックが見つからないブロック。二つのブロックがほぼ同時に見つかり、親ブロックより先に子ブロックを受け取った場合に生じる。通常はorphanプールに保持され、親ブロックを受け取ると一緒にチェーンに連結される。

*4:SPVノード:ブロックチェーンの一部のみ管理を行い、完全なコピーを持たない軽量ノード。全トランザクション履歴を保持しているわけではなく、ランダムに接続したノードと通信し必要なトランザクションの情報を取得し信用することで成り立っているため、二重支払いなどを検出できない。

*5:ここではPoWの計算に用いるnonceを指している。