星暁雄のブロックチェーン界隈ざっくり見て歩き

第3回

ハッシュのダンス〜BitcoinとBitcoin Cashの「分裂」騒動を振り返る

 映画「会議は踊る」の背景は、ヨーロッパ各国の利害対立により議論が何カ月も停滞していたウィーン会議だった。Bitcoinの仕様改訂をめぐる議論にも長い空白期間があり、「分裂」騒動があり、その結果誕生したBitcoin Cashも分裂して「ハッシュ戦争」を繰り広げた。一連の出来事は、ハッシュパワーを権力の一種として行使できると考えた人々による「ハッシュのダンス」だった。

 今回の記事では、2017年にBitcoinで起こったスケーリング論争の結果起きた「分裂」騒動を中心に、その前後に起きた複数の事件を取り上げる。関連して2018年11月にBitcoin Cashで発生した「ハッシュ戦争」にも触れる。私にとって楽しい話題ではないが、振り返っておくことは必要だとも考えている。

 最初に立場を明らかにしておきたい。一連の出来事は、次の3点において重要だと考えている。(1) Bitcoinの非中央集権の度合いを評価する材料となる。(2) パブリックブロックチェーンのエコシステムにおけるインセンティブの働き方を調べる材料となる。 (3) パブリックブロックチェーンのガバナンス(統治)を考える材料となる。起こった出来事の細部や是非を論じるのではなく、この3点の視点を中心に分析することが今回の記事の目的である。なお、文中「マイナー」とある箇所は「マイニングプール」と読み替えていただいて構わない。個別の出来事の詳細については、例えば参考記事1参考記事2参考記事3参考記事4などがより詳しい。

 ここで、非中央集権の度合いとは、ブロックチェーンの維持運営、統治に責任を持つノード、個人、組織が多数に分散している度合いを指す。パブリックブロックチェーンの分野で高く評価されているBitcoinとEthereumは非中央集権の度合いを高めることを目指している。

 また、ここでのインセンティブとは「ある行動を取ると報酬が得られる」「ある行動を取るとコストがより多く発生する」といった動機付けを指す。パブリックブロックチェーンを機能させるのに欠かせないものは、参加する当事者がどれだけ“ビザンチンに”行動しても──つまりお互い約束を守らず利己的に行動したとしても──全体がうまく機能するようなプロトコル設計とインセンティブ設計である。パブリックブロックチェーンを考える場合には、当事者の行動の是非とは別に、「その行動に耐えうる設計となっているか」が重要といえる。

 なお、今回の記事では、言説の引用は最小限にとどめる。はっきり申し上げるが、一連の出来事をめぐり飛び交った情報の中には、コミュニティの分断を図るフェイクニュースが多く含まれていたと私は考えている。ここでは風説を極力排除して、確認できる事実関係を材料に考えていくことにしたい。

スケーラビリティ論争の結果、問題が表面化した

 話は2015年にさかのぼる。当時、Bitcoinの開発者らは、Bitcoin上の取引の増大に対して、Bitcoinの仕様上の処理性能(単位時間あたりに処理可能なトランザクション数)が不足する問題をすでに懸念していた。そこで登場した対処法は大きく3種類ある。(1) Bitcoinのブロックサイズを拡大する(ビッグブロック仕様)。(2) SegWit(Segregated Witness)仕様でブロック上の電子署名のスペースを節約して実質的な処理性能を上げる。(3) レイヤー2(オフチェーン)で取引チャンネルを作るLightning Networkを開発する。なおLightning NetworkはSegWit仕様を前提としていた。

 この3案の中で、技術的にはブロックサイズ拡大が最も容易だった。Bitcoinのブロックサイズは1Mバイトに固定されているが、この上限を変えることで単位時間あたりに記録できるトランザクション数を増やすことができる。ただしブロックサイズ拡大にはハードフォークが必要となる点が問題とされた。残り2案は技術的な難易度が高く、特にLightning Networkが有効に機能するかどうか、当時は議論があった。一方で、SegWit仕様はソフトフォークで導入可能であるというメリットがあった。議論は尽きなかったが、まずブロックサイズ拡大案から動きが出てくることになる。

 いくつかの「事件」別に、ここで起こった出来事を見ていきたい。

