なにかおもしろいこと

ビットコインスケーラビリティ問題の歴史まとめ

ビットコインのスケーラビリティ問題をめぐっての出来事をまとめました。
この問題については長い間もめていて、関連する事件やスキャンダルも多く発生しているので、ビットコインの歴史(年表) - なにかおもしろいこととは別に一度まとめることにしました。

 

 

2015

08/15 Bitcoin XTリリース

ビットコインのスケーラビリティについては、かなり前から開発者コミュニティ内で問題となっていたようです。しかし、Core開発者(ビットコイン公式クライアント開発者)の間ではブロックサイズ上限を引き上げるという対応には反対が多く、実施されませんでした。

その中で、Gavin AndresenとMike Hearnによってビットコインのブロックサイズを拡張するBitcoin XTがリリースされました。いきなりXTをリリースして、ブロックサイズ引き上げの判断をマイナーに委ねるというやり方に対して反発が起き、コミュニティが分裂しました。

フォーラムとbitcoin.orgで検閲が行われ、bitcoin XTの話題に対する投稿が削除されたり、XTを採用したノードやマイニングプールに対してDos攻撃が行われるなど、ごたごたが起こりました。

 

 

09/12,13 Scaling Bitcoin 1回目開催

XTリリースによりスケーラビリティ問題が表面化したことをうけて、Scaling Bitcoin 1回目がカナダのモントリオールで開催されました。
1回目では問題点の確認が行われました。

 


12/06,07 Scaling Bitcoin 2回目開催

Scaling Bitcoin 2回目が香港で開催されました。1回目で確認した問題点に対して解決方法の提案を持ち寄ると言う形です。
この会議でSegregated Witness(SegWit) が提案されました。SegWit はブロックサイズ上限の変更なしに取引量を増やせて、同時にトランザクション展性という問題も解決できるため、コミュニティから強く支持されました。
この時点でマイナー側は「スケーラビリティ問題の解決法の判断は自分たちでは難しい、議論やデータを示して欲しい」という立場をとっていたようです。

 

 

2016

01/15 Mike HearnがCore開発から離脱

マイナーはビットコイン価格が下がるのを心配したのか、最終的にBitcoin XTは支持されずに失敗に終わります。そして、XTをリリースしたMike Hearnが「ビットコインは失敗した」という内容のブログを書き、開発コミュニティから離脱しました。
この記事はニューヨークタイムズにも取り上げられ、その後ビットコイン価格は下落しました。
しかし、この後Bitcoin XTと同じブロックサイズ拡張派のBitcoin Classic(ブロックサイズ上限を2Mに引き上げ) とBitcoin Unlimited(ブロックサイズ上限を動的に変化させる) が注目され始めます。

 

 

02/20 Bitcoin Roundtable(香港合意)

香港で開催されたbitcoin roundtableに、一部のCore開発者、マイナー、他ビットコイン産業の関係者が参加し、SegWit の採用とハードフォークによるブロックサイズ2MB引き上げのロードマップに対して合意しました。
このロードマップでは、SegWitは2016年4月にリリース、ハードフォークは2017年7月ごろに実施する予定となりました。
しかし、ここで合意しなかった他のCore開発者はこれに反対し、ブロックサイズ引き上げのハードフォークの開発は進められませんでした。これにマイナー側はメンツが潰されたと怒り、Core開発者とマイナーの関係は悪くなっていきます。

 

 

02/21 Coinbase CEOがBitcoin Classicを支持

32ヶ国で取引所を行なっているCoinbase CEOのBrian Armstrongが香港合意に反対し、Bitcoin Classicを支持しました。

 

 

07/最終週 カリフォルニア集会

Core開発者とマイナーのコミュニケーション改善を目的として、カリフォルニアで集会が行われました。
この集会で、Bitcoin Classic を支持していたCoinbase のBrian ArmstrongとCore 開発者が和解し、ハードフォークによるブロックサイズ引上げは実施しないということで合意しました。
2016/06に起こったThe DAO事件で、ハードフォークによりEtherium が分裂してしまったことが影響していると思われます。
ただし、この集会の出席者は公表されていないため、どのメンバーの間で合意がとれたのかはよくわかりません。

 


09/21 Bitcoin.comのマイニングプールがBU(Bitcoin Unlimited)クライアントで採掘に成功

