Bitcoin Unlimited（BU）を採用するマイニングプール、Bitcoin.comが、クライアントのバグにより1.001MBのブロックを採掘し13.2BTCを失うことになったが、BUの支持率は依然として上昇の一途を辿っている。

BUは、2015年末にローンチしたプロジェクトで、マイナー自らブロックサイズを投票で決めることができる特徴を持つビットコイン・クライアントだ。「トランザクションの処理上限に達しながらも、Bitcoin Coreは断固としてブロックの上限を引き上げたがらない」というのが同プロジェクトの賛同者の声で、「SegWitより先にBUを採用する必要がある」とし、Bitcoin Coreクライアントからの脱却を狙っている状況にある。

BUの主な支持者はViaBTC、BTC.TOP、GBMinersなどの中国のマイニングプールで、そのほかにもロジャー・ヴィア氏が率いるBitcoin.comがある。ブロックチェーン統計情報サイト「coin.dance」によれば、BUクライアントの支持率は、ViaBTCの創業者ハイポ・ヤン氏が運動を開始した昨年10月に13%に達した後、2月に入ってからは22%付近まで少しずつ上昇を続けてきた。

しかし、BitcoinMagazineのジャーナリスト、アーロン・ヴァン・ウィルダム氏とJohnny1000氏らの考察によれば、Bitcoin Unlimitedの設計思想には致命的な欠陥が潜んでいる可能性が高いという。

エマージェント・コンセンサス

BUクライアントでは、「エマージェント（突発的）コンセンサス」と呼ばれる思想に基づいた設計が行われている。

これは、Bitcoin Unlimitedプロジェクトの発起人、アンドリュー・ストーン氏の提案「BUIP 001」により定義されたアイデアで、マイナーがGUIから「最大で○○MBまでのブロックを受け入れる」といった設定を行うことができる仕組みだ。

この設計思想が危険なのは、たとえば「ビットコインのブロックは1MBである」というような、プロトコル上の暗黙の了解（ウィルダム氏によれば、マシン・コンセンサスと定義されている）が一切保証されない点だ。

つまり、マイナーは意図せずに、あるいは故意に、いつでもブロックチェーンを分岐させることができてしまう。Bitcoin.comが1.001MBのブロックをブロードキャストしてしまったようにだ。ウィルダム氏は、この問題について次のように語っている。

「Bitcoin Unlimitedは、”Emergent Consensus”を信頼しています。すなわち、Bitcoinのエコシステムは自主的に、経済合理性の面からブロックチェーンを一意に保とうと努力するという考え方です。ソフトウェアはこれを検知せず、ユーザーが常に値を設定することを要求されます。」

ビットコインは、サトシ・ナカモトの設計思想に基づき、プルーフオブワーク（一般的なマイニング）による自立分散的なエコシステムを形成している。ここでのマイナーの行動原理は、「採掘報酬を得る」という経済合理性だ。しかし、Bitcoin Unlimitedの「エマージェント・コンセンサス」と決定的に違い、オリジナルのBitcoin Coreでは人間がプロトコルに対して伝えることができる「情報」は殆どない。ユーザーはプロトコルに従うだけだからだ。

Bitcoin Unlimitedはそうではない。ウィルダム氏は、BUが引き起こしうるハードフォークが「Ethereumと、Ethereum Classicとのそれよりも酷い結果になる」と警告する。

「Bitcoin Unlimitedのユーザーは、自分たちのチェーンが本当に正しいのか知るすべがありません。BUチェーンがハッシュパワーにより1MBチェーンに追い越されれば、1MBチェーンに強制的に戻されます。たとえそのチェーンが1000ブロック続いたとしても、スプリット以後の取引は”なかったこと”になってしまいます。」

スムーズに移行してもリスクは残る

仮に、現在のマイナーがBUIP001に合意し、Bitcoin Coreとの確執もなくスムーズに移行できたと仮定しよう。ベストなケースでは、すべてのマイナーが新しい「大きなブロック」に合意しながら、ビットコインのトランザクション数に合わせて拡張し、マイナーも「大きな手数料」が収入として得られるようになるはずだ。

Bitcoin Unlimitedでは、次のような工程を踏みながら人間がブロックサイズに合意していく。ブロックサイズの決定には75%の合意が必要で、4032ブロック（難易度調整*2）維持されるとハードフォークが起こる。

（１）マイナーは「Maximum Generation Size（MG）」を設定し、自身が生成するブロックのサイズを決定する。（２）マイナーとノードは「Excessive Block Size（EB）」を設定し、受け入れ可能なブロックサイズを設定する。（３）マイナーとノードは「Excessive Acceptance Depth（AD）」を設定し、EBを超えたブロックを一定回数無視する（デフォルトは4）。

