<この記事(ページ)は 10分で読めます>
2017年の夏、ビットコインのハードフォーク問題が話題を集めました。8月1日の危機が去り、ビットコインキャッシュが生まれるという結末となりましたが、ビットコインのSegWitをめぐる問題が解決されたわけではありません。
一体、8月1日の危機はなんだったのか。SegWitをめぐるビットコインの行方はどうなるのか。ここで現状を整理してみましょう。
8月1日危機の経緯
そもそもビットコインは、ユーザーの増加に伴いブロックサイズの問題が生じていました。この問題の解決策として、大きく「ビッグブロック派」と「SegWit派」に意見が分かれていました。詳しくはこちらをご覧ください。
「ビッグブロック派」は、ブロックサイズ問題の解決のためビットコインのトランザクションを記録するブロックのサイズの上限を大きくする、ということを主張しています。
例えば、現在では1つのブロックの上限が1MBと定まっているのですが、取引量がもうすぐ1MBに達してしまいそうだという状況を考慮すると、このままでは多くの問題が生じます。
具体的には、多くの取引において、①承認が確定するまでに大幅に遅延が生じること、②取引は承認手数料の大きいものから順にブロックに取り込まれていくため、手数料の小さい取引が永遠にブロックに取り込まれず取引が完了されないこと、③取引が実際に承認されるのに必要な手数料の額が高騰すること、これらの問題が生じます。
これに対処するため、ブロックサイズの上限を2MBに引き上げることを提唱している人たちがいるのですが、この人たちのことを「ビッグブロック派」と呼びます。ブロックサイズの引き上げの特徴としては、後戻りができなくなるハードフォークでしか実行できないということが挙げられ、ここが議論の的となってきます。
「SegWit派」は、ブロックサイズの上限を変更せず、ブロック内で扱えるトランザクションのデータを大きくすることを目指していて、SegWitとはそれを可能にする技術の名称です。
具体的には、SegWit非対応の場合ではトランザクションのデータと電子署名などの認証に関わるデータがともにブロック内に埋め込まれますが、SegWit対応の場合ではトランザクションのデータのみをブロック内に埋め込むため、1つのブロックで収容できるトランザクションの個数を多くすることができます。この技術の特徴としては、ビッグブロックがハードフォークであるのに対して、こちらはソフトフォークであること、そして長年のビットコインの脆弱性として指摘されてきたトランザクション・マリアビリティの問題を解決できるということがあります。
これによりトランザクション・マリアビリティ(https://cripcy.jp/fintech-system/about_transaction_malleability)という弱点のせいで開発が断念されてきたLightning Networkの開発が可能となります。これは、小口のトランザクションについては、ビットコインのメインのブロックチェーンの外で扱うという技術で、これにより少額の取引の際にも高い手数料を求められることがなくなります。
中心となる人々は誰か?
このような特徴を踏まえたうえで、それぞれどのような人が中心となっているか説明します。あくまで中心となっているだけであり、この説明に該当しない人も十分いることをここで断っておきます。
一言でいうと、「ビッグブロック派」はマイナーや中国系の大きなマイニングプールの関係者が中心です。こういった人々は、ビッグブロックから大きな利益を享受するわけではないのですが、SegWitが実装された場合に被る不都合が大きいためビッグブロックを提唱しているというのが大きいようです。
例えば、中国のマイニングプールにより提供されているASIC BOOSTというマイニングを高速化する技術がSegWitの実装で使用できなくなること、Lightning Network開設に伴い小口のトランザクションからの手数料収入が得られなくなること、などが不都合として挙げられます。
これに対して「SegWit派」は、ビットコインのコアデベロッパーなどが中心となっています。ビットコインの理念としてハードフォークは避けたい、そして中央集権化を避けたいという傾向があります。ASIC BOOSTという技術は中国の一部の企業でのみ用いられていて、この技術によりマイニングのスピードが劇的に向上するためマイニングが寡占状態になるという点で懸念されていましたが、SegWitを導入することでASIC BOOSTを使用できなくさせることができます。さらに、ブロックのサイズを大きくすればデータが重くなり、マイニングに参入できるマイナーが少なくなるという心配がありますが、SegWitではブロックのデータの大きさ自体は変化しないためそのような問題はありません。このような理由で、SegWitは権限の分散化に貢献するという理由でコアデベロッパーからの支持を集めています。
このようないきさつでビッグブロック派とSegWit派で見解の不一致があったのですが、SegWitを受け入れようとしないマイナーたちに業を煮やしたコアデベロッパーたちは、マイナーたちがSegWitを適用せざるを得ない状況にすることを画策し、BIP148(Bitcoin Improvement Proposals148)を採択しました。これがUASF(User Activated Soft-Fork)で、ユーザーの利益のためにソフトフォークであるSegWitを導入するということです。具体的には、クライアントにSegWitを採用していないブロックについては承認しないよう仕様を変更しました。このままマイナーたちがSegWitを適用しなければ、トランザクションが正常に扱われないかもしれないという懸念がユーザーの間に広がりました。
これが8月1日危機の概要です。
NYA(ニューヨーク合意)とは
このような危機を前にし、対策として折衷案が提案されました。これが2017年5月に発効したNYA(NewYork Agreement)で、この中でBIP91について参加者のコンセンサスが得られました。
BIP91には2つの内容が盛り込まれていて、1つ目はSegWit2xの導入、2つ目はBIP9の改訂です。
SegWit2xとは、まさにビッグブロックとSegWitのハイブリッドで、2017年8月にSegWitを導入し11月にブロックサイズの上限を2MBに引き上げるというものです。
BIP9とは、ソフトフォークに関する意思確認の際マイナーの95%の合意が必要だという内容だったのですが、この95%を80%に引き下げるというものです。ちなみに、元来は意思確認の用途を意図されていなかったシグナリングという技術がマイナー側に故意に政治目的で使用されていたため、便宜的にそのような表現をとりました。
これにより、いったんは8月1日危機が去ったかに見えました。しかし、このNYAにコアデベロッパーたちが参加していなかったのです。そして、コアデベロッパーたちはSegWit2xに猛反対しているのです。
なぜなら、SegWitでは使用できなくなるはずのASIC BOOSTがSegWit2xでは使用できるということがほぼ確定したからです。現に中国系のマイニングプールは、こぞってSegWit2xに賛成していて、そのうえSegWit2xでASIC BOOSTが使用できるのかという質問に対して答えをぼかしています。
このように、コアデベロッパーと大手マイナーとの間に深い溝が生じたまま、2017年7月21日にBIP91のロックインが確定します。
ビットコインの分裂
こうしたなか、2017年8月1日にビットコインキャッシュがビットコインからのハードフォークで誕生しました。これはSegWit2xとはまったくの別物で、SegWitせずにブロックサイズの拡大を行うハードフォークで新しいアルトコインとなったため、UAHF(User Activated Hard-Fork)と呼ばれています。
ビットコインキャッシュは、ブロックサイズを最大8MBまで拡大することを検討していて、ハードフォーク時点で全ビットコインの保有者に同額のビットコインキャッシュを付与しました。
Xデーとも呼ばれ、危機的状況も予想されていた8月1日の出来事なので、ついSegWit2xに何か起きたと勘違いしそうですが、これはSegWit2xに関する合意に悪影響が出るものではありません。
SegWit2x 推進派 VS. コアデベロッパー
コアデベロッパーとの間で確執を残したまま、8月24日にはSegWitがアクティベートされ、さらに11月のハードフォークに向けてマイナー主導で準備が進められます。その一つとして、マイナーによるbtc1の採用があります。
btc1とは、SegWit2x推進派の作成したクライアントのことです。なお、クライアントとは、パソコンなどの端末上でウォレットを作動させるためのソフトウェアのシステムのことです。クライアントによってダウンロードするブロックチェーンの量など細かい機能に差があります。例えば、btc1はBitcoin Core同様フルノードを対象としたクライアントで、すべてのブロックチェーンのデータを保持しているため第三者のネットワークに依存しません。btc1をクライアントとして使うユーザーの数が大多数となることで、コアデベロッパーの発言力を低下させることがSegWit2xの支持者の目標です。
これに対し、コアデベロッパーたちは、SegWit2xに対する批判を行っています。その内容として、
①反対意見が数多くあるのにビットコインのルールを強引に変更しようとしている
②SegWitを適用することとブロックサイズの拡大との間に関連が見出せない
③ハードフォークが行われる際リプレイ攻撃を防ぐ対策がなされていない
といったものが挙げられました。
リプレイ攻撃とは、ハードフォークが行われる際、片方のブロックチェーンでトランザクションが行われるとその電子署名など認証に関わるデータを用いてもう一方のブロックチェーン上で本人の意志に反したトランザクションがハッカーの手により行われることです。
さらにコアデベロッパーたちは、批判にとどまらずSegWit2xのクライアントのbtc1との接続を打ち切り、ノードの明確化を図るようBitcoin Coreのクライアントの仕様を変更しました。現在Bitcoin Coreのノードは6100個程度あるのに対して、SegWit2xのノードは180個程度と数の上で圧倒しています(2017年9月14日12時現在)。
まとめ
ビッグブロック派とSegWit派の争いは、8月1日の危機を前にしてSegWit2xを目指すNYAという形で解決したようにも見えました。しかし、このNYAにコアデベロッパーたちが含まれていなかったため、実はマイナーとコアデベロッパーとの間にさらに亀裂が入りました。
マイニングが寡占状態となるのを防ぐため、どうにかしてASIC BOOSTを使えないようにしたいコアデベロッパーと、ASIC BOOSTを使ってマイニングのコストを低下させたいマイニングプールとの間で現在妥協点が見出せない状態です。
しかし、マイナーたちがコアデベロッパーから権力を奪う目的で採用したbtc1は、あまり多くのユーザーに採用しておらず、このままではコアデベロッパー主流の流れは覆せそうにありません。
このままSegWit2xに反対するコアデベロッパーが優勢のまま11月を迎えると、次のようなケースが考えられます。
⑴ btc1側がブロックサイズの増加を諦める
⑵ btc1側がブロックサイズの増加を強行する
⑴ の場合では、新たに算出されるブロックがSegWit対応かつサイズ上限1MBのブロックばかりマイニングされ、ユーザーはSegWit導入後と同様にビットコインを使用できます。
しかし、⑵ の場合では、ハードフォークが生じるためbtc1が新たなアルトコインとしてさらに分裂する可能性があります。
ビットコインキャッシュの分裂もあった後でこれ以上の分裂は避けるだろうという見方もあれば、ハードフォークしてSegWit2xを実行するだろうという見方もあり、現在はっきりしたことをいうのは難しいのですが、どちらになったとしても大丈夫なように備えをしておくことが必要になりそうです。特に、⑵の場合では分裂に次ぐ分裂ということで、価値が下がる可能性もあります。今後も動向を見守ることが大事になってきます。