Bitcoin.com poolにより、BUを支持するブロックが初めて採掘されました。
採掘されたブロックのサイズは1MBで、ハードフォークを起こすものではありませんが、16MBまでのブロックを受け入れる設定になっています。
このマイニングプールのオーナーは、ビットコイン普及のために活動しビットコインジーザスと呼ばれた投資家のRoger Verです。

 


10/8,9 Scaling Bitcoin 3回目開催

Scaling Bitcoin がミラノで開催されました。
これに合わせて、Roger VerはFree Speech Party というイベントを開催し、マイナーたちを招待し、ブロックサイズについて議論しました。

 


10/10マイニングプールViaBTCがBU支持を表明

世界5番目のマイニングプールであるViaBTCがBU支持のブロックを採掘しました。
ミラノでRoger Ver が開催したFree speech partyに出席した後に、ハッシュパワーをBUに割り当てることを決めました。

 


11/15 SegWitリリース

SegWitが実装されたCore ソフトがリリースされました。全体の95%のハッシュパワーがSegWit支持を表明することで有効となります。
しかし、Segwit 支持率は25%程度にとどまり、Segwitが有効化されない状態が続きます。

 


12/08 BUに重大な欠陥が見つかる

Stiky gateという機能に欠陥があることが発見されました。

 

 

2017

01/29 マイニングプールがBUのバグにより報酬を失う

マイニングプールのBitcoin.comがBitcoin Unlimited のバグにより、13.2BTC(マイニング報酬+手数料)を失いました。Bitcoin.comはBUソフトを動かしていましたが、採掘したブロックがブロックサイズ上限を23byte超えていたため、リジェクトされました。
このブロックはブロックサイズ2MBまでを受け入れる設定のBUノードにより共有され、10-20分間間違ったチェーンを使っていました。

 

 

03/07 Antpool がBU支持のブロックを採掘開始

最大のハッシュパワーをもつマイニングプールがBU支持のブロックを採掘し始めました。
BUのハッシュパワーは全体の23%程になりました。

 


03/10 Bitclubによるトランザクション展性攻撃

4%のハッシュパワーを持つマイニングプールのBitclubがビットコインネットワークに対してトランザクション展性攻撃を実行しました。意図は明らかでないですが、SegWit 採用を迫るための行動という見方もされています。

 

 

03/12 BU支持率が40%近くに

BUクライアントが39.6%に達し、1週間連続で30%を超え、ハードフォークの可能性が高くなってきました。

 

 

03/13 BUに別のバグがみつかる

悪意あるユーザーがリモートでBUノードをクラッシュさせることができるバグが発見され、ソーシャルメディアで拡散されました。
BUノード数が781から410に落ち、その後690まで戻りました。

 

 

03/18 BitfinexがCoreとUnlimitedの先物をはじめることを発表

ビットコイン取引所のBitfinexがハードフォークを見越してCoreとUnlimitedの先物をはじめると宣言しました。

 


03/18 ビットコイン取引所19社が共同声明

世界中のビットコイン取引所19社がハードフォークが発生した場合の対応について共同声明を発表しました。
これまで通りCore のチェーンをBTCとして扱い、BUのチェーンはBTUとして取り扱うこと、BTUを扱うためにBUコミュニティに対してリプレイアタック対策の実装を要望するという内容でした。

 

 

03/19 User Activated Soft Fork(BIP149)が提案される

shaolinfryと言う人物により、UASFが提案されました。
UASFを有効にしたノードは08/01以降はSegWit に対応していないブロックを不正とみなして、ブロックチェーンに取り込まないようにすることで、マイナーにSegWit を有効にするようプレッシャーをかけるものです。
フォークが発生する可能性高く、この提案にはSegWit 派の中でも反対する人がいます。

 


03/20 Roger Verがハードフォーク後にBTCを売ると発言

Roger Verがハードフォーク後にBTUを買うためにBTCを売ると発言しました。
Roger Verは300,000BTC持っていると言われていて、実際に全てのBTCが売られた場合、BTCの価格は暴落すると思われます。

 

 

03/22 Roger VerがBTCとBTUの交換を持ちかけられる

40,000BTC保有するユーザーがRoger VerにBTCとBTUの交換(1対1)をBitcointalk上で持ちかけて、Roger がこれを承諾しました。承諾されたオファーでは最大130,000BTCが交換されることになりました。
BUソフトや開発チームに大きな変更があった場合は無効にする条件付きです。

 

