著者コメント:私個人の見解では、BIP110は役に立たないだけでなく有害でもあり、実際には失敗すると予想している(本稿の「シナリオ1」を参照)。しかしながら、このソフトフォークの試みについて何らかの明確な理解を促せればと願っていることもあり、さまざまな可能性のあるシナリオを検討しながら、できる限り事実に基づいて本稿を執筆するよう努めた。
OP_RETURNをめぐる議論は、Bitcoin KnotsがBIP110を実装するところまでエスカレートした。BIP110はコンセンサス・プロトコルの変更であり、OP_RETURNのサイズを一時的に制限するとともに、ビットコインのブロックチェーン上に記録されるその他の種類のデータも削減することを意図している。
しかし、BIP110はコンセンサスを得ていない。そもそも解決すべき問題が存在するという点について、誰もが同意しているわけではなく、また、BIP110がその問題を意味のあるかたちで解決するという点についても、意見が一致しているわけではない。その一方で、BIP110はビットコインを潜在的に有害なかたちで制限する。もっとも明白な事実は、依然として圧倒的に広く使用されているビットコインの実装であるBitcoin CoreがBIP110を採用していないということだ。さらに、ここ数週間でBIP110への支持を表明しているハッシュパワーは、わずか1~2%に過ぎない。
それにもかかわらず、Bitcoin KnotsのようなBIP110ノードは、8月8日前後にマイニングされたと見込まれるブロック961,632以降、アップグレードへの支持をシグナルしていない(示していない)ブロックを拒否するようになる。
では、それが今後どのような展開になるのか? 以下に、考えられる主な3つのシナリオを見ていこう。
シナリオ 1:(ほとんどの)マイナーがシグナルを出さない
現在のマイナーのシグナリング状況が何らかの指標になるとすれば、これは予想されるシナリオのひとつだ。
Bitcoin Core、あるいはその他のBIP110を適用しないノードやウォレットを運用しているユーザー(ビットコイン・エコシステムの大多数だ)から見れば、ブロックは通常通りマイニングされ、トランザクションも通常通り処理されることになる。ソーシャルメディアなどを通じてこの出来事を積極的に追っていないユーザーは、何か異常なことが起きていることにさえ気づかないかもしれない。そして、実際的な意味において、彼らにとっては本当に何も起こらない。BIP110は彼らには影響を及ぼさないからだ。
しかし、Bitcoin Knotsやその他のBIP110を強制するノードを運用しているユーザーにとっては、そうではない。彼らのソフトウェアはシグナルを出していないブロックを拒否するため、基本的に新しいブロックをまったく確認できなくなる(あるいは、週に数個程度しか確認できなくなる)うえ、送受信するトランザクションも承認されなくなる(あるいは、承認までに極端に長い時間がかかる)。実質的に、これらのノードは停止し、使用できなくなる。
このような事態が起きた場合、BIP110の支持者たちは、状況が自分たちにとって改善するかどうかを待つ(シナリオ3を参照)、諦める(BIP110を使用しないソフトウェアに戻す)、あるいは別のプロトコル変更を導入する、という選択を迫られることになる。例えば、別のプルーフ・オブ・ワーク(PoW)マイニング・アルゴリズムへハードフォークするといった方法だ。
このようなハードフォークを行なえば、GPUによるマイニングが再び可能になり、より多くの人々が新しいブロックをマイニングできるようになり、BIP110のルールが適用されるブロックチェーンを生成できるようになる可能性がある。しかし、これは同時に、BIP110/ハードフォークのノードがビットコイン・エコシステムの他の部分から恒久的に分離し、事実上新しい暗号資産を生み出すことを意味する(詳細は後述)。

