ビットコイン分裂問題のSegWit2xノードがフォーク前に凍結する

Pocket

ビットコインにとって今年最大の問題であったSegWi2x。11月8日にデベロッパーのJeff Gazik氏やBitmain CEO Jihan Wu氏、最大手DEX ShapeShift CEOのErik Voorhees氏含む6人によって「現時点でのブロックサイズ引き上げのコンセンサスが得られていないのは明確」とし、延期が発表されました。ですが一部のマイナーによる2MBハードフォーク強行が警戒される中分岐するブロックの2ブロック前でSegWit2xクライアントのbtc1ノードが凍結、フォークは起こりませんでした。

スポンサーリンク

1.SegWit2xとは何か?

そもそもSegWit2xとは2017年5月に世界最大手仮想通貨メディアCoindeskにより開催されていたブロックチェーンカンファレンス”Consensus 2017″の期間中にニューヨークベースのDigital Gurrency Group通称DCGにより58の企業と合計83.28%のハッシュレートを持つマイナーにより合意を得たとされるNew York Agreementとして2017年5月23日に発表されました。

1-1.NYAに署名した主要企業

DCGの発表から全58企業のうち大手をピックアップすると

企業名詳細備考 
bitFlyer日本取引所国内最大手でビットコイン取引量日本一
BTCC中国取引所元中国三大取引所。マイニングプールも経営
Coinbase米国取引所米国最大の取引所で絶大な信頼を持つ
Unocoinインド取引所インド最大手取引所
F2Pool中国プール9.8%のハッシュレートを占める最大手
ViaBTC中国プール新興プール。BCH支持により現在ハッシュレートが12倍
BTC.TOP中国プール12.3%のハッシュレートを占める
Bitmain中国ASICメーカー17.2%のハッシュレートを占めるAntpoolを運営。
世界の70%のBTCASICシェアを誇る
Bitpay米国ウォレットビットコイン支払いを提供する
Blockchain.com英国ソフトウェアBlockchain.infoやウォレットを提供する
Jaxxカナダウォレット多くの仮想通貨を対応したモバイルウォレットを提供
ShapeShiftスイスDEX世界最大の非中央集権取引所

となります。

日本ではbitFlyerのみで、マイニングプールはほぼ全てといっていいでしょう。対して取引所の署名はほとんどありません。

1-2.アップデート内容

DCGによると

1.SegWitをbit4をマイナーがシグナリングし、80%の閾値でアクティベートする

2.6ヶ月以内にブロックサイズを2MBにハードフォークする

またDCGは「全ての企業とマイナー、デベロッパー、ユーザーがビットコインの未来に備えるために携わることを歓迎します」と記載しています。

1-2.香港合意

このSegWit2xは元々どこから生まれてきたのでしょうか?NYAの署名企業のBitmain CEO Jihan氏はビッグブロックのビットコインアンリミテッド(以下BUとする)を支持しており、2017年3月に多くのマイニングプールを従えてビッグブロックのBTUコインとしてビットコインからフォークしようとしました。

これに対し、米国最大の取引所Bitfinexをはじめとする18取引所が合同声明を発表し、未然に食い止めることができました。

詳細は下記記事を参照してください。

ビットコインのハードフォーク警戒による18取引所の合同声明

この後Jihan氏はこの後妥協案としてSegWit+2MBハードフォークならSegWit導入を受け入れると発言していました。

このSegWit+2MBというのは現在のNYAと同様ですが元々は2016年2月21日に香港で主要コアデベロッパーやマイニングプールのオペレーターなどを集めて行った円卓会議において合意したものが基となっています。

1-2-1.香港ビットコイン円卓会議参加者

氏名所属詳細
Kevin PanAntpoolプール管理者
Jonson LauコアデベロッパーBIP141 SegWitの提案者の一人
Luke Dashjrコアデベロッパー
Matt Coralloコアデベロッパー
Peter Toddコアデベロッパー
Phil PotterBitfinexUSD最大の取引所BitfinexのCEO
Jihan WuBitmainBitmain CEO
Adam BackBlockstreamBlockstream CEOでProof of Workの開発者
Bobby LeeBTCC元中国三大取引所のCEO
Samson MowBlockstream
(BTCC)
元BTCC COOで現Blockstream CSO
Mark LambCoinfloor英国最大手取引所の創設者
Wang ChunF2PoolプールのCEO
Valery VavilovBitfuryプールのCEO
Wu GangBixin
(元HaoBTC)
現BixinプールCEO
Leon LiHuobi元中国三大取引所CEO
Star XuOKCoin元中国三大取引所CEO

1-2-2.合意内容

ビットコイン円卓会議によると

1.SegWitはソフトフォークとして継続して開発され、スケジュール通り2ヶ月後にリリースされることを理解している

