ビットコインのスケーラビリティ問題

ビットコインのスケーラビリティ問題とは、ビットコインにおけるブロックチェーンのブロックサイズが1メガバイト  に制限されている結果起きている問題である  。1MBよりも大きいブロックは無効なものとして自動的にネットワークから排除される。ビットコインブロックは、最後のブロックが作成されてからビットコインネットワーク上でトランザクションを処理するch. 2}}。これにより、1秒間に3 - 4トランザクションを処理できるようになっている。

1MBの制限はビットコインにおいてボトルネックを生じさせ、結果として取引手数料の上昇と一つのブロックに収まらないトランザクションの処理の遅延を引き起こした  。ビットコインの規模をどのように拡大するかについての様々な提案があり、論争となった。2017年にビジネスインサイダーはこの論争を「ビットコインの将来についてのイデオロギー的な戦い」と特徴づけた。

2017年7月21日、ビットコインのマイナーが「ビットコイン改善提案  91」と呼ばれるソフトウェアアップグレードをロックインしたことで、物議を醸した「Segregated Witness」アップグレードはブロック 477120でアクティベートされた。ブロックサイズの上限も2017年11月に2MBに上げられる予定になっていたが、「十分な合意が得られていない」ことを理由に計画は一旦停止されている。

1. フォーク
-------

ブロックチェーンにおけるフォークとは、ブロックチェーンが2つに分かれたときのことを指す。ビットコインネットワーク上のフォークは2人のマイナーがほぼ同時にブロックを見つけたときなどマイニングプロセスの一部として定期的に発生し、その結果ネットワークは一時的にフォークする。その後に後続のブロックが追加されより長いチェーンとなった方のブロックが有効となり、もう一方のブロックはネットワークにより孤立されることでフォークは解消する。ブロックチェーンは、開発者が有効な取引を判断するために使用していたソフトウェアのルールを変更するときに意図的にフォークすることもできる。

1.1. ハードフォーク
------------

「コインデスク」によればハードフォークは古いソフトウェアで有効とみなされない新しいブロックを作れるようになるルールの変更である。

「ビットコインXT」と「ビットコインクラシック」は両方ともブロックサイズの制限値を上昇させることを目的とした提案で、それらはコア開発者のエリック・ロンブロゾによってスケーラビリティを改善する手法として「ハードフォーク」と呼ばれた。しかしながら、両方の提案への支持は時間が経つにつれ減少していった  。「ビットコイン・アンリミテッド」もまたブロックサイズの制限を調節する提案であり、結果としてハードフォークとなる。

ネットワークの全参加者がフォークに従わない場合ハードフォークはネットワークを分割することができる。例えばイーサリアム・クラシックは「The DAO」へのハッキング事件への対応が分かれたことでイーサリアムネットワークのハードフォークの結果として誕生した。

1.2. ソフトフォーク
------------

ハードフォークとは対照的にソフトフォークは古いソフトウェアからも有効と認識されるブロックをつくるルール変更である。ソフトフォークでも新ルールによってアップグレードされていないソフトウェアが作るブロックが有効なものとみなされなくなった時にネットワークを分割することが出来る。

「Segregated Witness」はソフトフォーク提案の一例である。ブロックストリームの共同創業者と開発者のピーター・ウィールは2015年12月にSegregated Witnessを提案した。Segregated Witness はビットコインソフトウェアの癖として知られているトランザクション展性の解決を目指したアップデートである  。セグウィットは署名データを他の取引データから分離するシステムである。セグウィットはスケーリングの解決策として提案されてきており、２つの方法で影響を与えている。第１にCoinTeleraphはセグウィットのアクティベーション後すぐに約2MBの範囲で容量を拡大すると予測している。第２に、トランザクション展性を解決することで、コインテレグラフはセグウィットでビットコインの上に新たなセカンドレイヤーを実装できるようになると考えている。

「ユーザーアクティベートソフトフォーク」  はネットワークの計算力を提供するマイナーの支持を得ずにブロックチェーンのアップグレードを行おうとする物議を醸したアイディアである。

2. スケーリング提案
-----------

ビットコインをスケーリングする様々な提案が提出されている。2015年に、ジェフ・ガージックによって「BIP 100」が、ゲイビン・アンデルセンによって「BIP 101」が提案された。2015年の中頃に一部企業がブロックサイズの上限を8MBにすることを支持していた。

