ビットコインにとって今年最大の問題であったSegWi2x。11月8日にデベロッパーのJeff Gazik氏やBitmain CEO Jihan Wu氏、最大手DEX ShapeShift CEOのErik Voorhees氏含む6人によって「現時点でのブロックサイズ引き上げのコンセンサスが得られていないのは明確」とし、延期が発表されました。ですが一部のマイナーによる2MBハードフォーク強行が警戒される中分岐するブロックの2ブロック前でSegWit2xクライアントのbtc1ノードが凍結、フォークは起こりませんでした。
スポンサーリンク超速報:SegWit2xのBTC1ノードがフォークブロックとなる#494,784の2つ前のブロックとなる#494,782で凍結した模様。フォーク自体は2MBにブロックサイズを引き上げるシンプルなものだったためバグとは考えにくい #ビットコイン #Bitcoin #仮想通貨 #ブロックチェーン #フィンテック $BTC https://t.co/m4tBNCu6nM
— 墨汁うまい(Not giving away ETH) (@bokujyuumai) November 17, 2017
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取引所が合同声明を発表し、未然に食い止めることができました。
詳細は下記記事を参照してください。
この後Jihan氏はこの後妥協案としてSegWit+2MBハードフォークならSegWit導入を受け入れると発言していました。
このSegWit+2MBというのは現在のNYAと同様ですが元々は2016年2月21日に香港で主要コアデベロッパーやマイニングプールのオペレーターなどを集めて行った円卓会議において合意したものが基となっています。
1-2-1.香港ビットコイン円卓会議参加者
氏名 | 所属 | 詳細 |
---|---|---|
Kevin Pan | Antpool | プール管理者 |
Jonson Lau | コアデベロッパー | BIP141 SegWitの提案者の一人 |
Luke Dashjr | コアデベロッパー | |
Matt Corallo | コアデベロッパー | |
Peter Todd | コアデベロッパー | |
Phil Potter | Bitfinex | USD最大の取引所BitfinexのCEO |
Jihan Wu | Bitmain | Bitmain CEO |
Adam Back | Blockstream | Blockstream CEOでProof of Workの開発者 |
Bobby Lee | BTCC | 元中国三大取引所のCEO |
Samson Mow | Blockstream (BTCC) | 元BTCC COOで現Blockstream CSO |
Mark Lamb | Coinfloor | 英国最大手取引所の創設者 |
Wang Chun | F2Pool | プールのCEO |
Valery Vavilov | Bitfury | プールのCEO |
Wu Gang | Bixin (元HaoBTC) | 現BixinプールCEO |
Leon Li | Huobi | 元中国三大取引所CEO |
Star Xu | OKCoin | 元中国三大取引所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ではありませんでした。
速報:#Coinbase の提供するプロ取引所 #GDAX「#SegWit2x のデベロッパーは延期を発表し、署名者も既に離れているにも関わらず、潜在的にブロック#494784で一部のマイナーによりフォークする可能性がある」と対応を発表 #ビットコイン #仮想通貨 #Bitcoin $BTC #ブロックチェーン https://t.co/s15zemZSRQ
— 墨汁うまい(Not giving away ETH) (@bokujyuumai) November 17, 2017
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ノードまで落ちています。
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上を確認するとレビューは一切なくマージされていることがわかります。
3-3.Jeff Gazik氏がホットフィックスをリリース
SegWit2xのデベロッパーJeff氏は問題が露見した後、約1時間後に問題を一時的に修正したホットフィックスをリリースしました。これは大きいトランザクションブロックを生成することを容易にするためのもので、原因となる「1MB以上のブロックをマイナーが生成するすることを防止していたコード」によるものという理由です。
1MB以上のブロックが生成できないとフォーク自体ができないという単純なミスということになります
4.SegWit2xバグの結論と考察
SegWit2xは開発とテスト自体の試行回数も少なく今まで安全な開発を前提に行ってきたビットコインとはまるで違うものとなってしまいました。「2MBにハードフォークするだけだから開発が少ない」という主張もありましたが、コードにはバグがつきものでこの様なシンプルなコンセンサスルール変更であっても十分なテストが行なわれない場合はバグによる脆弱性やネットワークの停止などを引き起こす可能性があります。
4-1.今回のバグは起こるべくして起こった
ビットコインコア開発は400人を超えるデベロッパーが携わっており、多くのデベロッパーにより実装コードに対するレビューが行なわれています。対してSegWit2xは特定のデベロッパーを排除するため審査を受ける必要があり、更にKYCとして実名登録しなければ拒否されます。
現在ビットコインマイニングで使用されているProof of WorkのHashcashを開発した現Blockstream CEOのAdam Back氏をJeff氏はSlack上で「荒らしだ」と突然非難しアカウントをBAN、徹底的にデベロッパーを排除して制限した結果、今回の様なブロックのスタックということが起こってしまいました。
SegWit2xのクライアントを開発するにはまずデベロッパーとして"審査"を受ける必要があります。更に実名でないと登録さえ出来ず"拒否"されます
オープンソース開発とはなんだったのか。。。#ビットコイン #仮想通貨 #Bitcoin $BTC #ブロックチェーン $B2X https://t.co/hJXmXeX9dM
— 墨汁うまい(Not giving away ETH) (@bokujyuumai) October 10, 2017
4-2.もしSegWit2xを強行していた場合
SegWit2xのフォークは主要マイニングプールにより支持されていたため、コミュニティが否定していなかった場合ブロックスタックが”ビットコイン”で起きていたということになります。またビットコインコアは明確にSegWit2xを支持しないと意思表明しているため今後も多くのバグがメインネット上で発見され、脆弱性によりビットコインネットワークのセキュリティ低下などにより大幅な価格暴落を引き起こした可能性も大いにあります。
この様な事例がないように多くのデベロッパーによるコードレビューと議論を重ね安全な開発を行うことで現在の14兆円という時価総額を維持できています。ここ最近多くのビットコインコアを排除しようとする一部のプロパガンダを見ることがありますが、そのようなことを実際に行った結果このようなことが起こってしまったと言っても過言ではないでしょう。
コアのSegWit2xに対する対応は下記を参照してください。
4-3.ビットコインの今後
SegWit2xという今年最大の難関をクリアしたビットコインは次にオフチェーン解決のライトニングネットワーク、取引所を介さず違うチェーン同士で取引が可能なAtomic Swap、更にはビットコインでスマートコントラクトを使用可能となるRSKのローンチと多くのアップデートを控えており2017年は更なる飛躍の年となると予想されます。
100万円まで後10万円となる90万円まで迫った今、7桁を超えるのも時間の問題ではないかと期待が高まっています。再度問題が現れるとすればビットコイン政治による同様のものが出て来ると考えられるため、常に警戒は必要です
速報:#ビットコイン と双方向にペッグ可能なサイドチェーンで、スマートコントラストを実装する #RSK は年内にメインネットにローンチするとし、「Solidityで書かれたコントラクトを #Bitcoin を使用し、デプロイできる」と明かした #仮想通貨 #ブロックチェーン https://t.co/m85EOQRQCl
— 墨汁うまい(Not giving away ETH) (@bokujyuumai) November 6, 2017
ビットコイン取引は日本最大の取引所bitFlyerがオススメです。
スポンサーリンク
スポンサーリンク
ビットコインやイーサリアムその他仮想通貨の情報はツイッター上で速報を出しています。
Follow @bokujyuumai Tweet
仮想通貨ランキング Tweets by bokujyuumai