事件1・Bitcoin XT有効化ならず

 2015年6月、当時Bitcoin Core開発者として著名だったGavin Andresenは、 Bitcoinのブロックサイズ拡張案である"BIP 101 Increase maximum block size"を発表。この仕様は、Bitcoin Core開発者Mike Hearnらが開発したBitcoin XTに取り込まれる形で世に出た。Bitcoin XTはマイナーの投票により、1000ブロック中75%の賛成票があれば有効化される予定だったが、この条件は満たされなかった。この時点では、多数派のマイナー達はビッグブロック仕様を否定する立場だったのである。ビッグブロック仕様に対するネガティブキャンペーンも展開されていた。例えば「通信帯域が低い中国の奥地のマイナーにとっては、ビッグブロック仕様による伝搬遅延が不利となる」といった言説だ。一連の出来事に絶望したMike Hearnは2016年1月に「Bitcoinはもうおしまいだ」とBlogで述べ、Bitcoin Core開発者の地位から降りた(参考記事)。後にMike Hearnは分散型台帳技術Cordaの開発に参加している。

 2015年の時点では、多数派のマイナーはビッグブロック仕様を推進する合理性が理解できなかった。別の言い方をすると、マイナーにとってBitcoin XTを積極的に有効化する正のインセンティブは感じられず、ネガティブキャンペーンに消極的に賛同するコストは低かったのである。

 ビッグブロック仕様という特定個人の案が却下された経緯は、Bitcoinの非中央集権の度合いがある程度高かったことを示している。別の言い方をすると、非中央集権の度合いが大きなパブリックブロックチェーンでは、プロトコル改訂のための合意形成が難しい場合があるという落とし穴が、ここで表面化した。

事件2・香港合意が発表されるが事態は動かず

 この出来事の後、2016年2月に香港でBitcoin Core開発者らの一部とマイナーらが非公開の会合を開き、「Bitcoinのブロックサイズを2Mバイトに拡大することとSegWit仕様の有効化で合意した」と発表した。ここで署名した人々の名前には、BitmainのCo-CEOだったJihan Wu、Bitcoin Core開発者のPeter Toddらも含まれている。

 もっとも、この会合に参加しなかったBitcoin Core開発者のGavin Andresenは後に合意の正統性に疑問を投げかけている。つまり香港合意はBitcoin Core開発者グループの総意とまではいえなかった。

 結果として香港合意は実施されなかった。

事件3・SegWit仕様有効化ならず

 2015年12月に"BIP 141 Segregated Witness(SegWit)"仕様案が登場している。トランザクション展性と呼ぶ脆弱性を解消するとともに、電子署名をまとめることでトランザクションの記憶に必要なサイズを節約し、ブロックサイズ拡大と同様にスケーラビリティ問題を緩和するものと期待されていた。テストネットでの長い試用期間を経て、2016年10月、Bitcoin Core 0.13.1に含まれる形でSegWit仕様は公開された。この段階ではまだBitcoinのネットワークで有効化されていた訳ではない。

 公開されたSegWit仕様はマイナーによる投票を経て有効化される手続きに入った。ところが、先のBitcoin XTと同様にSegWit仕様は有効票が伸びず、少数派のままの状態が続いた。背景には、SegWit仕様に関するネガティブキャンペーンが展開されていたことがある。例えば「SegWit仕様とLightning Networkでマイナーの手数料収入が減る」といった言説だ。明らかなフェイクニュースも含まれていた。

 多数派のマイナーはSegWit仕様の合理性を理解できず、積極的に有効化に賛同するインセンティブは薄かった。逆にSegWit仕様のネガティブキャンペーンに乗るコストは低かった。関連して「香港合意が実行されない以上、SegWit仕様を支持する訳にはいかない」と面子を重んじていたとの見方もある。これとは別に、ASIC Boostと呼ぶマイニング機器の効率を上げるハックがSegWitにより無効化されるのでネガティブキャンペーンが展開されたとの見方もある。

 解釈はさまざまだが、いずれにしてもマイナーにはSegWitを積極的に有効化する正のインセンティブが欠けており、消極的に拒絶する負のインセンティブはあったのだろう。それに拒絶するだけならコストは発生しない。

 またSegWit仕様の拒否のため、多数派のマイナーが結託することはできた。これはBitcoinのエコシステムが非中央集権の度合いをより高める余地があったことを示している。

