今週、ビットコインのトランザクション手数料は600sats/vbyte以上という歴史的水準に達し、ブロックの手数料が新規発行分の6.25BTCを超えるなど2017年末を彷彿とさせるバブリーな状況がありました。本日は日本時間に40sats/vbyte程度まで落ち着きましたが、北米が目を覚ましてからは再び次のブロックにトランザクションが入る水準は200sats/vbyteを超える状態で推移しています。

今年に入ってからOrdinal Inscriptionsの誕生などでトランザクション手数料の相場がここ数年に比べて高い状態が続いていますが、今回の桁違いの高騰もOrdinal Inscriptionsに関連しています。Inscriptionsを多用するBRC20というカラードコインプロトコルのようなものの配布が原因だからです。今日はビットコインの手数料高騰を招くBRC20の仕組みと、それに対するビットコインコミュニティの反応、そして私の予想する今後の流れを書いて行きます。

BRC20は非常に非効率なプロトコル

現時点でリファレンス実装や厳密な仕様は存在しませんが、公式?とされるドキュメントはこちらから見つけることができます。

まず重要なのはBRC20はビットコインの機能などではなく、ビットコイン上にデータを記録してそのデータをビットコインの外で解釈・検証しているものだということです。このパラダイムはクライントサイドバリデーションといい、RGBやTaroでも利用されています。ただし、それらはスケーラビリティやプライバシーなどを検討して長期間かけて開発されているのに対して、BRC20はおそらくOrdinal Inscriptionsでファンジブルなトークンを扱えるかの実験として考案された、乱雑なプロトコルという違いがあります。

その出自を表すようにBRC20ではトークンを初めてデプロイするときのみならず、デプロイされたトークンを小分けに発行(mint)するときや送金(transfer)するときにもInscriptionを作成する必要があります。1つ1つは小さなJSONデータであるためInscription自体のサイズはそれほど大きくありませんが、この仕組みのためにおびただしい数のInscriptionとトランザクションが生まれます。

例えば以下の内容のInscriptionでデプロイされたBRC20トークンを考えます:

{
"p": "brc-20", // プロトコルを指定
"op": "deploy", // deploy, mint, transferからアクションを指定
"tick": "ordi", // ティッカーシンボルを指定
"max": "21000000", // 最大発行数量を指定
"lim": "1000" // ユーザーが1トランザクションでmintできる上限を指定
}

発行と同時に全量がMintされる場合は、このInscriptionが付与されたアドレスがトークン全ての保有者になります。もしユーザーがMintできる場合は誰でもMint function inscriptionを作ることで1トランザクションあたりの上限量までタダで入手することができます。(トランザクション手数料のみ負担)

MintするにはデプロイされたBRC20トークンのTickerを指定したMint function inscriptionを自身で作成し、自身に付与するだけです(2トランザクション)。このInscriptionの所有者がmintした金額のトークンを割り当てられたと扱われます。またMint function inscription自体の譲渡はトークンの送金として無効なため、送金は後述するtransfer functionによって行うしかないようです。

この特徴が手数料高騰の原因となっています。二次市場でBRC20トークンに値段がついていてそのトークンがまだmintできる場合、予想される売却金額までならトランザクション手数料にかけても採算が取れるためです。

さて、ここまででも大量のInscriptionsを利用しているため効率が悪いことはお気づきでしょう。以前紹介した通り、InscriptionsにはCommit、Revealの2つのトランザクションが必要なので、例えばユーザーがトークンをMintするにも毎回2つのトランザクションを発行する必要があります。

Ordinalsは全satsに通し番号を振るフルオンチェーンNFTプロトコル
ここ数日で話題になっているビットコイン上のプロジェクトに、OrdinalsというフルオンチェーンNFTプロトコルがあります。 個人的には直接ブロックチェーンを利用するNFT自体が無駄という意見なので、フルオンチェーン(紐づけるファイルのデータを全てブロックチェーン上に記録する)は愚かとさえ感じますが、もちろん対価となる手数料さえ払えば何を記録するのもユーザーの自由なので今日はそこを議論するつもりはありません。 Ordinalsがどういう仕組みなのか、特にCounterpartyやRGBなどビットコイン上でNFTを扱うことのできる他のプロトコルとどう違うかに焦点を当てていきます。 Ordi…

信じがたいことにBRC20トークンの送金は更に効率が悪いです。なぜならTransfer function inscriptionというものを作成した後に、そのInscriptionを改めてトークンの宛先に送りつける必要があるためです。(Transfer function inscriptionは最初にTransferするトークンの所有者に付与する必要がある)

したがって1回のトークン送金にはなんと3回のビットコイントランザクションが発生します。

あまりにおびただしい数のInscriptionsが発生するため、元々はNFT型のInscriptionのリストとして考案されたOrdinals.comエクスプローラーがぶっ壊れています。

これまで20万種類近くのBRC20トークンが発行されています。価格がついていないものが多数ではありますが、人気のものではそれぞれ数万トランザクション以上を発生させており、そりゃブロックチェーンが大混雑するわけですね。

