LINEで送る
Pocket

bitcoin-ko

セグリゲイテッド・ウィットネス(SegWit)が10ヶ月にわたる議論の末、ついにアクティベートされることが確定した。

SegWitのアクティベーションは、ビットコインのブロック番号#479707で確定。今日中にロックイン期間に入る。その後、約2週間後に、正式にビットコインのネットワーク上でSegWitのプログラムが有効化される。トランザクション展性など、セカンドレイヤーに向けた拡張への足かせとなっていた長年のバグが、分岐リスクのあるハードフォークなしに、ついに取り除かれた。

ロックイン期間は、マイナーやウォレットソフトがSegWitのプログラムに対応するための準備期間にあたる。マイナーが新プログラムに対応していない場合、ブロックチェーンのフォークが発生してしまうため、このような期間が設けられる。SegWitのシグナルを配信しているマイナーの殆どはSegWitに対応したプログラムを動かしているため、大きな問題は起こらないだろう。

その背後で、現在のビットコインのバージョン0.14.2の次のバージョンと目される0.15において、ある変更がマージされたことで、再び一部のコミュニティで議論が再燃した。

この変更は、コアコントリビューターであるMatt Coralloによって提案されたもので、「2018年8月1日まではサービスビット(Service bit)の’6’と’8’を使っているノードを切断しよう」というもの。ビットコインコアと互換性のないサービスビットがシグナルされることで、ネットワークに負荷がかかること、そしてビットコインのコンセンサスルールと互換性のないサービスが提供されることにより、コンセンサス層に問題が発生する恐れがあることから、この変更内容はマージされた。

サービスビットは「NODE_NETWORK」や「NODE_BLOOM」、「NODE_WITNESS」などピア通信に係る信号を、ノード自身がネットワークに対して通知するために存在する。各サービスビットは、「NODE_NETWORK = (1 << 0)」のように定義されており、このシフト数によってどのようなピアサービスを提供しているかを識別する。(bitnodes.21.coより確認することができる)

上記で指摘されたサービスビット’6’と’8’とは、「Bitcoin-ABC」(a.k.a BitcoinCash)と、「btc1」(a.k.a SegWit2x)のことだ。このふたつのクライアントには、それぞれ異なるサービスビットが定義されている。

たとえば、Bitcoin-ABCには、「NODE_BITCOIN_CASH」(6bit)というサービスビットが定義されており、BitcoinCash独自のルールがあることがわかる。また、btc1には、「NODE_SEGWIT2X」(8bit)が定義されており、SegWit2xはこれを用いてハードフォークを行う予定だった。これらのコードは、各リポジトリのsrc/protocol.hを参照することで確認できる。

これに反対するのは、SegWit2xをサポートするbtc1クライアントのリード開発者Jeff Garzikだ。

Jeff Garzikは、「NAK。この変更は早すぎるネットワークの分岐を引き起こす。ビットコインコアは、すべてのSegWit2xノードを切断するつもりか。」と批判した。しかし、Matt Coralloはこれに対し、「コアと互換性のないコンセンサスルールを実行しさえしなければ、分岐が起こることはない」と冷静に反論した。

またBlockstreamのCTOであるGregory Maxwellは、SegWit2xが100%完全に互換性のあるクライアントでない限り、将来的な接続の問題を引き起こす可能性があるとし、特定のP2P通信を遮断してでも相対的なネットワーク・トポロジを守る手段を取る必要もあるだろうと述べている。

Segwitのアクティベーションが確定したことで、ビットコイン相場は急騰。仮想通貨取引所bitbankでは、一時40万円を超える高値を付けた。

  • ビットコインニュースを毎日お届け!

    BTCNの最新ニュースを毎日お昼ごろお届けします!

  • BTCN公式アカウントをフォロー

    follow us in feedly
シェアする

この記事を書いた人

ざきやま(山崎大輔)
ざきやま(山崎大輔)from Cryptocurrency world
ビットコイン専門記者 BTCN編集長
ブロックチェインの可能性を、知的財産の保護やゲーミングカルチャーへ応用できないかと考えてます。
monacoin:MTn7hiNovBHyN7gjtvD1Hh7W96Zmghp41B
bitcoin:1NK8S4ep9ZUZ9H9AmTAfvrCVVAKLbpmi36