事件4・Bitcoin Unlimited有効化ならず

 2017年3月、中国BitmainのJihan Wuと、Bitcoin.comのCEOだったRoger Verが、多数派のマイナーのハッシュパワーを集め、Bitcoinの派生版でビッグブロック仕様を取り入れたBitcoin Unlimitedを有効化すると発言した。例えばRoger Ver氏は2017年3月9日にBloombergの記者に対して「Bitcoin Unlimitedをアクティベートさせるためにはマイナー(採掘者)の60%もしくは70%の参画がわれわれには必要だ。他と合わせれば、現時点で既にわれわれのゴールまでの中間地点に近いといえよう」と語っている(参考記事)。もっとも、具体的な行動は実施されなかった。十分なハッシュパワーが集まらなかったと考えられる。

 3月18日、仮想通貨取引所18社がBitcoin UnlimitedのシンボルをBTUにすると発表した(参考記事)。もしBitcoin Unlimitedが有効化されたとしても、それはBitcoin(BTC)ではなく別の仮想通貨である、と取引所が宣言した形となる。その後、Bitcoin Unlimited有効化の話は立ち消えになってしまう。

 多数派のマイナーにとってBitcoin Unlimitedを有効化するインセンティブは低かった。一方、有効化に伴うコストは明らかに高い。例えばメインチェーンの混乱でBitcoinの送金をしばらく止めないといけない。また有効化のためにハッシュパワーを投入する(マイニングする)ことで通常のBitcoinのマイニングより収益が下回る可能性があった。さらに仮想通貨取引所が「Bitcoin UnlimitedはBitcoinではない」と認定したことにより、Bitcoinより低い市場価格しか付かなくなることは明らかだった。

 この事態は、Bitcoinの非中央集権の度合いがある程度高かったために、少数の人々が提案したBitcoin Unlimited有効化が支持されなかったと解釈できるだろう。

事件5・UASFの登場とNYAによる妥協案

 事態を動かしたのはUASF(User Activated Soft Fork)だった。3月12日、匿名の人物が開発したBitcoinの追加仕様案である"BIP-148 User Activated Soft Fork(UASF)"が公開された。これを実装したUASFノードのソフトウェアが公開されて、有志がノードを立ち上げる活動が展開された。最盛期には1000以上のUASFノードが立ち上がっていた。UASFノードとは、「2017年8月1日以降に非SegWitブロックをリレーしないノード」である。

 私は、この活動を「非中央集権型のストライキ」と呼んだことがある。もし期日の8月1日までにBitcoinにSegWit仕様がアクティベートされない場合、UASFが発動し、メインチェーンはいつreorg(ブロックチェーン再編成)があるか分からない「無期限ストライキ」状態に突入する。活動には、司令部のような中心がなく、有志がP2PクライアントであるUASFノードを動かすだけだ。中心がないPure P2Pの特性により、だれかの意思でこの活動を止めることはできない。その結果は「SegWit仕様が有効化されずUASFが発動する」か、「SegWit仕様が有効化されてUASFが発動しない」かのどちらかである。それ以外の妥協はない。

 このUASF発動を回避するため、NYA(ニューヨーク合意)と呼ぶ動きが出た。2017年5月23日、有力マイニングプール運営会社を含む50数社が、「UASF回避のためSegWit仕様を有効化し、11月にブロックサイズを2倍に拡大するハードフォークを実施する」という妥協案で合意した(声明文)。NYAの合意に基づき、実際に多数派のマイナーがSegWit仕様を有効化した。これによりUASFの発動は回避された。

 もしSegWit仕様を期日までに有効化しない場合、UASFが発動して、当事者全員がBitcoinネットワークの混乱という代償を払う必要があった。つまりすべてのマイナーにとってSegWit仕様の有効化に向けた正のインセンティブがあった。また、NYAという大義名分があり、それまでのSegWitのネガティブキャンペーンを翻すことで面子が潰れる問題も解決されていた。

 非中央集権の視点で見れば、UASFという非中央集権型の行動により、多数派の当事者がSegWit有効化で結託した構図になる。イレギュラーな事態ではあるが、ここに至る膠着状態を打開する上ではUASFは有効だったといえる。