03/22 BUはバグの修正コードをクローズドソースで配布

BUはバグの修正コードをクローズドソース(非公開)で配布しました。
しかし、そのコードはすぐにリークしてしまいました。

 

 

04/02 主要マイニングプールがハックされる

BU支持派のAntpool、ViaBTC 、BTC.topがハックされ、そのハッシュがF2poolにリダイレクトされました。F2Pool のハッシュレートが2倍になりました。

 


04/06 ASICBoost

Core開発者のGregory Maxwellが、BitmainはASICBoostを利用可能なASICを製造していると指摘しました。
ASICBoostはマイニングの手順を工夫することで電気代30%程節約できる技術で、2016/03/31に発表され、Bitmain(Antpool の親会社)が特許を持っています。
この技術はSegWit 導入により使えなくなるため、マイナーがSegWit に反対している理由と言われています。
これに対してAntpool は、ASICBoostはテストネットでしか試していないと主張しています。

 


04/13 F2poolがSegWit 支持

世界2番目の規模のマイニングプールのF2poolがSegWit 支持を表明しました。

 


04/27 Antbleed

Bitmain製ASICのファームウェアにバックドアが仕込まれていることがわかり、問題となりました。このバックドアはAntbleed と呼ばれています。
最悪の場合、Bitmain はこのバックドアを使って世界中のハッシュレートの大部分を遮断することができます(全体の70%程度と推定されます)。また、特定のマシンや顧客を対象とすることもできます。
Bitmain は悪意はないとしていますが、ビットコインネットワークの脆弱性になるとして、ビットコインコミュニティから非難されました。
このバックドアは2016/07/11に追加され、2016/09/19に匿名の人物により指摘されていました。
2017/04/28にBitmain はこのバックドアを取除くファームウェアアップデートを公開し、ブログ記事で説明と謝罪を行いました。

 


05/10 LitecoinでSegWitが有効に

Litecoin でSegWit が有効になりました。Litecoin の場合は75%の支持でSegWitが有効になります。

 


05/06 save the chain

サイズ1MB、手数料273BTCを含むトランザクションが発行されました。
現状のブロックサイズ1MBではこのトランザクションをブロックに含めることができません。このトランザクションはマイナーに対してブロックサイズ引き上げを押し進めるインセンティブを与えるために発行されました。
このトランザクションを発行した人物は、このトランザクションのアウトプットを使い手数料を増やして、マイナーが行動するインセンティブを高めようと呼びかけています。

 


05/14 SegWit は安全でないとの意見に対し懸賞金がかけられる

SegWit はanyone can spend で安全ではないとの指摘に対して、SegWit アドレスにある1,000,000USD相当のLitecoin を盗むことができるかという試みが行われています。

 

 

05/16 ビットコインの未承認トランザクションが200,000に

承認待ちのトランザクション200,000に達し、手数料が高騰しました。

 

 

05/23 SegWit + 2MB案に80%ハッシュパワーが合意(ニューヨーク合意)

New York で行われたconsensus 2017で、マイナー、ビットコイン事業者がSegWit + 2MB案に合意したと発表しました。
合意したマイナーのハッシュレートは80%、事業者は21ヶ国にわたります。
この合意にCore開発者は参加しておらず、ビットコインコミュニティ全体の合意とは言えず、むしろCore開発者を追い出す動きではないかという意見もあります。

 

 

06/14 Bitmain がUAHFの計画を発表

Bitmain がニューヨーク合意を安全に進めるために、UASFへの対策としてUAHF(User Actividad Hard Fork)を計画していることを発表しました。
ハードフォークすることで、UASFによる再編成の発生がそれまでの取引とマイニング報酬を取り消してしまうリスクを防ぎます。
08/01のUASF実施後から12時間20分後にハードフォークが実施される予定です。ブロックサイズ上限はハードフォーク時点で2MBとし、段階的に引き上げるよう計画されています。
リプレイアタック対策も実装される予定です。

 

 

06/15 中国のビットコイン関連企業がChina Bitcoin Roundtableにてニューヨーク合意支持を確認

中国のマイナー、取引所、ハードウェアメーカーがあつまり、ニューヨーク合意を支持することを改めて確認し、19日から支持を示す投票を行うことを発表しました。

