Bitcoin Split Feature
Pocket

2017年8月1日にビットコインが分裂した(フォークした)というニュースが報道されました。ビットコインの分裂にあたり、取引所の一時的な一部取引の中止や仮想通貨価格の乱高下など、世間を騒がせています。そこで今回は、ビットコイン分裂に関する話題を、BIP91・BIP148・BitcoinCashに焦点を当てて追ってみましょう。

 

分裂騒動の発端

今回の一連の騒動の発端は、マイニングに対して大きなな計算能力を提供することで支配力を持っているビットコインのマイナー・開発者・事業者などのコミュニティ間での意見の相違が拡大し、ユーザーや関係者を巻き込んで大騒動を巻き起こしたことに起因しています。

ブロックチェーンの健全性を支えるマイニング

ビットコインは以前から取引数が増えたときに、その機能を維持できるかというスケーラビリティについて問題視されていました。現在のビットコインは約10分間に1度ブロックが生成されるように調整され、そのブロックのサイズは1MBと設定されています。しかし、ビットコイン流通量の増大にに比例して取引量も増加しており、10分間の取引量が1MBに収まらないこともあり、取引の承認に時間がかかってしまうという問題が起きることも出てきました。そこで、今後の安定運用のために、いかに処理できる取引量(スケーラビリティ)を拡大させていくのかが論点となっていました。

 

Segwit

そこで提案されたのがShaolin Fry氏により提唱された「Segwit」と呼ばれる対応策です。Segwitとは、ブロック内にある「署名」と呼ばれる部分を分離することでブロックを有効活用し、1ブロック当たりに書き込める情報量を実質的に大きくするものです。

ビットコインのブロックチェーンをスケールさせる「Segwit」

 

Bitcoin Coreでは2016年より、このSegwitが含まれたソフトウェアを配布していましたが、一部の大手マイニングプールは計算能力を使ってSegwitの導入を拒否していました。世界最大級のビットコインマイニングファームであるBitmainなどは「ASICBoost」と呼ばれるマイニングアルゴリズムを利用して計算コストを削減させられるASICを使っているとされています。しかし、もしSegwitが導入されてしまうと、このASICBoostが利用不可能になってしまうことが判明しました。あくまで憶測ですが、これにより、ASICBoostを使用しているマイナーがSegwitの導入に反対したのではないかと言われています。そこで、Segwitの導入はせず、ビットコインブロックチェーンのブロックサイズを拡張することで、スケーラビリティの問題の解決を目指すコミュニティーとして、Bitcoin Unlimitedが立ち上がりました。

 

BIP91(Segwit2x)によるSegwitの導入

「Segwit2x」はSegwitをまず導入し、その後ブロックサイズを2MBに引き上げるフォークを行う仕様変更です。これは、2017年5月にニューヨークで合意された案で、Segwitの導入に関しては、BIP91で定義された、生成されたブロックの80%以上で合意されれば、Segwitを有効化する動きに入るという仕様になっています。ブロックサイズの拡張については、Segwitが有効化されてから、時間を置いて有効化されます。このBIPの特徴としては、Segwitの有効化に必要な合意割合が80%であるという点、また生成されたブロックの割合で決まるということでブロックを生成できるマイナーのみが主導権を握っている点があります。

BIP148によるUASFの可能性

BIP91を発動されるにはブロックを生成できるマイナーのみがその鍵を握っているため、そのマイナーの意向によりいつまでたってもSegwitへの以降が始まらないという懸念点に対応するために、Bitcoin Coreを中心とした開発者や一部の利用者は、UASF(User Activated Soft Fork)と呼ばれるユーザー主導のソフトフォーク(ブロックチェーンの一時的な分岐)を実施し、Segwitの導入を目指すことを決めました。

ブロックチェーンの分岐「ハードフォーク・ソフトフォーク」
ブロックチェーンユーザー主導のソフトフォーク「UASF」

このSegwitをソフトフォークにより実施する取り決めはBIP148として仕様化され、2017年8月1日以降Segwitを有効化しないマイナーが生成したブロックを拒否する仕組みになっています。しかし、このような方法によってSegwitの有効化を実施した場合、BIP148に賛同しないノードは、ネットワーク上では挙動の違うノードとして動作し、同一のネットワーク上に2種類の挙動を示すノードが存在することになり、システムに大きな混乱をもたらすことが懸念されており、長らく膠着状態が続いていました。

 

BIP91の有効化

このような流れの中でUAFSがアクティベート(実行)されてしまうと、ビットコインブロックチェーンが不安定になってしまう危険性があるために、最終的にはBIP91で合意しようという流れになりました。
実際に、2017年7月21日にはSegwit2xが確定され、ロックイン期間に入りました。そして同月23日には有効化されているので、マイナーは問題なくブロックをマイニングすることができるようになっています。BIP91がアクティベートされているので、Segwitへの移行期間へ入り、非Segwitサポートのブロックは無効とみなされるようになりました。

 

画像:UASF BIP148 Countdown

 

BitcoinCashの登場によるハードフォーク

これで一件落着のように思われていましたが、突如ビットコインブロックチェーンがハードフォークすることとなります。「ビットコイン・キャッシュ(Bitcoin Cash:BCH)」と呼ばれる新たなブロックチェーンがビットコインからハードフォークします。これは前述した、Segwitの反対勢力であったBitmainやBitcoin Unlimitedによって組織されたものであると表明されています。

Bitcoin Cashはブロックサイズを8MBまで拡張し、スケーラビリティの改善やトランザクション性能の向上を目標としています。今までのビットコインブロックチェーンとBitcoin Cashブロックチェーンはハードフォークであるので、完全に分岐することが確定しており、コインや取引の消失の心配はないとされています。ビットコインブロックチェーンとは交わることがなく、完全に別れることができるようにリプレイプロテクションという対策が取られているためです。このため、ビットコインのブロックチェーンからスピンアウトした、言い換えるとビットコインから分離して新しい通貨になったというと分かりやすいかもしれません。

そしてBitcoin Cashは日本時間の2017年8月1日21時20分頃よりハードフォークを実行しました。これ以降は、ビットコインのブロックチェーンは分岐し、これまでのビットコインとBitcoin Cashの2つに別れることになりました。今後は、Bitcoin Cashに対してどれだけのマイナーがつくのか、またマイナーがつくだけのメリットが生まれるのかによって、その存続が決まっていくでしょう。

画像:Bitcoin Cash

 

今後は、Segwitの準備期間がすぎれば、実際にSegwitが有効化されます。ここから徐々にSegwitによる効果が現れてくると考えられています。今回のビットコイン分裂問題はハードフォークやUASF、Segwitなど様々なブロックチェーンに関わる要素、そしてマイナーの政治的事情などが複雑に絡み合った興味深い出来事であり、さらにビットコインのハードフォークは史上始めてです。是非、今回を機会にビットコインとブロックチェーンの知識を深めましょう。

Pocket

Aram Mine

Gaiax技術マネージャ。研究開発チーム「さきがけ」リーダー。新たな事業のシーズ探しを牽引。2015年11月『イーサリアム(Ethereum)』 デベロッパーカンファレンス in ロンドンに参加しブロックチェーンの持つ可能性に魅入られる。以降ブロックチェーン分野について集中的に取り組む。

Search