今週のレポートは、UASFの最前線と行く末についてレポートします。

最近は、英語圏のツイッターで名前のところにUASFと書いているひとが多くみられます。これは、8月1日に予定されているBIP-148に基づいたUASFを支持するという表明です。

最近はSegwit2Mなどの提案もあり、ビットコイン界隈は落ち着いたように見えますが、内部の分裂はまったく収まりそうになく、次の節目として、このUASFがどうなるかに注目が集まりつつあります。

結果によっては、ビットコインがフォークする(2つのコインに別れる)ことも予想されており、ユーザーにとっても大きな影響のあるイベントです。

しかしながら、日本語での情報が皆無なため、状況を把握している人は少ないと思います。本レポートでは、UASF-BIP-148とは何か?ということから、その予想される結果や、それを取り巻く状況についてレポートします。

  • UASF、BIP-148とは何か?
  • UASFでブロックチェーンはどのようになるのか?
  • 8月1日に予想される事態のシナリオ
  • 支持状況について
  • ゲーム理論からのUASFへの示唆
  • BIP-91という新オプション

といったところを取り上げます。

(※なお、予め断っておきますが筆者は個人的にはUASFに賛成です。ただしレポートはなるべく客観的に状況を書くように努めています)

UASFとはなにか?

まずは、UASFとBIP-148についてのおさらいです。(理解しているひとは飛ばしてください)。

UASFとは、ユーザー・アクティベイテッド・ソフトフォークの略です。ご存知の通り、Segwitは、マイナーの95%のサポートがあってアクティベートされます。しかしながら、現状では、これが達成される見込みはほとんどありません。

そこで、マイナーがこれを後押ししないのであれば、ユーザーが主導でSegwitのアクティベートができないかというのがUASFの試みです。

具体的には、ウォレットや取引所など、エコノミーノード(経済的な主体が走らせるノード)が、UASFをサポートすることで、マイナーにたいして、プレッシャーをかけようという試みになります。

最終的にはマイナーの95%の賛成が必要な状況は変わらないのですが、ユーザーがSegwitを選択する様子を示すことにより、マイナーがSegwitに賛成したほうが「得」だと思わせることで、マイナーの意思決定を変えようという意図があります。

UASFを提案した、匿名人物の少林氏は、

「マイナーが投票権を持っていて、プロトコル変更への可否を決めるといった形にとらえられていること」が問題だとして、マイナーは意思決定機関ではなく、ユーザーやエコノミーの意向にしたがって、検証サービスを提供する存在に過ぎない、としています。

この考えに基づいて、ユーザー主導で行われるソフトフォークが、UASFということになります。

BIP-148「Segwitのアクティベーションの義務付け」とは?

UASFについては、2つの提案がなされています。BIP-148とBIP-149です。いずれも少林氏の提案です。2つの提案はまったく違うものなのですが、BIP-149のほうは、11月15日のSegwitアクティベート期限以降の再デプロイ提案なので、まだ先の話です。今回は、直近議論されている、BIP-148について、解説します。

BIP-148は、Mandatory activation of segwit deploymentという名前になっており、日本語に直すと、「Segwitのアクティベーションの義務付け」といわれるようなものです。

BIP: 148 Title: Mandatory activation of segwit deployment

具体的には、ある特定の日を決めて(8月1日)、その日を境にBIP148を採用しているノードやウォレットや取引所は、Segwitシグナル付き以外のブロックの受取を拒否します。

つまり、Segwitのシグナリングを立ててないブロックが採掘されても、ネットワークやウォレットや取引所からみて「不正ブロック」とみして、捨てられてしまうのです。

となれば、マイナーとしては、不正ブロックとして捨てられてしまうと、せっかく掘ったコインが無価値になってしまいますから、困ったことになります。しかたないので、マイナーはSegwitシグナリングをし始めるだろう、というのが簡単な道筋です。

現在は、支持表明をめぐって、いろいろな政治的な動きが始まっている段階で、今後の2ヶ月で、さらにいろいろと動くでしょう。

以下、本レポートでは、UASFとは、”BIP-148の仕様にもとづいた8月1日のUASF”のこととして解説します。

Segwit-2Mとの違いは?

さて、先日は、デジタルカレンシーグループによる、Segwit-2M提案がなされて、マイナーの80%が賛成したというニュースがありました。

同じくSegwitがアクティベートされるように見えますが、この提案と、UASFは何がちがうのでしょうか?