事件6・UAHFでBitcoin Cash誕生

 UASFが発動したかもしれない日付である2017年8月1日にBitcoin Cash(BCH)がハードフォークした。SegWit仕様を拒否し、ビッグブロック仕様を取り入れたものである。当初、一部のマイナーが赤字採掘で支え、やがて他のマイニングプールも参加した。

 このハードフォークは、Jihan WuがUASFに対抗するため呼びかけたUAHF(User Activated Hard Fork)と呼ぶ活動に呼応して、一部有志が勝手に起こしたハードフォークである、ということになっていた。もっとも一連の出来事を見ると、このハードフォークは2017年3月に一回頓挫したBitcoin Unlimited有効化計画を練り直したものと考えた方が理解しやすい。

 Bitcoin Cash誕生はイレギュラーな事態だった。マイナーは当初は赤字でマイニングしてBitcoin Cashのブロックチェーンを支えなければいけなかった。これは資金力と意志がなければ成り立たない行動である。この段階では非中央集権の度合いは非常に低い。

 赤字を出してまで採掘するからにはインセンティブがあるはずである。Bitcoin Cash誕生時点での最大のインセンティブは、誕生したばかりの仮想通貨であるBitcoin Cashにそれなりの市場価格が付いたことだ。Bitcoinの分岐として社会的に注目を集めたことも大きかったし、UASFをめぐり仮想通貨業界が騒然としていたことも、Bitcoin Cashの知名度を上げる背景となった。この後「フォークコインを作ると儲かる」との考え方が広がり、Bitcoinから派生したフォークコインが乱立した。

事件7・BitcoinとBitcoin Cashでハッシュパワーを奪い合う

 2017年秋頃には、BitcoinとBitcoin Cashでハッシュパワーを奪い合うシーソー現象が見られた。Bitcoinの採掘難易度は約2週間ごとに調整する仕様である。一方、Bitcoin Cashは当初は1ブロックごとに採掘難易度を調整するアルゴリズムを採用していた。つまり、Bitcoin Cashは採掘難易度が敏感に動きやすい性質を持っていた。

 マイナーの収益は採掘難易度と仮想通貨の市場価格で決まる。Bitcoin Cashの難易度調整が進み採掘難易度が低くなると、BitcoinよりもBitcoin Cashを採掘した方が収益性が良くなる。そうなった段階でマイナーはいっせいにBitcoin Cashにハッシュパワーを振り向ける。それによりBitcoin Cashの採掘難易度は急上昇し、今度はBitcoinを採掘した方が収益性が良くなる時期が訪れる。そこでマイナーは今度はいっせいにBitcoinにハッシュパワーを振り向ける。このようなハッシュパワーのシーソー現象が起きた。

 極端にハッシュパワーが上下するので、通常10分間のはずのBitcoinのブロック間隔が3時間以上になるような現象も起きた。2017年11月13日にBitcoin CashのDAA(難易度調整アルゴリズム)の改訂がありハッシュパワーのシーソー現象は収まった。

 DAAの改訂でシーソー現象が収まったことから、このシーソー現象は特定の個人や組織が意図した行動だったと考えるよりも、Bitcoin Cashの採掘難易度調整アルゴリズムが敏感すぎ、そこに経済合理性を追求するマイナーの判断と合わさり、一種のオーバーシュート現象が繰り返されていたと説明した方が合理的といえる。物理系や電気回路に親しみがある方であれば「振動や発振が起きていた」と表現すると実感が伝わるだろう。