2.引き続き開発コミュニティと協力し、SegWit導入のための安全なハードフォーク開発を行う。コアデベロッパーはSegWitのリリース後3ヶ月以内にビットコインコアに推奨されるハードフォークを実装します。

3.このハードフォークには2MBのブロックサイズとSegWitによる実質的なブロックサイズ増加を含むと予期されます。ただしこれはビットコインコミュニティ全体に幅広く支持された場合のみ実装されます。

4.このハードフォークがコアによりリリースされた際、SegWitを支持します

以下略

としています。

またタイムラインとして「コミュニティによる強い支持を得た場合、2MB実装ハードフォークは2017年7月頃に起こります」としていました。

1-3.NYA署名者と香港合意との違い

NYAの主要な署名企業を見た際に違和感を感じます。署名企業の中の大手企業のうちBitamin、F2Pool、ViaBTC、BTC.TOP、JAXXを除く大手取引所とウォレットはDCGが株主となっています。更にDCGのポートフォリオを確認すると実に署名企業の過半数を超える30社がDCGが株主であることがわかります。

また香港円卓会議で呼ばれていたコアデベロッパーがいないという点において香港合意の内容にあったコンセンサスを得られていないことがわかります。

実際に署名した企業は2MBにブロックサイズへのハードフォークがネットワークに必要だと考えており署名しているかもしれませんが、DCGが株主の企業が過半数以上だという点を考慮するとDCGからの圧力、または株主からの提案を断れなかったというビットコイン政治を感じます。

2.SegWit2xを強行する可能性が浮上

17日、米国最大の取引所Coinbaseが提供するプロ向け取引所GDAXが潜在的にSegWit2xフォークが行なわれる可能性を示唆し、その対応を発表しました。

ビットコインキャッシュの時と同様に提案者であるBitmain CEOのJihan氏がUAHFによるフォークをしないと発表したものの、ViaBTCなどによりフォークされ件を考慮すると可能性は0ではありませんでした。

2-1.フォークした場合の対応

SegWit2xとオリジナルビットコインの違いはブロックサイズが2MBと1MBの差しかありません。もしフォークしたとしてもビットコインと同等または最低でも70%程度のハッシュパワーがなければブロックをマイニングすることさえままならず、ネットワークを維持することができません。この問題を解決するには2016ブロック毎に行なわれるディフィカルティ調整までマイニングし続ける必要があり、経済合理性に従うマイナーにとってほとんど変わりのないB2Xをマイニングするインセンティブがないため送金が難しいため「出金対応や取引をサポートしないとGDAXはしていました。

2-2.イーサリアムクラシック誕生による教訓

2016年7月イーサリアムはThe DAOフォークによりハードフォークを行い元チェーンを破棄しました。このフォークはコミュニティのほぼ9割以上のコンセンサスを得たとしフォークされましたが、破棄された元チェーンに残ったマイナーが存在し価値が付いたためイーサリアムクラシック(以下ETCとする)として誕生しました。

ビットコインキャッシュの様にディフィカルティ調整機能を導入して計画的にフォークしたものと違うため、マイナーや開発者も当時は存在しませんでしたがETCの掲げる「非中央集権で不変のものであるべきである。Code is Law(中央集権者がいないためコードが法律)」という”思想”に賛同する人々が増え、破棄され消えてなくなると思われていたチェーンが1ヶ月という期間を開け大きな支持を得ることとなりました。

SegWit2xはデベロッパーが延期を発表したもののマイナーにより強引にフォークされた場合、デベロッパーやその他ウォレットやサードパーティなどが支持しETC同様に時間をかけてネットワークを構築する可能性が大いにありえました。

3.2MBハードフォーク

SegWit2xのフォークは#494,784ブロックから分岐予定で、これは香港合意で提案されたSegWitリリース後の3ヶ月というものを参考にしたと考えられます。

SegWitの実装アクティベートブロックをN、1ブロックは平均約10分なので1日は144ブロックとなるので

アクティベートブロックN + 90日 * 144ブロック = N + 12960

となっていました。ですがSegWit2xのクライアントbtc1クライアントは分岐ブロックの2ブロック前でスタックしてしまいました。

3-1.2ブロック前のスタックが示す意味

#494,784の2ブロック前にスタックしたとはどういう意味でしょうか?

フォークを行う場合はブ特定のブロックナンバーから分岐を行います。今回の例を見ると#494,784ブロックには分岐をしてBTCと2MBのブロックサイズとなるB2Xに分裂することとなりますが、1つ前のブロック#494,783は1MBのブロックをノードが受け入れる必要があります。

つまり現時点ではノードが2ブロック前である#494,782でスタックしたということはフォークが起こらなかったということになります。

btc1ノード数をカウントしていたCoindanceではスタックした#494,782からブロック生成は観測されておらず、シビルアタックによるインスタントノードを含む最大500ノードから現在は145ノードまで落ちています。

SegWit2xフォークCopyright © coindance