重要なのはEBとADのオプションで、この設定次第ではブロックチェーンがいともたやすく分岐する羽目になる。

たとえば、EBが異なる、ふたつのグループ「2MB派」と「4MB派」が存在すると、ネットワークはマシンコンセンサスを経ず、容易に分岐してしまうことになるだろう。2MB派は、4MBのブロックを無視し続けるからだ。

ADは、本質的にはEBを超えたブロックであっても、一定回数採掘された後はEBの設定値を覆し、「より大きなブロックを受け入れる」ための施策だ。つまり、前述した「2MB」と「4MB」ブロックの争いが起こったとしても、2MB派がADを6回に設定していた場合、4MBのブロックが長く、かつ6回連続して採掘が継続すれば、2MB派も4MBのブロックを遡及的に受け入れる、ということになる。

実質的には、ADによってEBが覆された場合、それまで採掘したブロックを捨ててしまうことにつながるため、マイナーの戦略としては、「早い段階で長いものに巻かれる」か、「無視し続けて自分のチェーンを伸ばす」の2択になるだろう。

もしマイナーが最も長いチェーンに追随できず、例えば「AD=10,000,000」のような設定を行なっていた場合、ブロックチェーンが分岐していることに気づかずに延々と採掘を続けてしまうことも可能性としてはある。BUクライアントには、こうしたヒューマンエラーに対する救済措置はとられていない。

Bitcoin Unlimitedはそれ自体が"ビザンチン将軍問題"

また、もう一点問題になるのは、Bitcoin Unlimitedを利用するにあたり、誰がブロックサイズを決定するか、という観点だ。現在、多くのマイナーはマイニングプールを利用しており、すなわち、マイナー個人に決定権がないのと同義だといえる。

たとえば、ViaBTCのハイポ・ヤン氏は2MBのブロックを求めているが、現在ViaBTCがEBを2MBに設定しているわけではない。しかし、マイナーが望む望まないに限らず、ある日突然プールとして2MBのシグナルを発することも可能だ。

そして、ビットコインが既に証明しているように、規模が大きくなれば派閥ができる。ウィルダム氏によれば、多くのオープンソースプロジェクトのように「ある程度の規模になれば、互換性のないフォークが生まれることは自明」だという。

「利害関係にある状況下では、より真実味が増します。お互いに知らないか、信頼していないグループ間においては、彼らが真実を話しているのか、嘘をついているのか知るすべはありません。敵対関係が明確であっても同様で、自分に都合の良いことを吹聴することができます。このような状況下では、合意に達することは極めて難しい。これは、まさにサトシ・ナカモトが取り組んだ"ビザンチン将軍”の問題です。」

SNSなどを通じたポスト真実（Post-Truth）が取り沙汰されているが、これは当然ビットコイン・コミュニティにも当てはまる。人々はSNSなどを通じて自分の都合の良い情報だけを取捨選択し、まるで全体の総意のように喧伝する。こうした環境においては、あらゆる情報から真実だけを読み取ることは極めて難しく、コストの掛かる「ファクト・チェック」が重要視され、重宝される傾向にシフトしている点は興味深い。ウィルダム氏が指摘するBitcoin Unlimitedの問題は、ポスト真実の問題と合致しているように思える。

サトシ・ナカモトが取り組んだビットコインは、人の意思がプロトコルに影響しない「トラストレス」なネットワークとして、2009年からおよそ8年の間稼働してきた。ビットコインにおける「ファクト・チェック」とは、ビットコインのソースコードのピアレビューであり、障壁のないパブリックなネットワークにおける、トラストレスなブロックチェーンデータだといえるだろう。

結局のところ、Bitcoin Unlimitedは、いわば機械から人間への回帰だ。絶対的なプロトコルのコンセンサスを人間に移譲することで、ビットコインを柔軟にする。これには喫緊のブロックサイズ問題を解決しうる、という点でメリットもある。しかし、「ユーザーが自主的に設定値を変更し続ける必要のあるプロトコル」が長く続くだろうか？ Bitcoin Unlimitedの支持者は、こうした課題にどのように取り組むのかを再考し続ける必要があるだろう。

とはいえ、現在のマイニング手数料は180satoshis/byte。これは、平時のおよそ3倍を超える額で、平均的なマルチシグウォレットならば1トランザクションあたり70円近く支払わなければ、ネットワークに承認される可能性が低い（通常のトランザクションであれば、40~50円程度）。だからスケーラビリティの観点でいえば、まったく見過ごせない状況にあるのは変わらない。少なくとも、ブロックチェーンのデータを見ればブロードキャスト済みの未承認UTXOの数やサイズは、常態的に過去最高域に到達している。