Segwitの状況についての基礎理解と再整理をしてみました(UASF/Segwit2x)

レポート「ビットコインキャッシュの取り出し方&送金方法」を配信。画面付きで丁寧に解説ビットコイン研究所

レポート「アルトコイン図鑑」では30種類以上のコインの概要と見通しを解説レポート内容へ

Segwitのデプロイ関係を、もういちど簡潔にわかりやすく解説してみようと思う。

プロトコルの仕様それ自体、デプロイメントメソッド、推進体制、この3つがごっちゃになっているので、非常にわかりにくい。これを切り分けて整理する。

まず、プロトコルの仕様

  • BIP141 (Segwit)

これが、Segwitのプロトコルの仕様である。コア開発チーム主導で策定&実装された。BIP141= オリジナルのSegiwitと解釈してよい。BIP141自体の導入には現在はほぼ誰も反対をしておらず、コミュニティの大多数の同意が得られたと解釈されている。

もめているのは、デプロイメント方法(デプロイとは、アクティベート同義)。これには、3つ提案がある。

  • BIP9
  • BIP148 (UASF)
  • BIP91

BIP9とは、ソフトフォークをデプロイを効率&安全にできるようにするために導入された新方法。ブロックの中にversion bitsという情報を含ませこれをシグナルすることで、しきい値をもうけてアクティベートさせることができる。

version bitsは1から29まであり、29種類のソフトフォークを同時並行でデプロイ可能である。

Segwitはこの機能を用い、version bits=1のフラグを用い95%でアクティベートという設定になっている。

しかしご存知の通り、Segiwtのアクティベートはされていない。

次に、前提として重要な部分を理解したい。

・一旦はじまった BIP9 versionbits=1 のデプロイ自体を変更することは極めて困難。

というもの。

一旦、versionbits 1 を取り下げて、再度値を設定しなおしたり、別のversionbtsを使って、しきい値を下げたものを並行して投票にかければいいかと思いきや、これは難しい。

Segwitは、プロトコルの多くの部分に変更を加える大規模な改修であり、同様の機能のソフトフォークの別のコードを並行してデプロイすることは不可能である。このため、しきい値そのものを下げるなどをするには、11/15日のversion bits 1の期限切れの後に、再デプロイという形になる。

11/15日まで待てないので、BIP148と、BIP91が考案された。

これは、デプロイ方式を2階建てにしようというものだ。もともとのBIP9/bits 1は変更せず、しかしながら、bits 1をシグナルしないとペナルティを食らうようにして、bits 1をシグナルせざる得ない状況に追い込もうということである。

bits1をシグナルせざる得ない状況とはつまり、

  • bits 1 をシグナルしていないブロックは無効ブロックとして破棄するという追加ルール(ソフトフォーク)をデプロイする・・(1)

ということである。

さて、この(1)を実現する仕様に、BIP148、BIP91の2つがある。異なる点はこれ自体のデプロイ方法にある

BIP148(UASF)は、フラッグデイ・デプロイで、8/1という期日が来たら(1)のルールが強制適用されるというもの

BIP91は、(1)のルールを適用するために、BIP9を再度用い、version bis 4にて、80%のしきい値で、マイナー投票を行うというもの。80%に成功すると、(1)のルールが適用される。

BIP148と91は、適用方法がちがうものの、ゴールは(1)ルールの適用であることは同じで、結果は同じになる。そして、(1)が適用されると、BIP9-bits1が95%になり、Segiwitがデプロイされる結果になる。

整理すると、

BIP148/91 → BIP 9 bits1 → BIP 141 (segwit)

という構造になっている。

これらの話とは別に、2Mハードフォークがある。2Mハードフォークに関しても、いくつかの提案(BIP)が存在している状況だ。

最後が推進体制。ソフトウェアの名前である。開発体制とも大体一緒。これは3つある。

  • Bitcoin Core
  • Segwit2x
  • (Bitcoin Unlimited)

それぞれに支持する方法が違う。図にしたほうがわかりやすいので図にする。

開発・推進体制・ソフトウェア名 BIP141(Segwit) BIP141のデプロイ方法 2Mハードフォーク
BIP9 BIP148 BIP91
Bitcoin Core 賛成 賛成 容認 否定しない 反対
Segwit2x 賛成 反対 反対 賛成 賛成
Bitcoin Unlimited 反対 反対 反対 反対 賛成

Segiwit2xは、わかりにくいが、これは新ソフトウェアの名前で、これにどのような仕様を含めるかというのは別の問題である(決まっていない)。今のところ、BIP141のオリジナルSegwitと、BIP91が、Segwit2xに含まれるようだ。

 

詳細日本語マニュアル付きTrezorの購入はコインギフトから

初心者向け「使って勉強!ビットコイン」DMMオンラインサロン