Segwit-2Mは、

  • 現行とは違う方法(バージョンビッツ4)によりSegwitをアクティベートする
  • Segwitがアクティベートされると6ヶ月後の2Mハードフォークもアクティベートされる(同時にアクティベート)
  • 基準はマイナーの80%
  • コードは、現在のコアクライアントをフォークしたものが第三者により提供される
  • 現開発体制は引き継がない予定

UASFは、

  • 現行の95%アクティベートの方法による
  • コードは、現在のコアクライアントに、ユーザーが改変(パッチ)を当てる
  • 2Mハードフォークは論点として含まない
  • 現開発体制を引き継ぐ

というものです。

UASFは現在の路線(まずSegwitのアクティベートを行い、2Mハードフォークはなし)というものを、推し進めるための方策ということがいえます。

端的にいうと、2Mハードフォークを含まないものがUASF、含むものがSegwit2Mで、また、現状の開発体制(コア開発者によるもの)を引き継ぐのがUASF、別のチームによる開発にスイッチするのが2MSegwitだと言えます。

UASFの予想される結末とは?

UASFの起こりうる結果については、開発者のLuke Jr.がブログにわかりやすく整理をしているので、これを引用、解説します。

BIP148 and the risks it entails for you (whether you run a BIP148 node or not)

このブログによれば、次のとおりの結果になります。

  •  8月1日以前に、95%のマイナーがSegwitのシグナルを開始すれば、そのままSegiwtがアクティベートされ、チェーンの分岐はおこらない。
  • 8月1日以前に、51%のマイナーがBIP148に賛成すれば、チェーンの分岐は怒らない
  • 8月1日以降、51%のマイナーがーがBIP148に賛成すれば、チェーンは1つに再編成される
  • 8月1日以降、従来のマイナーが、BIP148を常に上回るパワーを持てば、チェーンは2つに分岐し続ける。

とあります。

表にまとめると、以下になります。

ハッシュパワー

8月1日以前

8月1日以降

BIP148支持

51%以上

→チェーン分岐せずSegwitアクティベート

51%以上

→チェーン分岐するが、BIP148チェーンに収束する。

レガシーチェーン支持

51%以上→現状(変わらず)

51%以上

→チェーン分岐つづく


UASFといっても最終的にはマイナー次第なのですが、UASFの場合境目が51%になり、BIP148賛成が51%以上になった時点で、急速にBIP148チェーンが勝利するということになります。

このからくりは次の節で解説します。

しかしながら、いずれにしても、チェーンが一時的に分岐する可能性は非常に高いです。

UASFが起きるとブロックチェーンはどうなるのか?

8月1日に何が起こるのかについては、マイナーのハッシュパワーと、ブロックの状況を理解していくことで、動作がわかるようになります。

以下それについて解説します。

まず、UASFが行われると、ビットコインのネットワークは確実に2つに分岐します。つまりフォークが起こります。

  • BIP-148のノードとマイナーは、Segwitのブロックだけを受取り、ブロックチェーンの末尾に加えます。

  • BIP-148反対(レガシーと呼びます)は、Segwitも、通常のブロック(レガシーブロック)の両方をブロックチェーンの末尾に加えます。

この結果、ブロックの構成が別々のものになり、いわゆるフォークが起こることになります。BIP-148チェーンと、レガシーチェーンの2つに分岐するということです。

これを図解します。


一般のユーザーが送金をする場合は、実はそれほど問題が起こりません。どちらにしても、そのトランザクションは、BIP148チェーン、レガシーチェーン、どちらのチェーンにおいても、時間がたてばどこかのブロックに取り込まれてコンファームされるからです。いつコンファームされるかという時間の前後の問題がありますが、いずれコンファームされます。(ただしこの間の2重支払い攻撃の可能性は除く)。

なお、UASFでは、フォークした際にコインを別々にあつかう「リプレイプロテクション」はありません。

しかし、問題は、マイナーが生成する新しいビットコインです。新規のビットコインは、どちらかのチェーンでしか創りだされません。つまり、BIP-148のチェーンでは新規コインはBIP148のマイナーの元に、レガシーチェーンではレガシーマイナーの元に生成されるわけで、完全に持ち主が別々のコインがそれぞれに新規生成されるわけです。

このコインは、生成されて100ブロックが経つと利用可能になります。つまり、8月1日の分岐のあと100ブロック後に、この新しいコインが動かせるようになってくると、このコインを受け取る人はコインをどう扱うのかということで、判断を迫られることにもなります。

