8月1日は海外のビットコイナーの間では「Bitcoin Independence Day」と呼ばれていることを知っていますか?
日本のクリプトコミュニティ内ではほとんど注目されていなかったと思いますが、この日は3年前にいわゆるUASF(User Activated Soft Fork)が発動予定だった日で、「ビットコインの最終的な主導権を握るのはマイナーや企業、開発者でもなく、ノードを走らせるユーザー自身である」ということが証明された日だと言われることもあります。海外コミュニティでは以下のような動画が作られたり、ワイワイ盛り上がってましたね。
ちょうど3年の節目のタイミングとも言えるので、もう一度UASFとBitcoin Independence Dayについて振り返ってみて、3年経って感じることと今後の示唆を少し考えてみましょう。
ビットコインスケーラビリティ論争ってなんだったっけ?
3年前のUASFの一連の流れについて何となく覚えている人も結構いると思います。今となっては昔の話というか、そんなこともあったな、くらいの印象かもしれないですが、当時は手数料の高騰によるBTCのユーザビリティやシェアの低下、開発者とマイナーの公開的な論争などが日常的に起こっていたり、先行きが不透明なかなり危うい時期でした。
ブロックサイズの事実的拡張とLightning Networkの実現の為のバグ修正の両方を兼ね備えたSegWitのソフトフォークでの導入が提案、実装され、BIP9という方法でビットコインネットワークに導入されるはずが、中国のマイナー(特にBitmainが中心)の反発により導入が阻止され、膠着状況が長く続きました。
元々BIP9はマイナーに対して安全なソフトウェアアップデートの「準備度」を確認する為の仕組みのはずで、本来マイナーが特定の変更に対して決定権や拒否権を持つために作られたものではなかったのですが、この仕組みをマイナーが利用してSWを拒否し、ブロックサイズ拡張などの要求をつきつけていました。この時Bitcoin Core開発者と主に中国のマイナーの仲は最悪でしたね。
ここら辺から、「ビットコインは誰のものなのか?」、「誰がビットコインのソフトウェア変更(ソフトフォーク)に対する決定権を持っているのか?」という議論が噴き出しました。中国のマイナー達は、ビットコインの為にWork(仕事)をしているマイナーがそれを決定すべきだと主張し、一方ビットコイン開発者は後方互換性のあるソフトフォークによる機能導入で最終的にはノードを運用するユーザーが決定すべきだ、と主張する人が多かったです。
論点をすごく単純化すればそれだけの話なのですが、実際それ以前からこの泥沼の論争みたいなのを16年以前からずっとやっていたわけで、正直自分も個人的にかなり精神的に滅入ってた記憶があります。冗談とかではなくビットコインはもしかしたらこのまま進化できず、手数料も永遠に高いままで他のコインにリプレイスされる、いわゆるオワコンになるのでは?とまことしやかにささやかれていましたし、当時のアルトコインバブルの状態とビットコインの市場シェアの急激な低下を見るとそういう意見が出てくるのも仕方ない面はありました。
17年8月1日のUASFは「ビットコインユーザー」の力を証明した日
さて、そんなこんなでコミュニティ内での罵り合いみたいなのがしばらく続いていたのですが、一人の「Shaolin Fry」匿名開発者が提案したUASF(User Activate Soft Fork)という仕組みに注目が集まります。これはフルノードを走らせるユーザー自身が利用したいビットコインのソフトウェアを決定し、その他のバージョンのブロックの採用やリレーを拒否することで、マイナーではなくユーザーのコンセンサスが主導で仕様変更を実現させる、という仕組みです。
ただしこれは一種の自己破壊による「奥の手」のようなものでリスクも大きい提案でした。もしマイナーとユーザーが対立した状態でUASFが発動してしまうと、マイナーとユーザー(とユーザー側につく一部マイナー)で別のブロックチェーンの記録を保持する状態が常態的になり、数時間以上の長いReorgによる送金記録のワイプアウトが起きてしまうリスクもありました。端的に言ってしばらくの間決着がつくまでビットコインがほぼ使い物にならなくなる可能性があったわけです。