ビットコインXT…ブロックサイズの上限を上げることで取引処理能力を向上するために2015年に提案された。
ビットコインクラシック…ブロックサイズの上限を上げることで取引処理能力を向上するために2016年に提案された。
2016年に一部のマイナーと開発者の間で「香港協定」と呼ばれる合意が結ばれた。協定には2015年12月にビットコインコア開発者達により提案されたSegregated Witnessのアクティベーションとブロックサイズの上限を2MBにする両方のタイムテーブルが含まれていた。しかしながらどちらも予定通りに進むことはなかった。
ビットコイン・アンリミテッド…マイナーが柔軟にブロックサイズの上限を上げる事への支持でマイニングプールのViaBTC、AntPool、投資家のロジャー・バー及びビットコイン・アンリミテッドの主任科学者のピーター・リズンによって支援された  。ビットコイン・アンリミテッドはビットコインコアとは異なり、ブロックサイズの数値はハードコードされておらず、むしろ「突発的コンセンサス」と呼ばれるアイデアを使用して、ノードとマイナーが上限値を設定できるようにしている。ビットコインアンリミテッド提案の背後にいる人々は、マイナーのハードウェアがネットワークを保護するものであるため、マイナーはイデオロギー的観点からスケーリングの解決策を決定すべきだと主張している。
BIP148…「User Activated Soft Fork 」または「大衆の反乱」と呼ばれるこの提案は2017年8月1日に実行が計画されており、マイナーにセグウィットをアクティベートさせることを目指している。マイナーがBIP91計画に沿ってセグウィットをアクティベートすることに投票したため不必要となった。

3. アクティベートされたスケーリング提案
---------------------

3.1. Segregated Witness
-----------------------

Segregated Witness:

ビットコインブロックのデータ格納方法の変更。
以前のビットコインソフトウェアとの互換性を維持しつつ処理能力を向上。
他のビットコインプロジェクトの障害となっていたトランザクション展性の修正。
ライトニングネットワークの実装が実現可能になった。

3.1.1. アクティベーション
----------------

2017年5月、「デジタル・カレンシー・グループ」は「SegWit2x」と呼ばれる提案を提出したと発表した  。ビットコインの合計ハッシュレートの80%以上でセグウィットをアクティベートし、bit 4でシグナルし、6ヶ月以内にブロックサイズを2MBまで上げるというものであり、提案は既に合計ハッシュレートの80%以上の支持を得たと主張している。2017年6月、セグウィット提案は米国特許商標庁に提出された特許を侵害している可能性があるという主張でさらに複雑化した。2017年時点で、この提案はハッシュレートの90%以上の支持を得ていると報じられているが、このプロジェクトでの作業は招待者のみのグループに限られているという点で、議論になった。2017年7月中旬、マイナーが2017年8月1日のUASFの実行前のSegWit2xの実装を支持し、ビットコインネットワークのハードフォークのリスクを回避しようと試みていることが明らかになった 。7月21日にBIP 91はロックインされ、論争になったセグウィットのアップグレードはブロック 477120でアクティベートされた。8月8日までにビットコインのマイニングプールの100%がセグウィットのサポートを通知したが、セグウィットは8月21日までは実施されない。ただしその後はマイナーはセグウィットをサポートしていないブロックの排除を始める。

当初、大半のビットコイン取引はアップグレードを使用できなかった。10月の初週にSegWitを使用したビットコイン取引の割合は7%から10%に上昇した。

3.2. Bitcoin Cash
------------------------------

ビットコインのブロックチェーンのハードフォーク、セグウィットに反対するビットコインのマイニングプール/通貨交換の「ViaBTC」などによって2017年8月1日に誕生し、ビットコインとはブロック 478559以降から分岐した。ハードフォークの後、ビットコインの所有者は所有量と同量のビットコインキャッシュを所持することになった。ビットコインキャッシュはブロックサイズの上限をセグウィットを導入せずに1MBから8MBに上げた。8月1日の夕方までにBCHの時価総額は暗号通貨で3位になった。多くの暗号通貨取引所は8月1日に備えて数日間一時的にサービスを停止した。

4. 他のスケーリング提案
-------------

4.1. SegWit2x
-------------