ユーザー(ウォレット)や、取引所は、BIP-148チェーンかレガシーチェーンか、どちらを参照するかによって、取引の内容や、コインの総数などが異なるということになります。

8月1日以降、ユーザーや取引所はどちらのチェーンを参照しているのかを意識し、区別する必要に迫られます。

レガシーチェーンに起きうる再編成リスクとは?

このチェーンの分岐はどのように収まるのでしょうか?

チェーンの再編成リスクというのを解説しなくてはいけません。

ブロックチェーンというのは、分岐した場合「長い方を有効にする」というルールがあるのはご存知のとおりです。このルールがあることで、チェーンの再編成ということがおきます。

現在でも、チェーンは頻繁に分岐しています。ほぼ同時にマイナーがブロックを見つけると、チェーンは2つに一時的に分岐します。しかしながら、マイナーは、分岐した2つのチェーンを同時にマイニングすることはできませんので、どちらかのチェーンを選んでマイニングします。その結果、その次のブロックが発見された瞬間に、長い方のチェーンが確定して、チェーンの分岐が収束します。これは日常的におこっている現象です。

ただし、こうした自然なチェーンの分岐は、1ブロック程度しか起きず、すぐに収束するようになっています。

UASFが起きた場合、この一時的なチェーンの分岐がキーになります。

説明したように、8月1日以降、チェーンは2つにわかれます。マイナーは、最後のブロックを境目に、Segwitのブロックを採掘して伸ばすか、それともレガシーブロックを伸ばすかの2択を迫られます。同時に2つのブロックを採掘することはできません。

しかし、あるときに、BIP-148チェーンのほうがレガシーチェーンより、長くなった場合どういうことが起きるでしょうか。つまりBIP-148の採掘者が51%を超えて維持された場合で、その場合はどこかの時点で、BIP-148チェーンがレガシーチェーンの長さを超えます。

そうすると、レガシーチェーンは、その瞬間に負けししまい、フォークが起きた時点まで遡ってすべて消えてなくなります。そして、BIP-148チェーンのほうが有効な存続チェーンとして認識されます。

これがチェーンの再編成(re-org)と呼ばれる現象です。これが起きると、レガシーチェーンで採掘した新規コインはすべて消えてなくなりますので、マイナーとしては受け取った新規コインが消滅しますし、採掘手数料も消えてなくなります。レガシーチェーンを参照していた、ユーザーやウォレット取引所は、新規コインが消滅し、承認されていたトランザクションが未承認になってしまったりすることも起こります。

チェーンの再編成がもし起こると、レガシーチェーンを採掘していたマイナーや、レガシチェーンを参照して取引をしてたユーザーや取引所は大きな損害を被ることになると思います。これは非常におおきなリスクです。

一方で、レガシーチェーンのハッシュパワーが大きく、それが51%を超えて、レガシーチェーンのほうが長い状況が続くとどうなるのでしょうか?

その場合は、BIP-148チェーンは同様に消えてなくなるのでしょうか?

答えは、BIP-148チェーンは残るです。

レガシーチェーンが長い状況が続いても、BIP-148チェーンはなくなりません。この場合は、両方のチェーンが並行して存続し、フォークの状態が永続します。コインは2つに別れます。

なぜ、BIP-148チェーンは短くても消滅しないかというと、このチェーンが「ソフトフォーク」だからです。BIP148の「Segwitのブロックのみを有効とするというルール」は、いままでルールを「狭める」方向です。「決まり事をより厳格にする」とのがソフトフォークです。この場合ソフトフォーク側のチェーンは再編成リスクがありません。

どうしてかというと、ルールを狭めた場合、狭めてない元のルールのブロックはそもそも無効ということになるからです。つまり、SegwitシグナリングのないブロックはBIP148のソフトフォークのルールからすると初めから無効なチェーンであり、長かろうが短かろうが関係なく、無効でしかないからです。

しかしながら、レガシーチェーンから見ると、そうではありません。レガシーチェーンからみると、Segwitのブロックも、そうでないブロックも、どちらも有効なのです。レガシーチェーンはルールを変えているわけではないので、どちらも有効なのです。ですから、単に長さだけが決め手になり、もしBIP-148チェーンが長くなると、そのチェーンが有効な最も長いチェーンとして再編成が起きてしまうのです。