シナリオ 2:(ほぼ)すべてのマイナーがシグナルを出す
これは、BIP110の著名な支持者の多くが予測しているシナリオだ。
このシナリオでは、必須のシグナル送信期間が始まると、すべてのマイナーが突然BIP110のシグナルを出すことになる。あるいは少なくとも、マイナーの大多数がシグナルを出し、シグナルを出していないブロックを拒否するため、最終的にブロックチェーンに組み込まれるすべてのブロックにBIP110のシグナルが含まれることになる。
もしこれが起きれば、すべてのビットコイン・ノード(KnotsとCoreのどちらも)は互換性を維持することができ、ブロック内のシグナルは、マイナーが2週間後にBIP110のルールの適用を開始する予定であることを示すことになる。9月初旬までには、BIP110に違反するトランザクションはもはやブロックに取り込まれなくなるはずだ。
本質的には、これがBIP110にとっての成功シナリオだ。開発者、マイナー、ユーザーのごく一部だけがこれを推進したにもかかわらず、アップグレードがネットワーク全体で発動することになる。
……しかし、このシナリオにおいても重要な注意点がある。
ブロックチェーン上でのシグナリングは、ソフトフォークを導入する際の有用な調整メカニズムではあるが、技術的には、新しいルールが実際に適用されることを保証するものではない。マイナーは、BIP110のソフトウェアを実際には使用していなくても、アップグレードへの支持をシグナルすることができる。例えば、必須のシグナリング期間中にBitcoin Knotsのノードから自分たちのブロックが拒否されないようにするためだけに、そうすることを選択する可能性もある。
しかし、ビットコインのプロトコル・ルールは最終的には経済的ノードによって執行される。そして現時点では、たとえすべてのブロックにシグナルが含まれていたとしても、これらのノードの大半がBIP110のルールを適用することを示すものは何もない。したがって、その後、BIP110に違反するトランザクションが大半のマイナーによって受け入れられてしまった場合、これらの経済的ノードはそうしたトランザクションを含むブロックを受け入れることになる一方で、BIP110ノードはそれらのトランザクションを受け入れないことになる。そして結局のところ、ブロックチェーンは、BIP110を適用するノードと適用しないノードとの間で分裂することになる。