3-2.SegWit2xハードフォークが失敗した理由

コアデベロッパーのPeter Todd氏によると

「”実装ブロックは1MB以上でなければならない”というハードフォークのロジックによるOff-by-oneエラーで失敗した」

としています。

スポンサーリンク

3-2-1.BIP-102

SegWit2xのハードフォークには2015年6月23日に提案されたBIP-102を実装してあり、このBIP-102は”Jeff Gazik氏によって作成された”ものでした。

内容は簡単なもので1000ブロック中の95%のマイナーがシグナリングしている場合1MBから2MBに一度のみハードフォークしてブロックサイズを増加するというものでした。

3-2-2.ハードフォークの最初のブロック

SegWit2xではfBIP102FirstBlockとしてあり、このロジックがPeter氏が指摘している点です。コアデベロッパーのJohn Newbery氏によると「今回のバグは別驚くべきことではない」としており、理由としてコンセンサスのプルリクエストはマージされてるものの「VersionBitsState()コードはわかりづらく、#50は0レビューで誰もコードを監査していない」と指摘しています。

実際Github上を確認するとレビューは一切なくマージされていることがわかります。

BIP102Copyright © GitHub

3-3.Jeff Gazik氏がホットフィックスをリリース

SegWit2xのデベロッパーJeff氏は問題が露見した後、約1時間後に問題を一時的に修正したホットフィックスをリリースしました。これは大きいトランザクションブロックを生成することを容易にするためのもので、原因となる「1MB以上のブロックをマイナーが生成するすることを防止していたコード」によるものという理由です。

1MB以上のブロックが生成できないとフォーク自体ができないという単純なミスということになります

SegWit2xホットフィックスCopyright © GitHub

 

4.SegWit2xバグの結論と考察

SegWit2xは開発とテスト自体の試行回数も少なく今まで安全な開発を前提に行ってきたビットコインとはまるで違うものとなってしまいました。「2MBにハードフォークするだけだから開発が少ない」という主張もありましたが、コードにはバグがつきものでこの様なシンプルなコンセンサスルール変更であっても十分なテストが行なわれない場合はバグによる脆弱性やネットワークの停止などを引き起こす可能性があります。

4-1.今回のバグは起こるべくして起こった

ビットコインコア開発は400人を超えるデベロッパーが携わっており、多くのデベロッパーにより実装コードに対するレビューが行なわれています。対してSegWit2xは特定のデベロッパーを排除するため審査を受ける必要があり、更にKYCとして実名登録しなければ拒否されます。

現在ビットコインマイニングで使用されているProof of WorkのHashcashを開発した現Blockstream CEOのAdam Back氏をJeff氏はSlack上で「荒らしだ」と突然非難しアカウントをBAN、徹底的にデベロッパーを排除して制限した結果、今回の様なブロックのスタックということが起こってしまいました。

4-2.もしSegWit2xを強行していた場合

SegWit2xのフォークは主要マイニングプールにより支持されていたため、コミュニティが否定していなかった場合ブロックスタックが”ビットコイン”で起きていたということになります。またビットコインコアは明確にSegWit2xを支持しないと意思表明しているため今後も多くのバグがメインネット上で発見され、脆弱性によりビットコインネットワークのセキュリティ低下などにより大幅な価格暴落を引き起こした可能性も大いにあります。

この様な事例がないように多くのデベロッパーによるコードレビューと議論を重ね安全な開発を行うことで現在の14兆円という時価総額を維持できています。ここ最近多くのビットコインコアを排除しようとする一部のプロパガンダを見ることがありますが、そのようなことを実際に行った結果このようなことが起こってしまったと言っても過言ではないでしょう。

コアのSegWit2xに対する対応は下記を参照してください。

ビットコインのSegWitがロックインし、コアがSegWit2xを排除する

4-3.ビットコインの今後

SegWit2xという今年最大の難関をクリアしたビットコインは次にオフチェーン解決のライトニングネットワーク、取引所を介さず違うチェーン同士で取引が可能なAtomic Swap、更にはビットコインでスマートコントラクトを使用可能となるRSKのローンチと多くのアップデートを控えており2017年は更なる飛躍の年となると予想されます。

100万円まで後10万円となる90万円まで迫った今、7桁を超えるのも時間の問題ではないかと期待が高まっています。再度問題が現れるとすればビットコイン政治による同様のものが出て来ると考えられるため、常に警戒は必要です

ビットコイン取引は日本最大の取引所bitFlyerがオススメです。
bitFlyer ビットコインを始めるなら安心・安全な取引所で

スポンサーリンク





スポンサーリンク


ビットコインやイーサリアムその他仮想通貨の情報はツイッター上で速報を出しています。




Donate with IndieSquare



仮想通貨ランキング

次へ 投稿

前へ 投稿

© 2017 イーサリアム・ジャパン

テーマの著者 Anders Norén