整理すると、

  • BIP-148チェーンに再編成リスクはない。
  • レガシーチェーンのみに再編成リスクがある。

となります。

このリスクの違いにより、マイナーが十分合理的なら次の行動をとることになります。

  • レガシーチェーンを支持する場合、絶対に51%を下回らないように永続的に掘り続け圧倒多数を維持することが必要
  • もし、BIP-148のハッシュパワーが51%を超えそうと予想されるなら、BIP-148チェーンを掘らないと再編成損害をうける

こうした動機付けが行われます。

マイナーとしては、予想ゲームになるといえます。もしBIP-148チェーンが51%の支持を得ると予想できたら、急速にBIP-148チェーンが伸びてそれに収束することになるはずです。

これが、UASFが51%ゲームであることを示すものです。

8月1日に起こりうるケースのシナリオ

ではこれを元に、8月1日の予想されるシナリオを考えてみましょう。

  • 8月1日以前に、51%のマイナーがBIP-148チェーンを支持することが予想されたり、雰囲気が醸成された場合 → 8月1日開始すぐに、多数のマイナーがBIP148チェーンを掘り始め、UASFが成功する。おそらく即日に結果が出る。結果、2週間後にSegwitがロックインする。
  • 8月1日以前に、多数のマイナーがレガシーチェーンを支持し、誰ひとりとしてBIP-148チェーンを掘る人が現れないことが予想される雰囲気になった場合 → 8月1日は何も起きず、何事もなかったように、何事もおきない
  • 8月1日以降、もしBIP148チェーンを掘るマイナーが少数でも居れば、ビットコインは確実にフォークする。マイナーチェーンは、ハッシュパワーが下がるため、承認に多くの時間を要することになる。
  • BIP148チェーンを掘るマイナーがそれなりの数いるが、51%を超えない場合、フォークは長引くことになり、収束するまで、喧々諤々の闘争が行われるだろう。しかし、どちらの陣営も、無駄なコストはかけられず、数日で事態は決着すると思われる。

という状況になります。

ということになると、結局は、マイナーがどちらのブロックを掘るかによって決まり、その境目は95%ではなく、51%になるということになります。つまりUASFといいつつも、最後はマイナーの決定がすべてを決めます。

結局マイナーに最終的な決定が委ねられるので、これではユーザー・アクティベイテッドではないではないかということなんですが、最後はマイナー次第であっても、8月1日までのユーザー側の働きかけによって、BIP-148を掘らざるえない(再編成リスクふくめ)ようにマイナーを追い詰めるというか、マイナーに思わせることができるかどうか、そうした心理ゲームという意味合いが強いように思います。

たとえば、主要な取引所がBIP-148を支持し、レガシーチェーンのコインは(再編成リスクがあるため)扱わない、としたらどうでしょうか?

こうなったら、マイナーは、レガシーチェーンを掘る動機の多くが失われます。採掘して得たコインを売ることができないのですから。他のマイナーもそうしたリスクを犯さないだろう予想するなら、マイナーはBIP148を掘り始めるかもしれません。

こうしたユーザー側の働きかけにより、8月1日までにマイナーの意思決定を変えさせられるかというのが、UASFの成功のポイントになると思われます。

マイナーの反対を揺らがせるようなユーザー側の行動としては、つぎのようなものが上げられるのではないかと私は考えています。

  • 主要取引所のBIP148コインのみの取り扱い声明。(レガシーコインは扱わない)
  • 主要ウォレットによるBIP148コインのみの受入表明
  • ペイメントプロセッサーによるBIP148コインのみの受入表明
  • 上記プレイヤーが、チェーン分岐をしても構わないという強い意志の示す。

ただし、どれも思い切った声明であり、後のほうで解説する支持状況からすると、現在のところこうした動きはみられません。

一般のユーザーはどう準備すべきか

UASFに賛成でもない、反対でもない、ごく一般のユーザーはどうすべきかについてお答えします。

まず、BIP-148チェーンを掘るマイナーがひとりでもいた場合、チェーンは確実にフォークします。つまり2つのビットコインが誕生することは確実です。

ですので、フォークの際のセオリーにもとづいて、次の対処法をしてください

  • ビットコインを取引所や第三者のサービス上におかず、自分のウォレットに引き出すこと
  • 自分で秘密鍵がコントロールできるウォレットを利用すること
  • 事態が収束するまでビットコインの送金を行わないこと