実際に06/18以降、BitFury、BTC.top、F2Pool、BTC.com、AntPool、ViaBTCなどが次々にニューヨーク合意への投票を開始しています。

 

 

06/19 ViaBTCがICOの草案を発表

UAHFのブロックチェーンを採掘するハッシュパワーを購入、レンタルするための資金調達を目的として、ICO(Initial Coin Offering)を行うことを発表しました。

資金の一部はビットコインクライアントの開発やベンチャー投資に回すとしています。日付は未定です。

 

 

07/14 BTC1リリース

ニューヨーク合意(Segwit2x)開発チームによるBitcoin クライアントソフトであるBTC1がリリース

 

 

07/17 ViaBTCがBCC(Bitcoin Cash)を発表

ViaBTCがUAHFの考え方をベースとした新しいビットコインクライアントについて発表しました。ブロックサイズ上限は8MB、ハードフォークの日程は08/01としています。

 

 

07/21 07/19 BIP91シグナリングスタート

BIP91はニューヨーク合意(Segwit2x)で提案されたSegwit有効化の方法です。

BIP91のシグナリングがニューヨーク合意に賛成するマイナーにより開始されます。

追記(07/25)
07/14時点では07/21と考えられていたBIP91シグナリングスタートですが、実際には前倒しで07/19頃から開始されました。

 

 

07/23 07/21 BIP91ロックイン

BIP91シグナリングが開始から最速でこの日にBIP91がロックインされます(有効化が決定し、残りのマイナーが対応するための猶予期間に入る)。

追記(07/25)
07/14時点では最速で07/23と考えられていたBIP91ロックインですが、実際には前倒しで07/21にロックインされました。

 

 

07/25 07/23 BIP91有効化

BIP91シグナリングが開始から最速でこの日にBIP91が有効化されます。
BTC1ノードはSegwit をシグナリングしていないブロックをブロックチェーンに取り込まなくなります。

追記(07/25)
07/14時点では最速で07/25と考えられていたBIP91有効化ですが、BIP91ロックイン前倒しにともなって、07/23に有効化されました。

 

 

07/24 Bitmain がBCCについて声明を発表

Bitmainがブログにて次のような内容を発表しました。

  • BCCを発表したViaBTCはBitmain の立場を表していない
  • Antpool, BTC.COM, ConnectBTCの全てのマイニングプールでBTC1を動かす
  • ただし、SegWit2x, BCCの両方をサポートする可能性はある

 

 

07/29 BIP91ロックインによるフォーク回避の期限

この日までにBIP91がロックインされれば、08/01にUASFによるフォークが発生する可能性はなくなります。

 

 

これから(予定)

08/01 UASF実施

UASF(BIP148)ノードがSegwitシグナリングしていないブロックをブロックチェーンに取り込まなくなります。

 

 

08/04頃 Bitcoin ABC ローンチの可能性

Bitmain により、UAHFを実装したBitcoin ABCというBitcoin クライアントソフトがローンチされるかもしれません。

 

 

08/15頃 新しいPoWを採用したハードフォークの可能性

Segwitをシグナリングするマイナーが少ない状態が継続した場合、一部ユーザーによりPoWアルゴリズムを変更するハードフォークが実施される可能性があります。ASIC化できないPoWアルゴリズムに変更することで、マイニングの分散化することが目的です。

 

 

08/M-E 08/10頃Segwit ロックイン

一定期間中に95%のマイナーがSegwitシグナリングした場合、Segwit がロックインされます(有効化が決定し、残りのマイナーが対応するための猶予期間に入る)。
Segwit シグナリングするマイナーが少ない場合、最大4つのビットコインブロックチェーンに分裂の可能性があります。

追記(07/25)
07/27に集計期間が開始、その2週間後にSegwitロックインの予定となります。

 

08/E-09/M Segwit 有効化

 

 

10/E-11/M Segwit2xハードフォーク

SegWit2xの合意通り、Segwitロックインの三ヶ月後にBTC1クライアントによるハードフォークが実施される予定です。

 

 

 

 

本ブログでは、ビットコインによる寄付を受け付けています。
寄付していただいたかたにはお礼として、Counter PartyトークンのJAGAトークンをお返しします。

Donate with IndieSquare