BitcoinとBitcoin Cashのシーソー現象。2017年10月15日から2017年11月14日までの推移を示す。一時期はBitcoin CashのハッシュパワーがBitcoinを上回ったが、すぐ元に戻っている。出典: fork.lol

事件8・SegWit2xがキャンセルされる

 NYA(ニューヨーク合意)では11月にSegWit2xと呼ぶハードフォークを実施することになっていた。ところが、Bitcoin Core開発者は一人もNYAに参加していなかったし、それどころかBitcoin Core開発者らはSegWit2xハードフォークの計画が危険だとしてボイコットを呼びかけた。SegWit2xの開発の進捗は良くなかったこともあり、実施直前にこのハードフォークはキャンセルされた。

 この時期、SegWit2xのメーリングリストでは「Bitcoinのメインチェーンを乗っ取る方法」といった物騒な議論が展開されていた。ただし、いずれも言説止まりで具体的な行動に結びつくものではなかった。振り返ると、このような暴力的な言説の流行が後のBitcoin Cashの分裂に結びついていたと考えることもできる。開発リポジトリの活動が活発でないプロジェクトの方が言説がより過激になる傾向があるようでもある。

 インセンティブの視点で考えると、NYAの参加者たちの大きな目的はUASF発動の回避で、この目的はすでに達成済みだった。そして、一部の人々にはビッグブロック仕様を実現するBitcoinを作る目的があったが、これもBitcoin Cashの誕生により達成済みだった。つまり、SegWit2xを推進するインセンティブが欠如していた。

 一方、SegWit2xを推進するのは困難な状況だった。Bitcoin Core開発者の支持は得られず、開発リソースは乏しかった。これらの事情によりSegWit2xは立ち消えになった考えられる。

事件9・Bitcoin ABCとBitcoin SVが分岐、ハッシュ戦争を繰り広げる

 2018年11月15日に、Bitcoin Cashのクライアントソフトの一つBitcoin ABCのハードフォークが予定されていたが、互換性がないクライアントソフトBitcoin SVが登場し、ブロックチェーンが2本に分岐した。その後Bitcoin ABC側、Bitcoin SV側がそれぞれハッシュパワーを競う 「ハッシュ戦争」と呼ぶ現象が起きた。

 私は「マイナーは経済合理性がない行動を取る場合がある」事例として今回のハッシュ戦争を捉えている。ハッシュ戦争をインセンティブの視点から合理的に説明できないからだ。

 Bitcoin ABC、Bitcoin SVの両陣営とも、分岐の初期段階では赤字採掘の状態だった。つまり、マイニングで得られる仮想通貨の価値より、投入する電力コストの方が大きかった。経済合理性を重視するなら、あえてハッシュパワーを下げ、難易度調整アルゴリズムが働き採掘難易度が下がるのに任せた方が良かった。実際、2017年8月にBitcoin Cashが誕生した時には、マイナーはそのような行動を取っている。ここで2018年11月のハッシュ戦争のグラフを見ると、Bitcoin ABC側は何回かハッシュパワーを下げようとしているが、Bitcoin SV側のハッシュパワーに抜かれる度にハッシュパワーを増強しているように見える。