これらは、一方のチェーンのみしかサポートしない場合があり、自分の意思で適時コインを移動したり売買することが難しくなる可能性があります。最悪の場合、一方のコインが放棄される場合があります。

もっとも確実なのは8月1日の前に、秘密鍵をコントロールできるタイプのウォレットにコインを引き出し、事態が収束するまで、送金などを行わないことです。

秘密鍵をコントロールできるウォレットは、

  • Mycelium、Co-pay、Bread wallet、Trezor、Ledger Wallet、Keep key、Multibit、Electrumなどです。

UASF-BIP148の支持状況について

開発者の支持状況

UASFは、現状のコア開発のロードマップを後押しするものであるため、支持層はコア派を中心ということになっていると思います。

しかしながら、コア開発としてはBIP-148に対しては、積極的な支持はしていないようです。Juke Jrなどごく一部の開発者は個人的に支持しているようですが、コアクライアントに取り入れるようなことはなされていません。

Githubでは、BIP-148をコアクライアントにデフォルトで取り込む提案(プルリクエスト)がされました。(2週間前)下記。

しかしながら、結果をいうとこれは却下されました。Closedになってます。

理由としては、

「BIP148を走らせるということは、ユーザーがリスクを取るということだ。51%以上のマイナーの賛成が無い限り、BIP148ユーザーはフォーク・オフすることになる。このようなことをデフォルトで取り入れることはできない」(sipa)

「私は、BIP-148が起こるとはおもっていない。少数のノードがフォーク・オフしても、再びレガシーチェーンに戻るだろう。ユーザーにBIP148を強制することは、コアクライアント以外の別のソフトウェアの利用を推奨することになる」(sipa)

といった感じで、コアの開発者のなかでもBIP148をデフォルトで採用(推奨する)ことには反対が多いようです。

そこで、代わりに、BIP148を行いたいユーザーが、オプションでBIP148に対応できるようにしよう趣旨のプルリクエストが出されました。

これに関してはやや賛成が多いものの、不賛成も多くみられます。開発においては、ほぼ全員一致のものでないとコアには取り込まれませんので、一部に反対者がいるということは、多分これも取り込まれないと予想されます。

(修正&追記 6/3)どうも、発言力のあるMakku氏が、このようなコメントを出しました。

「開発者にとってはユーザーの選択がとても大事です。・開発者が支持されていないルール変更をおこなっても、ユーザーはそれを採用しないことで、ルール改定を防ぐことができます。・もし業界が支持されていないルール変更をしても、ユーザーはそれを採用しないことで防ぐことができます・マイナーが望ましくないソフトフォークをアクティベートさせた場合、ユーザーはそれらのチェーンを無効なものと判定することで対抗できます。・マイナーが、支持されている理想的なテクノロジをデプロイしないなら、UASFによって、適切なときにそれを強制できます。

ユーザーがそうしたアクションを取ることに開発者がハンデキャップをもうけるべきではない」

「コアの責務は、適切にBIP148の仕様をレビューし、極端なケースを修正し、BIP148をオプションとして利用できるよう、コア本体にマージすることです」

つまり、BIP-148はユーザーの一定の支持をすでに得ているので、これを走らせたいひとが居た場合、むしろ現在十分テストされてない野良コードを走らせてもらうと困るので、ちゃんとレビュー&テストして、おかしなことが起こらないようなコードを提供するのが開発者の責務、といったことだと思われます。

これに呼応して、Juke-jrが、BIP148をもう一度見直してチェックし、テストコードを買いて、適切なレビュープロセスを踏めるように開発しているようです。

これによって、おそらく、コアにマージされるんじゃないかと思われます。

  • 個人的なBIP-148支持者がいる(Juke Jr.ほか)
  • が、コアクライアントとしてUASFを推奨することはない
  • やりたい人が勝手にやるのは防がないし、ユーザーの権利
  • しかし、変なコードが走ると困るし、開発者の責任としてはちゃんとレビューされ安全なBIP-148のコードを作り、オプションとして提供する

といったあたりが、最新のスタンスと思われます。(2017/6/3)

2. ウォレットの支持状況

ウォレットにおいては一部のウォレット(Trezor)などが、BIP-148への対処を表明しています

  • Trezorは、BIP-148チェーンのフォークが起きた場合、ユーザーがどちらのチェーンで送金するかを選択できるように対応すると表明しています。

  • Bread walletはサーバーを介さず、ランダムに近隣のノードを見に行くタイプなので、自分がどちらのチェーンを見ているかが判断つきません。なので、自分が接続しているチェーンを明示的に指定できるオプションを実装するそうです。

