092015–2017
Blocksize War:Bitcoinのルールを変えてよいのは誰か
対立の始まりは英雄と悪役ではなく、満杯のブロックだった。終わりには複数のチェーンと、実践的な答えが残った。Hashpowerも企業も開発者も、単独ではノードが何を受け入れるべきか決められない。
一メガバイトは、速いコンピューターときちんとしたベンチマークで解決できる技術的な設定に見えた。しかし2015年までに、お金の将来像と、何がBitcoinかを言う権利のある人々をめぐる争いになった。Gavin AndresenとMike Hearnは大幅なブロック拡大を推した。Pieter WuilleやGregory Maxwellら開発者は、ノード運営者が払う代償を警告した。採掘者、取引所、投資家、匿名の利用者も圧力を加えた。Blocksize Warは一度の口論でも、二陣営の決闘でもない。提案、最後通告、会議、ソフトウェアの公開、期限が二年にわたり続き、各集団が、影響を与えられることと強制できることの違いを知っていく過程だった。
満杯のブロックと、二つの異なる懸念
利用が増えるとブロックは上限へ近づき、手数料が上がった。大きなブロックを支持する側は、高い手数料が日常の支払いを追い出し、Bitcoinを富裕層のネットワークにすると警告した。慎重な進め方を支持する側は、データと必要資源の急増で自宅のFull Nodeが難しくなり、検証がデータセンターへ集中すると警告した。
双方とも分散性を語ったが、測り方が違った。一方は取引の費用を払える人の数、もう一方はルールを独立に検証する費用を払える人の数だった。Bitcoin XT、Classic、後のUnlimitedは直接的な容量増加を約束した。SegWitをめぐる開発は、取引形式の変更と空間の効率的な利用を目指した。
一メガバイトの上限は自然法則でも、Bitcoinの元来の目的でもなかった。Satoshiが若いネットワークを巨大なブロックから守るため導入したものだ。聖なる定数を変えてよいかではなく、検証を最速の回線、最大のディスク、初回同期を待つ最大の忍耐を持つ人々へ移さずに、どれほど速く成長できるかが争点だった。小さな技術変更にも、誰が「ルールを自分で確かめた」と言えるのかという長期の構想が宿っていた。
AndresenのBIP101は、八メガバイトへ一挙に引き上げ、その後予測可能な形で上限を増やす提案だった。HearnはBitcoin XTに組み込み、二人は採掘者と利用者へ公に支持を呼びかけた。彼らには、取引の行列が満杯になることは安い電子現金という最初の約束への違反だった。小さな支払いのため新しい利用者が高い手数料で競わなければならないなら、日常に根づく前にカードに敗れると考えた。
反対側もBitcoinを小さく保ちたい人々ではなかった。Pieter WuilleはSegregated Witnessを提案し、Gregory Maxwellらは第二層や一バイトごとの効率化を語った。懸念は数歩先にあった。今日大きくしたブロックは、回線、保存、検証の負担を永久に増やす。自宅ノードが実用的でなくなれば、利用者は他人のサーバーを信じるようになる。両陣営ともアクセスしやすさを守ろうとしたが、取引の反対側を見ていた。
ニューヨークの合意
五月の2017年、大企業と採掘者の一団がNew York Agreementを発表した。SegWit2x計画は、SegWitの早期有効化と、その後の基本ブロックを二メガバイトにするHard Forkを結びつけた。署名者はHashpowerと取引量の大きな割合を代表するとし、主要企業の調整で対立を終わらせられるかのように振る舞った。
だが合意は、別のソフトウェアを動かす利用者を拘束しない。批判者が主に拒んだのは、非公開の会合がネットワークの名で互換性のない変更を約束できるという考えだった。採掘者はブロックを提案し、企業は名前を与えられる。それでもノードは無効だと判定できる。
元の発表は58社、22か国、Hashpowerの83.28パーセントを挙げた。重みのある数字だが、独立したノードや署名企業のサービス外でBitcoinを持つ人々の同意を測るものではない。SegWitと後のHard Forkの組み合わせは政治的な取引でもあった。双方が望むものの一部を得るはずだった。前半が有効化され、後半の対立が残ると、完遂を強制する制度がこの一式にはないことが明らかになった。
合意をまとめたのはDigital Currency Group創業者Barry Silbertで、場所はニューヨークのConsensus会議だった。取引所、ウォレット、決済、採掘企業の代表が同席し、SegWit2xの実装はJeff Garzikが率いた。長い争いに疲れた事業者には、大人の妥協に見えた。有力者がようやく期限に合意し、社名を署名した。しかしBitcoinには、その署名で特別多数が成立する会員名簿などなかった。
批判者が反応したのは二メガバイトだけでなく、決め方だった。Adam Back、Gregory Maxwellらは、短い期限で互換性のない変更を迫ることは、利用者に既成事実を突きつけると警告した。署名者は多数が使うサービスを支配し、採掘者はHashpowerの大半を提供できた。だが他人の部屋で動くノードの検証ルールを遠隔で変更はできない。最大手企業が何をBitcoinと呼ぶか発表できる一方、各ノードの持ち主には自分の拒否ボタンが残るという、奇妙な状況が生まれた。
UASF、BIP91、そして分裂しなかったチェーン
BIP148はUser-Activated Soft Forkを提案した。八月1日から参加ノードはSegWitのシグナルを出さないブロックを拒否する。危険を伴う圧力だった。経済的に重要な部分が別の側に残れば、競合する履歴や混乱した再編成が起こりえた。
しかし決定日より前に、採掘者はBIP91を通じて、SegWitのロックインへ向かう条件のシグナルを出し始めた。だから結果を一人の主体の功績とするのは誠実ではない。UASFの脅威が誘因を変え、採掘者がシグナルを調整し、既存のノードが互換性のあるSoft Forkのルールを適用した。SegWitは八月24日、2017年に有効化された。
BIP148のノードだけでSegWitを採掘したり、他者へ利用を強制したりはできなかった。期限後に特定の種類のブロックを受け取らないと、前もって約束できるだけだ。その力は、取引所、商人、ウォレット、そしてコインによってチェーンへ経済的な意味を与える保有者が従うかにかかっていた。UASFは調整ゲームにおける公の約束として働いた。効いたのは命令ではなく、従わないチェーンにはHashpowerがあっても買い手が少なくなるという、現実味のある可能性だった。
BIP148を公開したのはShaolinfryという仮名の開発者だった。人々はUASFの文字入りの帽子をかぶり、八月1日を独立記念日と呼び始めた。だがミームの裏には真剣な賭けがあった。採掘者がシグナルなしで続け、経済の重要な部分がBIP148へ従えば、一時的に履歴が分かれ、どの入金が有効なままか利用者にはわからなくなる可能性があった。ノードを動かす活動家が賭けたのは標語だけではなく、自分が安全にお金を受け取る能力だった。
James HilliardのBIP91は、期限前に採掘者が調整し、低い閾値でSegWitのシグナルをロックインする道を用意した。支持が急増すると、各陣営はそれぞれの読み方をした。UASF支持者は利用者の圧力が誘因を変えた証拠とし、採掘者は自分たちの調整を、New York Agreementの署名者は妥協案を挙げた。歴史には一団を取り除く対照実験はない。確かなのは、迫る衝突が皆に早く行動するよう促したことだ。
Bitcoin Cashは分かれ、SegWit2xは退いた
八月1日、より大きなブロックと独自のルールを持つBitcoin Cashが分岐した。元のノードを書き換えたのではなく、分岐点までの履歴を共有する、互換性のない新たなチェーンだった。その後、市場と利用者は両資産を別々に評価し、運用できた。
New York Agreementの後半は、十一月に二メガバイトのHard Forkを有効化する予定だった。主催者は十一月8日に停止した。混乱のない更新に十分な合意を得られなかったと認めたからだ。高いHashpowerのシグナルは、経済が新しいブロックをBitcoinとして受け入れる確実さには変わらなかった。
分岐の瞬間、両チェーンはそれまでの履歴と、未使用コインの同じ状態を共有した。分岐前に鍵を管理していた人は、その後、条件次第で両側の対応資産を動かせた。ただ、その地点からは異なる未来のブロックを受け入れ、それぞれのNetwork Effectを育てる。分裂は旧ノードへ有効な取引の定義の変更を強制しなかった。別のルールを支持する人に、自分の選択の費用と結果を担う機会を与えた。
Bitcoin Cashは大きなブロックの支持者へ、終わらない議論では得られないものを与えた。自分たちのルールで動くチェーンだ。取引所はティッカーを付け、ウォレットは取引のリプレイへの対策を扱い、保有者は新しいコインを売るか持つか無視するか決める必要があった。論争の一部はメーリングリストから市場へ移った。双方の価格、Hashpower、利用は、一人の勝者を決める一度の投票ではなく、継続的な判断を表し始めた。
SegWit2xは別のものになるはずだった。支持者は二メガバイトのチェーンにBTCの名前を継がせ、脇道ではなく本流の続きにしたかった。十一月が近づいても、クライアントの幅広い支持と、二つのチェーンを安全に扱う明確な計画は欠けていた。十一月8日、Mike Belshe、Wences Casares、Jihan Wu、Jeff Garzik、Peter Smith、Erik Voorheesは延期を発表した。より広い合意なしでは、統一したかったコミュニティをさらに分断すると認めた。
権力は消えたのではなく、分かれている
戦いはしばしば、利用者の完全な勝利とされる。より正確な結論は複雑だ。開発者は注目とコードの質、採掘者はブロックの順序、企業は流動性とブランド、利用者はソフトウェアと取引相手の選択を握る。単独ですべての手段を持つ集団はないが、他よりはるかに多く持つ集団はある。
そのときBitcoinは一つの数字で投票したのではない。コード、公の議論、事業判断、期限、分裂を賭ける意志を通じて調整した。結果は静かでも安上がりでもなかった。そこに意味がある。ルールが保たれたのは対立がなかったからではなく、最も目立つ会議室だけを説得しても変更には足りなかったからだ。
Nakamoto Consensusは共に受け入れたルールの内側で取引の順序を決める。Hashpowerの投票でルール自体を書き換える議会ではない。膨大な作業を伴うブロックを採掘者が作っても、自分のソフトウェアに違反すればノードは捨てる。だからルールの選択はBlockchain自体の外、コード、クライアントの版、価格、契約、誰と取引する意志があるかの中で行われる。Blocksize WarはBitcoinの簡単な憲法を発見しなかった。変更は可能だが、それを合意と呼ぶ権利は誰にも保証されない仕組みを示した。
どの側の人々も個人的な代償を払った。一月の2016年、Mike Hearnは実験は失敗したと公に離脱した。Gavin AndresenはBitcoin Coreでかつての地位を失った。開発者は攻撃的な運動、企業は不買、個人は技術的な不一致を人格試験に変える攻撃に直面した。勝者の物語は人を裏切り者と英雄に平板化しがちだ。多くの人が同じ目的の異なる像を守り、ときに自分では必要な防御と考える圧力を使ったと認めるほうが正確だ。
戦いの後、「合意」という言葉は慎重になった。採掘者のシグナルの単純な数、企業の一覧、主要開発者の賛同ではなくなった。十分な主体が変更を分裂より安全と考え、残りには対抗するルールを保つ意志や力がない状態を指した。洗練された投票制度ではない。離脱できることが肩書きのない人にも重みを与える、終わりのない交渉だ。同時に、その人のチェーンに価格、利用者、安全性が備わる保証は決してない。
Atlasの人物と用語
出典と、この物語で確認できる範囲
- 01BIP 101 — Increase maximum block size
上限の自動増加を提案した主要な正式案の一つ。
- 02BIP 141 — Segregated Witness
SegWitとBlock Weightの技術仕様。
- 03Digital Currency Group — Bitcoin Scaling Agreement at Consensus 2017
New York Agreementの原文と署名者一覧。
- 04SegWit2x Working Group — archived repository
SegWit2xの目標と実装についての当時の文書。
- 05
- 06BIP 91 — Reduced threshold SegWit MASF
八月1日より前にシグナルをロックインした採掘者の調整機構。
- 07Bitcoin ABC — UAHF technical specification
Bitcoin Cash分岐の当時の仕様。
- 08SegWit2x mailing list — Onwards
十一月8日、2017年、Hard Forkには十分な合意がないと伝えた発表。