3ヶ月ほど前から知られていますが、Ordinalsに関わる開発者には主にBSVで活動していた人たちが多数います。多くの読者がご存知の通り、BSVではブロックチェーン上にできる限りのデータを詰め込むことを是としているため、むしろこのようなブロックスペースの乱用といえる設計は信仰の一環なのかもしれませんが、ビットコイナーの肌には合わないようです。(そりゃそうだ)

コミュニティの反応:議論紛糾

BRC20がもたらした手数料高騰には賛否両方の意見が見られます。

まず、手数料の高騰自体を嘆く送金ユーザーの声の裏で、長く1ブロックあたり0.1~0.2BTC程度だったトランザクション手数料が3~6BTCに達していることで長期的なビットコインの安全性のために発行上限を改める必要がなくなったと喜ぶ声も聞こえています。実際、次の半減期まで1年を切っていますが、現在の状況がもし続けば1年後にはマイナーの報酬に占める新規発行分より手数料分が大きくなります。

ただ、この状況が持続するかについて懐疑的な声が大半です。手数料の多くがBRC20トークン絡みだとするとかなり大きな金額が投機家からマイナーへと支払われていることになります。この原価を回収できるかは二次市場の活発さにかかっているため、将来的には有望なトークンがデプロイされたときのみ一時的に手数料が高騰すると考えたほうが自然です。例えばイーサリアムでも人気NFTのMint合戦などで特定の期間のみチェーンの手数料が高騰する場合があります。

手数料が安定しないことは送金のユースケースにとっては使いにくさが増し、マイナスの影響と言えるでしょう。(ライトニングのほうが影響は受けにくいですが)

さらに注釈として、BRC20トークン自体は特に機能のないミームトークンが大半なので有望なミームトークンとは?という疑問点もあります。

また、ブロックチェーンにごみが増えるという意見もありますが、従来のOrdinal Inscriptionsと比べてwitness領域に刻むデータサイズがそれほど大きくないため、ブロックサイズ自体は2MBほどに収まってきてはいます。以前の1.5~2MBというレンジよりは大きいですが、大量のJPEGを刻まれるより影響は小さいです。

それでもBRC20やInscriptionsが気に入らないというユーザーはなんとかしてこのユースケースを排除したいと考えているようで、Witness領域の乱用を難しくするソフトフォークや送金額よりトランザクション手数料が大きいトランザクションの伝播を防ぐノードポリシーの導入、でたらめなWitness領域のプルーニング機能などの案が出ています。

最後にライトニングチャネルの強制決済で大損したという声もちらほらあります。状況によっては手数料が数万円という金額になり得るので非常に気の毒です…。

今後予想される結末

個人的にはBRC20トークンは非常に出来が悪いため一過性のブームとして終わる可能性が高いのではないかと考えています。

理由としては:

・マイナーの善意に依存している:特にMintトランザクションにおいてはトランザクションの順序を決めるマイナーによってフロントランニングされてしまう恐れがある。自分のトランザクションの前にマイナーが発行上限まで発行してしまっても手数料は返ってこない。またTransferトランザクションにおいても同一ブロックで行う場合は順序が重要になり、順序が入れ替わると手数料が返ってこない。これらのことからMEVに弱いといえる。

・スケーラビリティが低いため取引コストが高い。盛り上がっていてボラティリティが大きい間は手数料もペイするが、取引が閑散となったトークンは急速に流動性を失う。

・シットコインプロトコルとして利便性が低い。イーサリアムやプライベートチェーン、RGB、Taroのほうが様々な利便性を提供してくれる。また利用チェーンがマーケティングの一部として定着したNFTとは異なり、ファンジブルトークンについてはユーザーがあまりチェーンを気にしない傾向があると感じられる。

また、これを機にビットコインがフォークするのではないか?という意見についても実現可能性は低いと感じます。

理由としては:

・フォークしたところで排除することが難しい。BRC20は刻むデータサイズが小さいため、やり方を少し変えれば様々な方法でデータを記録できてしまう。したがっていかなる対策も大きな影響を与えづらく、徒労に終わる可能性が高い。

・送金用途では何の価値もないOrdinal Inscriptionsへの対策が将来的なビットコインのユースケースを阻害する影響のほうが大きい可能性が十分にある。

・フォークするような対策を主張しているのは一部の過激派であり、ビットコイナーの意見が一枚岩ではない。フォークすることは自由にできるが、ユーザーの大半がついてこなければ慣性の法則で現状のビットコインがデファクトスタンダードであり続ける可能性が高い。

個人的にはくだらないことをやっているなという印象で、かつ普段はほかのブロックチェーンを触っている人たちがビットコインに関心を持つのがこういうくだらないときというのも不愉快な気持ちがありますが、この波が去った後にはビットコインのスケーリングやライトニングに興味を持つユーザーが増えてくれていればいいなと期待しています。