たとえば、BIP-148対応のフルノードを自分で立てている場合。Bread walletで、そのノードのIPアドレスを指定すれば、確実にBIP148チェーンを見に行くことができます。

また、Samourai Walletと、Bitcoin Walletは、すでに接続ノードを選ぶ機能が実装されているので、それを使ってBIP148のノードを指定してあげれば、そのチェーンを参照しにいきます。詳しくは、「067 フルノードとウォレットの組み合わせで完全にプライバシーを保つ方法(実践編)」のレポートをみてください。

なお、ウォレットを利用する際には気をつけてください。事態が収束し、どちらかのチェーンの勝利が確実になるまで、ビットコインの移動は行わないとことをお勧めします。

(追記)Mycelium、Ledger、Electrumが、BIP148のチェーンを参照できるように対応するとのことです。

3. マイナーの支持状況

マイナーにいたっては、先日のSegwit2Mに80%が賛成していることから、ほとんどはそれに賛成ということです。仮にBIP-148を掘るマイナーがいたとしても、現時点ではどれだけ多く見積もっても20%に満たず、もしかしたらまったくいないかもしれないという状況です。

4. 取引所の支持状況

BIP-148を支持した取引所はいまのところ無しです。現状、取引所としてはUASFが現実になるとは考えていないようで、スルーしているというのが実際でしょう。

5. まとめ

したがって、UASFは、冷静にみて、まだユーザーの多くの支持を得ていないというのが結論です。UASFという名前のとおり、ユーザー、ウォレット、取引所といったマイナー以外のエコシステムが、強い意思をしめしてこそ成功するというたぐいのものですから、それらのビジネス界が、UASF一本にまとまって、それを行うという結束が必要になります。それが、マイナーの意思決定を覆すわけですから。そういう意味では、現在のところUASFはそこまでには至ってない、業界のコンセンサスを得ていないというのが現実です。(といいつつも、公言しないが、隠れUASF支持は結構居る気もしてます・・)

ゲーム理論からのUASFへの示唆

しかしながら、次のブログによれば、UASFは多数の賛成を得る必要はない、と分析しており、興味ふかいです。UASF派がマイノリティーであっても、強い意思をしめすことで、多数派のマイナーの意見を変えさせることができるとしています。

User Activated Soft Forks and the Intolerant Minority

https://medium.com/@alpalpalp/user-activated-soft-forks-and-the-intolerant-minority-a54e57869f57

マイノリティーがフォークを辞さず、UASFを確実に行う意思を示すことがキーであるといっています。

  • 強い意思をもったマイノリティvs両面性のあるマジョリティ

UASFにより、確実にフォークが起こるということをマイナーが確信すれば、マイナーはチェーンが2つに別れることを避けます。というのも、経済的には、たとえば、チェーンが2つに別れた場合、双方のコインの価値が減ります。つまり、UASFに反対することで、たとえレガシーチェーンが維持できても、掘るコインの価値が減ってしまうことになります。それが予想されるとき、マイナーはUASFに反対しないほうが、チェーンが分岐せず、いままでどおり100%の収入が得られることになります。これにより、強い意志のマイノリティは、マジョリティに勝てると分析しています。

ですので、UASFに強く賛成し、フォークを厭わない大手のビジネスユーザー(取引所)などが1つ2つ出てきたら、状況が大きくかわるかもしれません。

  • 強い意志のマイノリティ vs 強い意志のマイノリティ

一方で、マイナー側にも、絶対に譲れない事情があり、絶対のその利益を守るという意志があるとすると、UASFとその利害がぶつかった場合は、2つのコインに分裂することが避けられないと分析しています。ブログでは、宗教同士の対立ということを上げて、譲れない利害がある場合、2つに分裂せざる得ないと結論づけています。

例を考えてみると、ジーハンもチェーンの分岐を厭わず、コインが2つになってもASICBOOSTによる利益を守る理由があるとするならば、ビットコインは、Segwitコインと、ジーハンASICBOOSTコインに2つに別れるでしょう。しかし、それはそれで、分裂はいずれにしても避けがたいので、別れても仕方なかったということが言えるかもしれません。

このブログの分析では、どちらにしても、UASFの成功は、強い意思をもつひとがどれだけいるか、ということにかかっているとしています。