2017年8月のSegregated Witnessの実装は、SegWitで有効ブロックサイズを上げることを望む側とハードフォークでブロックサイズをより大きくすることを望む側が妥協した「ニューヨーク協定」の半分のみであった。後の半分のSegWit2Xは2017年11月にハードフォークでブロックサイズを2MBに上げることが含まれていた。

SegWitはSegWit2xに関与していない人々によって作られており、彼らの大半はSegWit2Xに反対していた。

SegWit2xのハードフォークはビットコインキャッシュのハードフォークよりも論争となった。元々ニューヨーク協定を支持していた一部企業は提案の支持を取り消した。11月のハードフォークで8月に作成された第2のブロックチェーンに次ぐ新たなブロックチェーンをもたらす可能性があった。暗号通貨の取引所Bitfinex、HitBTC及びCEX.ioはオリジナルのチェーンは「BTC」であり新たな2MBのチェーンは「B2X」と宣言した一方でBitstamp、bitFlyer、Krackenや他の取引所の立場は公式には発表されていない。ニューヨーク協定の一部の署名者 はハードフォーク後まではどのチェーンが「ビットコイン」と呼ばれるのかを決めないことを示唆した。

主要な争点はSegWit2xの開発者がハードフォークのビットコインキャッシュで実装された強力なリプレイプロテクションではなくオプトインのリプレイプロテクションの実装を選択したことだった。オプトインのリプレイプロテクションはSegwit2xのチェーンがSegwit2Xでのみ有効なリプレイプロテクトされたトランザクションに加えて、オリジナルのチェーン向けのトランザクションも引き続き受け入れることを意味している。オリジナルのビットコインのチェーン上でトランザクションを送信またはリプレイプロテクトされたSegwit2xのトランザクションの送信を怠ったユーザーは両方とも自身のトランザクションが他のチェーンにリプレイされることに脆弱になり、偶発的な資金の喪失をもたらす可能性がある。この強力なリプレイプロテクションの欠如はビットコインのコミュニティーで激しい論争を生じさせた。

著名なビットコインコアの貢献者でブロックストリームの従業員のグレゴリー・マクスウェルは以前のブロックサイズを上げる協定は強要されてなされたものだと主張した。SegWit2xの実装はマイナーにより多くの取引手数料が入る一方でサイドチェーンでのブロックストリームに入る手数料は減少する。また、マイナーの力が増大する一方で、コア開発者の力が減少する。SegWit2xの一部の支持者はビットコイン・コア開発者のビットコインプロトコル開発での知覚力を最小限に抑えることに熱心な一方で、一部の反対者は少数のマイナーにより力が集中するのを望まなかった。

2017年11月8日、SegWit2xの開発者は2017年11月16日頃予定していたハードフォークは十分な合意が得られなかったことで当面は中止されたと発表した。ビットコインのブロックサイズを２倍にするハードフォーク計画の失敗を受け、ビットコインのスケーラビリティ問題を解決するために2016年から始まったビットコイン・クラシックの開発者グループは、ビットコインキャッシュを通じて「クラシックがその目的を果たした」とし開発を停止するとの声明を発表した。ニュースの後、ビットコインは大幅に下落したが、その後価格は回復した。

4.2. lightning network 
--------------------------------------

ライトニングネットワークはビットコインを「チェーン外」にスケーリングすることでスケーラビリティ問題の修復を目指す開発中のプロジェクトであり、ブロックチェーンを利用することなくマイクロチャネル状態を更新できるようにすることでマイクロペイメントを実現可能にするものである。つまりトランザクション処理の大半はチェーン外で行われ、ブロックチェーン上で行われる処理はチャンネルを開くための「デポジット」処理の時とチャンネルの閉鎖時のみである。

注目すべき点は、ライトニングネットワークは新しいsighashフラグなしでトランザクションIDを取得するためにトランザクションの署名が必要な時に、全当事者が署名する前からトランザクションを使用できることを保証するため大幅に取引スピードの向上が図れる。ライトニングネットワークの他の独特の側面として、マルチキーシステムを利用し一つのトランザクションに複数のユーザーが参加できるようにする「コミットメント・トランザクション」がある。混雑の判定は主にマイナーにかかっているため、本ネットワークは誠実なマイナーが「51%攻撃」を計画しないという前提に基づいている。

5. 関連リンク
--------

ソフトウェア開発

6. 参考文献
-------

7. 外部リンク
--------