Bitcoin Cashの「ハッシュ戦争」でのハッシュパワー絶対値の推移を示すグラフ。橙色がBitcoin ABC、赤色がBitcoin SV。出典:coin.dance

 赤字を出してまでハッシュパワーを増強した大きな理由は「相手側陣営の攻撃を警戒した」ことだろう。実際に、2018年5月には、Bitcoin Goldへの51%攻撃や、モナコインへのBlock withholding attackという事件が発生していた。ハッシュパワーが小さい場合、これらの攻撃の危険は増大する。

 一方、経済合理性の視点で考えると、ここでハッシュパワーを競う意味はほとんどない。「ハッシュパワーが上回る方がより正当なBitcoin Cashの後継者と考えられやすい」「ハッシュパワーが上回った仮想通貨の方が市場価格が高く評価される可能性が高い」という以上の合理性は、私には考えつかない。

 Bitcoin ABCとBitcoin SVには互換性がなく、ブロックチェーンを維持するだけのハッシュパワーを投入すればそれぞれ生き残れたはずである。また、Block withholding attackのようなハッシュパワーを投入した攻撃の影響は一時的なものだ。「ハッシュパワーを使った攻撃で相手側のブロックチェーンを潰す」といった言説は流れていたが、そのような手法の有効性は実証されていない。また本当に攻撃するなら黙って実行した方が効果的である。心配しすぎではないだろうか。

 ハッシュ戦争の一つの解釈は、お互いの示威行為の結果として生じた行動だったということである。口げんかが口先だけでは済まず、殴り合いとなった。

 非中央集権の度合いについて考えると、ハッシュ戦争に参加している両陣営は、それぞれ特定の考え方を持つ勢力が結託してハッシュパワーを集めた。両陣営とも非中央集権の度合いは低い。

 ガバナンスの視点からは、Bitcoin Cashは開発者とマイナーの距離が近く意思決定上の問題は起こりにくいと思われていたが、実際には2勢力に分裂してしまった。パブリックブロックチェーンを運営する人々──開発者、マイナー、利用者──は一種の自律分散型組織を形成していると考えられているが、法人のように法的根拠がある訳ではなく、意見が割れたときの解決手段が用意されていない。

 以上、いくつかの出来事を見てきた。ここから、パブリックブロックチェーンのガバナンスには未解決の課題があることが分かる。Bitcoinは多数決原理による意思決定に基づき仕様改訂する方針だったが、多数派のマイナーが結託してプロトコルの改訂を阻む時期が長く続いた。人々は経済合理性だけで行動するのではなく、非合理的な行動をする場合もある。フェイクニュースなどでコミュニティが分断されている場合はなおさらである。UASFはマイナーの結託に対抗する有志によるストライキとして有効だったが、緊急避難的な手段であって何回も使えるわけではない。

 また非中央集権の度合いが低い場合でも、Bitcoin Cashのように意見が割れる場合がある。特にフェイクニュースで意見の対立が煽られていると非合理的な行動が起きやすい。

 新しく登場したパブリックブロックチェーンでは、Tezosのように「オンチェーンガバナンス」、つまり機械的な投票の仕組みによりプロトコルを改訂する機能を取り入れているものが登場している。パブリックブロックチェーンには未解決の課題が残っているが、課題を解決しようとする人々の取り組みも活発であることは強調しておきたい。

 「Bitcoinはもうおしまいだ」とMike Hearnが述べた後も、何度も起きた事件を乗り越えてBitcoinのパブリックブロックチェーンは動作し続けている。Bitcoinはかなりしぶとい。このことも強調しておきたい。

星 暁雄

フリーランスITジャーナリスト。最近はブロックチェーン技術と暗号通貨/仮想通貨分野に物書きとして関心を持つ。書いてきた分野はUNIX、半導体、オブジェクト指向言語、Javaテクノロジー、エンタープライズシステム、Android、クラウドサービスなど。イノベーティブなテクノロジーの取材が好物。