BIP-91 という新オプションの登場

さて、このレポートをほぼ書き上げた時点で、もうひとつの有力な案が浮上してきました。それがBIP-91と呼ばれるソフトフォーク案です。

https://github.com/bitcoin/bips/blob/master/bip-0091.mediawiki

これは、Segwitのマイナーによるアクティベートのしきい値を80%にするという提案です。

これについては、とてもややこしいのですが、デジタルカレンシーグループによるSegiwt2Mの提案における80%とは違う提案です。

BIP-91は、

  • 新しくバージョンビット4を使うことで、segsignalというものを発する。
  • マイナーの80%のシグナルにて、これがアクティベートされる
  • アクティベートされた場合、ネットワークは従来のSegwitシグナリング(バージョンビット1)がないブロックを不正ブロックとして拒否する。
  • これにより、即座にマイナーはバージョンビット1を採用し、結果として当初の95%のアクティベートが達成される
  • ハードフォークは関係なく、Segwitのみがアクティベートされる

というものです。

これは、BIP-148と同じようなアプローチで、Segwitの現行のアクティベート(95%)を変えるのではなく、アクティベートをせざる得ない方向に持っていくというものです。

BIP-148との違いは、BIP148がフラッグデイトを8月1日に決めてゲリラ的におこなうのに対して、BIP-91はそれ自体の可否を再びマイナーに伺うかたち(80%)で行います。

デジタルカレンシーグループのSegwit-2Mとの違いは、

Segwit-2Mは、

  • 現在のバージョンビット1とは別の仕組み(バージョンビット4)で、Segwitの並行デプロイをおこない、しきい値を80%に設定し直す
  • 80%が達成されると、同時に6ヶ月後のハードフォークが起こるという時限装置が発動

というものです。

BIP-148が出てきた背景には、Segwit2Mが考えている並行デプロイが技術的に不可能であるという指摘が、多くの開発者からなされたということです。

https://github.com/btc1/bitcoin

Segwit2Mは、既に上記のレポジトリをつかって、開発が進んでいます。

そのなかで、Segwit2xのバージョンビット4による並行デプロイのプルリクエストがあるのですが、コメントを見てみると、多くの開発者より、

「このコードは現行のSegwitのデプロイとコンフリクトを起こして、動作しない」と指摘されています。

このことより、80%のしきい値でSegwitをアクティベートさせたいなら、並行デプロイではなく、従来のバージョンビット1(95%)を後押しするかたちの方式をすべきだということで、対案として提案されたのがBIP-91と理解しています。

Segiwt2Mのスケジュールと現実性

先日Segwit2Mのスケジュール案がリークされました。

これによると、半月でアルファ板をだして、その1ヶ月後に本番ソフトウェアを出すというスケジュールになっています。

Segwit2Mの合意案は政治的な合意であって、コードの現実性は考慮されていません。いざやってみると、単純なSegiwtの並行デプロイは難しく、仮に並行デプロイのコードを書くにしても、広範囲にわたる修正が必要なため、1ヶ月半といったタイムラインでは安全なものは作れないだろうというのが、みかたです。

となると、バリー案も、すんなりとは上手くいかなそうです。

となると、BIP-91によるSegwitアクティベートが代案として考えられるのですが、説明したとおりにこの代案では80%でアクティベートが可能なものの、ハードフォークに関してはまた別になるため、どうしてもハードフォークしたいマイナー側が、Segwitアクティベート単体にたいして80%の賛成をするとも思えません。

現在あるオプションを整理すると、

  • BIP-148ソフトフォーク(8月1日期限、マイナー51%の賛成で事実上Segwitアクティベート)
  • BIP-91ソフトフォーク(マイナー80%の賛成で事実上Segiwtアクティベート)
  • Segwit-2M ※まだ実装されたコードなし

という感じです。

状況は混沌としていますが、引き続き毎週のレポートで追っていきたいと思います。

<著作権表示>

(c) 2017 大石哲之本レポートの著作権はすべて大石哲之に帰属します。本レポートはビットコイン&ブロックチェーン研究所の会員のみが閲覧できます。本レポートの研究所外への転載および無断引用は固くお断り致します。また、本レポートは、会員本人のみが閲覧いただけます。会員以外へのシェアや法人内での回覧・シェアは固くお断りしております。(回覧人数分の料金を申し受けます)。無断の転載などを見つけた場合、著作権者までご連絡ください。