BIP148 ユーザー・アクティベイテッド・ソフトフォーク(UASF)とは何か?

レポート「アルトコイン図鑑」では30種類以上のコインを解説

レポート「ビットコインの情報源決定版(26ページ)」を配信しました。レポート内容へ

Segwitのアクティベートへの進展がないなか、Shaolin Fryという匿名のユーザーによって、開発者メーリングリストに投稿されたUASF(ユーザー・アクティベイテッド・ソフトフォーク)が一定の注目を浴びている。

以下、簡単にUASFとは何かについて解説を行う。

ソフトフォークのアクティベートには大きくわけて、2つの方法がある。ひとつは、マイナーアクティベイトによるもの、もうひとつはユーザーアクティベイトによるものである。

マイナーアクティベイトソフトフォーク

マイナーアクティベイトの方法は、マイナーが採掘するブロックにソフトフォークへの対応をシグナリングする。ハッシュパワーの95%が対応を示せば、一定の期間をおいてソフトフォークが発動する仕組みだ。Segwitはこの方法で発動する。これのメリットは、フォークの危険性が少なく、確実で安全な方法であるということでる。

しかしながら、現在Segwitへの対応は26%程度を上下しており、95%へは程遠い。

これに対して、Shaolin Fry氏は、Segwitのシグナリングがあたかもマイナーによる採用可否の「投票」のように捉えられているというのが大きな問題だという。

ソフトフォークのシグナリングは、本来はの意味は「投票」ではなく、ネットワークの準備状況をモニタリングするための「指標」にすぎない。

ネットワークのアップデート状況をモニタリングして、新しいルールが十分に採用されている(95%)というのを見るのが目的であり、採用可否を決定するものではなかった。

それが、あたかもこれがが投票であるようにこれを捉えられてしまった。そして、インダストリーは意思決定をマイナーに委託してしまっているように思える。

ユーザー・アクティベイテッド・ソフトフォーク(UASF)

対するUASFは、ユーザーネットワークのアップデートを先に行う。具体的には、ネットワークを構成しているP2PノードのほうをSegwitにアップデートする。また、取引所などの主要なビジネスサービスもSegwitに対応する。

そして、特定の日(Flag Date)を決めて、その日にアクティベーションを行う。

ユーザーはSegwitのトランザクションを送ってもよいし旧来のトランザクションを利用してもよい。また、マイナーはSegwitのトランザクションを含んだブロックを採掘してもよいししなくても良い。

ただし、Segwitを利用するひとが増えれば、Segwitトランザクションを採掘したほうが、マイナーは手数料が増える。拒否する経済的なインセンティブは少なく、自ずからSegwitブロックを掘り始めるだろうという見立てである。

過去のソフトフォークを見ると、たとえば、Pay to Script Hash(一般的にはマルチシグとして認識されているもの)は、UASFによって発動された。

ただし、最近のソフトフォークは、より安全性の高いマイナーアクティベートによる方式で行われている(OP_TIMELOCK_VERIFYや、OP_CSV)

メリットとリスク

メリットは、現在の膠着状況にかかわらずSegwitの導入が可能だということ。

デメリットは、フォークの危険性があるということに尽きる。マイナーがSegwitのシグナルを不正ブロックとして拒否し、Segwitでないチェーンのほうだけを選んで新しいブロックを生成しつづければ、フォークが発生する。そういったマイナーが多数であれば、Segwitのトランザクションは採掘されないばかりか、取り消される危険性がある。こうしたことから、UASFはハードフォーク並に危険だという指摘もある。

一方、それでもUASFは可能だという論拠になっているのが、Pay to Script Hashの事例だ。Pay to Script Hashは、賛否両論で、相当揉めたということだが、最終的にUASFにより発動され、現在では完全に定着している。

BIP 148 Mandatory activation of segwit deployment

現在具体的になっている提案は、Shaolin Fry氏によるもので、BIP148として付番された。

こちらのソースコードによれば、ノードはこのコードを含んだ新バージョンのソフトウェアを採用することで、発動日以降、Segwit対応でないブロックを不正ブロックとみなして、P2Pネットワークに伝播することを拒否する。

発動日は2017年11月15日としている。それ以前にマイナー95%により発動された場合は除く。

このBIPが次のバージョンのコア・クライアントに取り込まれるかどうかは解らない。コアの開発者たちの話し合いをみているかぎり、これを積極的に取り込む動きは今のところは見当たらないが、ユーザーの支持はたかまっているようだ。

今後の動きを中止したい。

詳細日本語マニュアル付きTrezorの購入は

初心者向け「使って勉強!ビットコイン」