シナリオ 3:かなり少数派のマイナーがシグナルを出す
これは、直ちにチェーンを分裂させるシナリオだ。
現在、BIP110への支持をシグナルしているマイナーは約2%に過ぎず、おそらくこれは意味のある割合とは言えない(「シナリオ1」を参照)。しかし、これが急速に10倍程度まで増加すると想像してみよう。また、このかなりの少数派自身が、シグナルを出していないブロックを拒否することも想定する必要がある。そうでなければ、BIP110ノードが停止してしまう「シナリオ1」と区別できないからだ(BIP110ノードは、すべてのブロックにシグナルが含まれることを必要としている)。
この相当数の少数派がシグナルを出すと同時に、シグナルを出していないブロックを拒否するのであれば、彼らはシグナルを含むブロックだけで構成された、独自の少数派ブロックチェーンを構築し始めることになる。この少数派チェーン上のブロックは、通常よりも大幅に遅いペースで承認されることになる。おそらく1時間に1〜2ブロック程度だろう。しかし、BIP110のノードは引き続き十分に実用可能な状態を保つ。そして、数カ月後にはマイニング難易度が調整されるため、再び1時間当たり6ブロックに近いペースでブロックが見つかるようになる。さらに数週間後、BIP110のルールが発動することになる。
一方、Bitcoin Coreやその他のBIP110を適用しないノードも、ほぼ通常通りに稼働し続けることになる。これらのノードのブロックは、しばらくの間は少し遅いペースで承認される。おそらく1時間に4〜5ブロック程度だろう。しかし、こちらも数週間後にはマイニング難易度が調整され、平均して1時間に6ブロックという状態に戻ることになる。このブロックチェーンでは、BIP110のルールが発動することはけっしてない。
その結果、BIP110のブロックチェーンと、従来のルールを維持するブロックチェーンが、ふたつの異なる暗号資産として並存し、その状態が無期限に続くことになる。
ただし、このシナリオにも注目すべき注意点がひとつある。もし後になって、マイナーがBIP110チェーンに移行したことによって、BIP110チェーンの長さが元のチェーンの長さを追い越した場合、すべてのノード(CoreもKnotsも同様に)がBIP110チェーンを唯一のチェーンとして受け入れることになる。この場合、元のチェーンは破棄される。つまり「消滅する」ことになる。
この一方的な「消滅リスク」こそが、BIP110の支持者たちが、チェーンの分裂を防ぐために、すべてのマイナーにあらかじめシグナルを出すことを期待している理由なのだ。彼らの主張によれば、マイナーは、後になって破棄される可能性のあるブロックチェーン上でマイニングしたくないはずだという。なぜなら、その場合、そのブロックチェーンで獲得したすべてのブロック報酬を失うことになるからだ。
しかし実際には、元のチェーンが消滅するのを防ぎたいユーザーやマイナーは、それを防ぐことができる。具体的には、BIP110のチェーンがまだ少数派チェーンである間に、そのBIP110チェーン上の任意のブロックを手動で無効化することができるのだ。こうすることで、そのノードは、将来のどの時点かでBIP110チェーンがより長くなったとしても、そこへ切り替えることを拒否するようになる。その結果、チェーンの分裂を恒久的なものにすることもできる。
では、チェーンが永久に分裂した場合、いったい何が起こるのか?
ビットコインのブロックチェーンが恒久的に分裂すると、本質的にはその時点で新しい暗号資産、つまり「フォークコイン」が誕生することになる。分裂した時点でBTCを保有している人は全員、新しいブロックチェーン上で同等数量のコインを自動的に受け取ることになる。これは、2017年にビットコインとBitcoin Cashの間で起きたことと似ている。
しかし実際には、こうしたことは必ずしもそれほど単純ではなく、上記のいずれかのシナリオによってBIP110がチェーン分裂を引き起こした場合、何らかの複雑な問題が生じる可能性が高い。
まず、どちら側のチェーンが「ビットコイン(BTC)」で、どちら側が新しい「フォークコイン」なのかについて、ほぼ間違いなく意見の対立が生じるだろう。ただし、おそらく大多数の人々は従来のルールを維持するブロックチェーンを「ビットコイン」とみなし、一方でBIP110のルールに基づくブロックチェーンは別の名称で呼ぶことになるだろう。ここではひとまず、それを「BIP110コイン」と呼ぶことにする。
その場合、BIP110コインにアクセスするには、実際にBitcoin KnotsのようなBIP110専用のソフトウェアが必要になる。新しいコインは、Bitcoin Coreのノードやほとんどのウォレットには表示されない。
しかし、現在のBIP110にはリプレイ攻撃に対する保護機能(リプレイ・プロテクション)が含まれていない。これは、一方のチェーン上で行なわれたトランザクションを、もう一方のチェーン上でコピーして「リプレイ」できてしまうことを意味する。ユーザーはBTCだけを送ったつもりでも、知らないうちに、BIP110チェーン上の同一のアドレスへ、同額のBIP110コインまで送ってしまう可能性がある。あるいは、その逆もまた起こりうる。
現時点では、このフォークコインがどれほどの価値をもつのか、あるいはそもそも価値をもつのかどうかさえ、予測することは難しい。「フォーク先物契約」を通じてBIP110コインを購入しようとすることへの関心がほとんどないことは、分裂後にもBIP110コインを購入したいという需要がそれほど大きくない可能性を示唆している。それでも、もしBIP110コインが存在することになった場合に、確実にそれを受け取りたいのであれば、BTCを自己保管する(秘密鍵にアクセスできる状態にしておく)のが、おそらく最善だろう。そして、状況が落ち着き、今後どのように対応すべきかが明確になるまでは、いかなるトランザクションも送信しないことが望ましい。
Aaron van Wirdum(アーロン・ヴァン・ウィルダム)は「BITCOIN MAGAZINE」の元編集長であり、著書に『The Genesis Book:Story of the People and Projects That Inspired Bitcoin』がある。
では、チェーンが永久に分裂した場合、いったい何が起こるのか?