8月1日、UASF(User-Activated Soft Fork)が実施される可能性は、ほぼ確実と言ってもいい状況になりました。

UASFがわからない人向けに説明すると、UASFとは、マイナー主導ではなく、ユーザー主導でソフトフォークをアクティベートしよう、という試みになります。これは、現状におけるビットコイン・ブロックチェーンのトランザクション逼迫状況の悪化、Segwitアクティベーションの可能性が限りなく低いことを受け、それでもマイナーが歩み寄らないことに対する、ユーザーや開発者による革命行為とも捉えることができます。

ここでは、「UASFとは何か」に焦点を当てるよりも、「UASFがアクティベートされることで何が起こるのか」に焦点を当てたいと思います。実行日である8月1日まで、あと二ヶ月あるとはいえ、UASFが起こってから行動を起こしたのでは、最悪の場合資産が失われることにも繋がります。UASFによってどのような問題が発生するかを知り、事前に対策することをおすすめします。

リオーガニゼーション（reorg）

UASFでキーになるのは、「reorg」と呼ばれる概念です。これはUASFやブロックチェーンの専門用語というわけではなく、Reorganization、つまり再編成という意味で、ブロックチェーンにおいては、「分岐したブロックチェーンが一つに戻ること」を指していいます。

reorgは特別なことではなく、現在のビットコインでも毎日のように発生します。承認時間の短いイーサリアムなどは、より顕著に現れます。分岐したチェーンがreorgされる条件は「チェーンが長いか短いか」です。短いチェーンは削除され、ネットワーク全体は長いチェーンを更に長くすることを目的に自律的に成長していきます。

短いチェーンには、既に分岐先チェーンで発見されたブロックに格納される承認済みトランザクションがありますが、ブロックが削除されるということは、同時に承認済みトランザクションも承認されなかったことになることを意味します。分岐した片方のチェーンだけでトランザクションが承認されており、そのチェーンが削除されてしまえば、承認済みトランザクションは未承認のトランザクションとして、マイナーが未承認トランザクションをためておくmempoolに舞い戻ることとなります。

したがって、あるユーザーがBTCを送信し、もう片方のユーザーがそのトランザクションを受け取ったことをもって、対価となる商品などを既に手渡していた場合、reorgによってトランザクションが消滅し、受取る側は損失を被ることになります。

UASFとreorg

UASFはソフトフォークであり、3月から4月にかけて懸念が増したBitcoin Unlimitedによる敵対的ハードフォークとは性質が似ているものの、もう少し厄介な問題があります。Bitcoin Unlimitedの時は、EthereumとEthereum Classicハードフォークの時と同様にリプレイ攻撃の対策だけうまく行けば、ひとまず安心と言えたと思います（リプレイ攻撃対策も非常に大変な作業です）。

しかし、UASFの場合は非対称的なreorgがありうるため、状況次第ではかなり厄介な問題を引き起こします。というのも、UASF chainはSegwitシグナルを発していないブロックを無視し、non-UASF chainが長くてもreorgしないのに対して、non-UASF chainは、UASF chainが「長いチェーン」になった場合、UASF chainを「長くて正しいチェーン」と見做し、reorgを発生させてしまうためです。一日分のブロックがreorgされてしまう可能性もあるため、一般的なユーザーにとっても、リスキーな状況だと言えるでしょう。

以下に、UASF発生後のreorg可能性について３つのパターンを図示しました。

UASF発生後のリスク

最も危険なのは、パターン①かと思いきや、パターン③です。パターン①は、既にnon-USAF chainにとってはネットワークの実質的な崩壊であるため、UASF chainに移行するしかありません。しかし、パターン③ではUASF chainが追い上げる可能性があり、未来永劫、non-UASF chainがUASF chainによってリスクにさらされることになります。ただし、UASF chainがnon-UASF chainに絶対に追いつかないと判断できれば、リスクがなくなったと判断してもいいかもしれません。

つまり、UASF vs non-UASFの戦いは、どちらかが圧勝する以外にないのです。