OrdinalsやBRC20の仕組みと今後の見通しは?
こちらの記事は、下記の動画を元に書き起こし・一部校正した内容になっています。
Ordinals: サトシにナンバリングしたビットコインNFTの登場
東: 次はOrdinalsについてですね。今も活動している人はいると思いますが、一時期に比べると活気が少なくなってきているように感じます。Ordinalsとはどういう仕組みか、解説をお願いします。
加藤: ビットコインのトランザクションは、未使用のコインを消費して、新たに未使用のコインを生成するという構造になっています。その消費されるコインと生成されるコインに対応関係は本来ありませんが、この対応関係を見出し、1satoshiをNFTのようにノンファンジブルとして扱うのがOrdinalsというプロトコルです。
加藤: そして、Ordinalsのプロトコルに関連して、特定のサトシに対してオンチェーンデータを刻むという定義をしたのが、Ordinal Inscriptionsというものです。通常、Ordinalsというと、このOrdinal Inscriptionsを指すことが多いです。
東: なるほど、それならOrdinalsとは、サトシのナンバリングのことで、Inscriptionは本来別の話ということですね。多くの人がこれらを結びつけて考えがちなのですね。
加藤: はい、その通りです。Ordinalsとは、例えば"このsatoshiは5万5千ブロック目で生成された何番目のサトシである"という情報を全てのサトシに割り振るルールのことです。
Taprootを利用した新たなデータ保存方法Inscriptionとは?
東: なるほど。それに対して、Inscriptionとは何でしょうか?
加藤: Inscriptionとは、特定のサトシに対して、そのサトシを使うトランザクション内でオンチェーンデータに任意のデータを書き込むトランザクションを行うことです。このトランザクションの結果、同じサトシが出てきますが、そのサトシは固有のものとなります。
例えば、 "何番目のブロックの何番目のサトシ"という情報は、そのコインの履歴を遡ることで分かるわけですが、そうしてオンチェーンデータにデータを刻むトランザクションをした後に、そのサトシを誰かに転送したとしても、受け取った人が遡って行き、"あ、これがこの時に刻まれたんだ"と解釈できるようにするプロトコルです。
東: 自分の認識だと、InscriptionはTaprootを使って、画像やテキスト、音声ファイルなどのデータを、ブロックチェーン上に保存する技術だと理解しています。そこについて、もう少し具体的に、どのようにTaprootを使ってデータを書き込んでいるのか説明していただけますか?
加藤: ビットコインでスマートコントラクトを使うときは、そのコントラクトを満たさないとコインが動かせないようにロックする形を取ります。そのコントラクトに事前にコミットして、コインをそれで生まれたアドレスに送るという形を取ります。
実際にそのコインを動かすとき、そのコントラクトの条件を満たすときは、原則としてコントラクトの内容を公開します。ただし、Taprootを使えば公開しなくても良いパスを設定することも可能になりました。そして、そのコントラクトの内容を公開するときに、そのコントラクト内にデータを刻むのがInscriptionsです。
加藤: Taprootの導入により、コントラクトの最大サイズが大きくなり、ブロックサイズまで最大値が拡大しました。これはTaprootの機能というより、Taprootが複雑なコントラクトを使いやすくするために制限が緩和された結果です。小さなデータサイズであれば、Taproot以前のSegwitでも同様のことができました。
東: なるほど、Taprootが導入されることで、コントラクトに保存できるデータ量が増え、画像などのデータも保存できるようになったと。Inscriptionsでデータを刻み込むことで、一時期ブロック内のトランザクションの多くがInscriptions関連のものになり、ブロックチェーン上のfeeが高騰したという事態も起ました。
東: 特に、データそのものをオンチェーンに刻み込むフルオンチェーンNFTなどが一時期注目されていましたが、それがブロックチェーン全体の混雑に影響を与えたということですね。
BRC20の解説: Inscriptionsによるトークン発行とその影響
東: さて、それに関連して、BRC20というものがありますね。これはどういう仕組みでしょうか。
加藤: BRC20トークンとは、Inscriptionsによって発行できるトークンの一種で、そのトークンの発行や送金にはInscriptionsをしなければならないという特性があります。例えば、好きな1サトシに対して、例えば「BRC20トークンを1000万枚発行する」というjsonファイルをインスクライブするという手順があります。
東: なるほど、そのjsonファイルには、トークンの発行条件などが記述されているわけですね。
加藤: はい、その通りです。そのjsonファイルを見た他の人たちは、そのトークンが誰でも自分宛てにミントできるかどうかをチェックします。その結果、完全なプレマインで、BRC20トークン1000万枚を自分自身に割り当てることもできるし、逆に最初は0枚で、1000万枚に達するまで誰でも発行できるようなものを作ることもできます。
東: 理解しました。そして、そのトークンが人気が出て値段がつくと、それを発行するためのトランザクションフィーが投資となって、feeが高騰するという事態が起きたわけですね。
加藤: はい、その通りです。そのトランザクションフィーが投資だったわけです。例えば10トークンを1000ドルで売れるとなったら、900ドルのfeeを使っても利益が出ますから、それでfeeが高騰したんですね。
BRC20による投機的な動きの先に実用性はあるのか?
東: 少ししょうもなく思えてしまいますね。他に具体的なユースケースは存在するのでしょうか?
加藤: まあ、特にないと思います。特別な機能があるわけではないので、基本的にはクライアントサイドのバリデーション、つまりユーザー間の合意によってのみ機能しています。機能追加するという考えも可能ですが、現状で最も大きな機能はマイナーが利益を得ることですね(笑)
東: なるほど。現在、feeが下がってきているため、BRC20もおそらく廃れつつある気はしています。
まあ、それは当然というか、みんながPEPEなど、他の人が購入するであろうと予想する名前のトークンを一足先にミントして売ろうとするだけなので、そのような動きは長く持たないでしょう。
加藤: そうですね。これはドメイン名やENSなどの問題でもあります。ドメイン名を事前に取得して転売する、いわゆるスクワッティングという現象ですね。
東: それはよく見られる現象ですね。
加藤: オンチェーンネームサービスに興味がある人は多いですが、私自身はこのような事例を見るたびに、これをもっとスマートにできる方法があれば良いと思います。これは本当に無益な投機ですから。
東: 確かに、その通りですね。ありがとうございます、よく理解できました。
次の記事
読者になる
一緒に新しい世界を探求していきましょう。
ディスカッション