BTCの半減が迫る中、Runesプロトコルの基盤設計メカニズムと限界を解読する

十四君
2024-04-14 14:12:05
コレクション
本文は、ルーンプロジェクトの基盤フィールドの変遷を体系的に整理し、皆さんがルーンとBrc20、Arc20などのFTプロトコルの違いを根本的に理解し、比較して優劣を考慮した意思決定に参加できるようにします。

著者:十四君

前言

断更許久、ついに復耕、私十四君が戻ってきました。

過去半年間、筆者はETHエコシステムから完全にBTCエコシステムに移行し、アプリケーション層からチェーンの底層に移りました。btc、merlin、babylon、xionなどのL2パブリックチェーンの底層を見て、Ordinals、brc20、atomical、Runealpha、Runesなどの銘文符文プロトコルのソースコードを研究しました。

少しの蓄積があるので、引き続き出力を続けます。筆者は技術的視点から独自の洞察と市場価値をお届けします。

1、Runes(符文)とは?

過去一年、web3最大の物語は銘文エコシステムの爆発であり、最初の起点はOrdinalsです。これはbtc上の各サトシにユニークなシリアル番号を与える技術です。可読性を高めるために、こちらを参照してください:ビットコインOrdinalsプロトコルとBRC20標準の解読 原理の革新と限界

その核心創始者であるcaseyは、昨年9月に基本版のRunesコードを提出しましたが、主ネットの立ち上げは遅れました。そのため、9月の銘文熱潮の中で、runeAlphaなどのプロジェクトがこのコードを早期にフォークし、RunesAlphaなどのプロトコルを独自に発行しました。一定の盗作の主張はありますが、短期間で数億の総時価総額の増加はRunesプロトコルの無限の可能性を示しています。

Ordinalsプロトコルの創始者であるcaseyが設計した公式のRunesプロトコルは、2024年4月20日頃に正式に発表される予定です。そして直接btcメインネットに上場します。そのため、各プロジェクトがRunes資産を発行したり、各ウォレット、NFT/FT取引市場がRunesをサポートしたりする際には、ブロックチェーン業界で最も難しい課題の一つ、テストネットなしでメインネットに直接突入する方法に直面します!

公式のTwitterの発言は非常に自信に満ちています~新しい単語を学びましょう:Seppuku

画像 この記事では、符文プロジェクトの底層フィールドの変遷を系統的に整理し、RunesとBrc20、Arc20などのFTプロトコルの違いを根本的に理解できるようにします。比較して合理的な意思決定に参加しましょう。

2、ビットコイン上で追加情報はどのように記録されるのか?

ビットコインには、チェーン上に付着する2つの主流のオフチェーンデータのアプローチがあります。刻印と彫刻です。

2.1、彫刻の基本原理

Runesは彫刻技術を使用しており、情報をチェーン上に記録するシンプルで直感的な方法です。つまり、ビットコインのUTXO(未使用トランザクション出力)のop-returnフィールドに書き込むことです。これはBitcoin Coreクライアントの0.9版から機能が有効になりました(14年)。OP-RETURNは明確で検証可能な消費不可能な出力を生成し、データをブロックチェーン上に存在させます。これはUTXOの出力に似ていますが、消費することはできません。

btcのブロックチェーンブラウザでは、このトランザクションにop-return情報が付着しているのが簡単に見えます。例えば、下の図のように:

画像

ここでの出力#3は実際には遊離しており、特定のUTXOの出力位置を占めていますが、閉じた円形の矩形であるため、再度転送消費されることはできません。したがって、これはトランザクションのメモ領域のように、ビットコインのストレージスペースに残ります。トランザクションハッシュ区でインデックスを見つけることができます。

注意深いあなたは、なぜOPRETURNの後にRUNETESTがあるのか気づくかもしれません。これは具体的な内容をデコードした結果です。詳細ボタンをクリックすると、52554e455f54455354のようなエンコードされた文字列が見つかります。これは一連の16進数のエンコードデータであり、デコードするとRUNE_TESTが得られます。同様に、詳細には他のエンコードもあり、最終的にデコードされると一連の文字列、概ねjson形式となり、Runes資産の展開、鋳造、発行などの意味を反映します。

2.2、刻印の基本原理

実際、Ordinals/brc20などのプロトコルでは、メタデータをチェーン上に埋め込むために、トランザクションの証人データ(witness data, witness field)に書き込まれます。この刻印プロセスは、隔離証人(Segregated Witness, SegWit)と「Taprootに支払う」(Pay-to-Taproot, P2TR)の方法で実現されます。これには、コミット(commit)と開示(reveal)の2つの段階、つまり最終的に2つのトランザクションが必要です。

実際、P2TRはビットコインのトランザクション出力タイプの一つであり、2021年のTaprootアップグレードで導入されました。これにより、異なるトランザクション条件をより「プライバシー」に保存できるようになりました。プライバシーが向上する理由は、開示されるまで具体的な完全な内容を見ることができないからです。具体的には、p2trアドレスを生成するためにスクリプトハッシュを使用し、消費時には実際のスクリプト(銘文データを含む)を提供します。したがって、銘文データをアップロードするには、まずこのスクリプト生成のp2trアドレスのutxo(commitトランザクション)を生成し、そのutxoを消費する際には、証人スクリプト内で実際のスクリプトを提供する必要があります。これにより、銘文データがチェーン上にアップロードされます(revealトランザクション)。

実際、Ordinalsプロトコルは非常に理解しやすく、刻印プロセス(commit、reveal)の2つのトランザクションがチェーン上に上がった後、ordinalsプロトコルはこの銘文が最初の入力の最初のサトシにバインドされることを定義します。したがって、バインドのプロセスは刻印であり、バインドされた結果は銘文です。

2.3、両者のデータ上チェーンアプローチの比較

彫刻:

  • 利点:論理がシンプルで直感的、取引コストが低く、全ノードのメモリプールを占有しない。

  • 欠点:80バイトの長さに制限され、高度に圧縮されたデータエンコードが必要。

刻印:

  • 利点:サイズにほぼ制限がなく、一定のプライバシー保護能力があり、多様なプレイスタイル(タイムロック、プルーフ・オブ・ワークなど)がある。

  • 欠点:取引が2回チェーン上に上がる必要があり、最終的なコストが高く、commitの存続時間が長く、全ノードのメモリプールに大きな負担をかける。

3、Runesの底層設計解読

Runesプロトコルの最初のコードはcaseyがOrdinals 0.11バージョンに公開しましたが、最新のOrdinalsはすでに0.18バージョンに進化しています。この巨大なバージョンの変化は、私たちにトップレベルのプロトコル設計プロセスに参加する機会を与えてくれます。十四君が以前解読したERC721/ERC3525/ERC3475などの標準を拡張して読むことができます。

私たちはRunesの起点と終点の2つのバージョンのフィールドの変化に踏み込み、Runesの価値を規則に基づいて解読してみましょう。

3.1、Runes 0.11バージョン解読

最初のRunes全体のフィールドは3つの部分に分かれています。edicts(資産移転情報)、etching(資産展開情報)、burn(焼却)。

具体的には、あるトランザクションのop_Returnに情報がデコードされた後、edictsの情報が正しい形式で表示されると、オフチェーンのパーサーはそのユーザーの資産が移転したことを計算します。その中の出力は移転の目的地です。

同様に、etchingの内容も資産展開の主要情報を直接表示します。ERC721と比較すると、最大の違いはlimitとtermがmintの数とmint可能な範囲を制限している点です。この点が銘文、符文プロジェクトとイーサリアムのスマートコントラクトによる資産発行の根本的な違いです。チェーン上にスマートコントラクトの検証が欠けているため、リアルタイムの検証能力が不足しています。もしあるプロジェクトがチェーン上の資産を発行し、独自に新しい銘文プロトコルを運営してホワイトリストのMint、トークン経済学のリリース速度、ロイヤリティの支払いなどの機能をカスタマイズしようとすれば、合意が欠如し、そのプロジェクトに参加する人はいなくなります。したがって、銘文プロトコル(brc20、atomical、Runes)などは、資産発行の方法を統一的に定義し、ユーザーがmintに参加する方法も統一し、公平な発射の理念のもと、ユーザーの参加を完全に開放し、プロジェクト側の資産市場認識への過度な介入をさらに排除しました。

たとえプロジェクト側が資産を蓄積して市場をコントロールしようとしても、膨大なガス代を支払う必要があります。このプロセスはユーザーに感知され、自由に選択されることができます。

最初のバージョンのRunesプロトコルの設計はすでにかなり完成されていました。そのため、進化したrunealphaは、たとえ模倣であってもかなりの市場規模を占め、累計82万の取引数を記録し、手数料だけで312BTCを消費しました。

ユーザーはruneフィールド自体の設計を使用して資産の複合、分割を簡単に実現できます。さらに、Runes資産がOrdinals、atomicalなどの資産とクロスプロトコルで複合されると、op_Returnの多様な言語表現性を借りて分割を実現できます。

最新のRunesプロトコルは0.18で何を実現し、どのような考慮からこのようなフィールドを持つのでしょうか?

3.2、Runes 0.18バージョン解読

Runes 0.18を理解するのは非常に難しいです。テストネットが欠如しているため、基本的にcaseyのソースコードから論理を見ることしかできません。最終的に整理されたフィールドは4つの側面に分かれています。

まず、edictsは資産移転方向の定義を維持しており、runeAlphaと基本的に一致しています。違いは、資産のデフォルトの移転方向を変更するためのpointerパラメータが追加されたことです。本来のデフォルトの移転は第0位でしたが、このパラメータが追加されることで1または他の値に設定できるようになりました。この設計理念は、複数のRunes資産を同時に転出する際にop_Returnのエンコード量を削減し、最終的にユーザーの取引コストを低減することを目的としています。

次に、Mintフィールドが新たに追加されました。Mintはedictsと同じレベルのオブジェクトに配置されているため、1つのトランザクションで1つの資産しかmintできないことを意味します。これは以前のRunesAlphaの時とは異なり、その時は意図的に設計されて大量の新資産を1つのトランザクションでmintできるようになっていました。これにより、技術者と一般ユーザーの資産獲得のスタートラインが均等になり、皆がガスを争って獲得する必要があります。

資産展開の方法の大変革

最後に、重要な変更点はetching、つまり資産展開の詳細設計です。完全なフィールド内容は以下の通りです。

基本的に混乱してしまったかもしれませんが、確かに非常に複雑な新資産展開方法です。詳しく説明しましょう~

まず、大きな変更点はopReturnのエンコード量を削減するための設計です。opReturnは80バイトの長さに制限されているため、各エンコードスペースを大切にしなければなりません。したがって、caseyは資産IDの変更を行いました。単純なブロック高さ+トランザクションシーケンス番号から生成されるユニークID値が、文字列形式のブロック高さ+コロン+トランザクションシーケンス番号に変更されました。ビットコインメインネットも80万以上のブロック高さしかないため、最終的なIDエンコードは半分に節約されます。これは小さなことではなく、バッチMintやバッチ転送のシナリオではコストが大幅に削減されます。

次に、参加者の公平性を保障するtermsフィールドが追加されました。現在、資産を展開してMintを開始する際、runealphaのように展開資産プロトコルのトランザクションがチェーン上に上がったブロック高さに基づくのではなく、発行者が指定した高さとオフセットが起点と終点として使用されます。これにより、ユーザーは常にメモリプールを監視して最新のMint機会を探す必要がなくなり、フィッシングの模倣プロジェクトに誤って参加する心配もありません。プロジェクト側は事前に資産を展開し、その後一連の運営宣伝活動を行い、最終的にユーザーが参加できるようにします。参加時間の測定においては、区間高さだけでなく、capとして総mint回数も設けられ、資産発行の規模をさらに制御します。無限にmintするのではなく、限定的に発行し、先着順となります。

資産発行プロトコルとして、発行者の規模と権利をどのように制御するかは大きな課題です。銘文にとって最も重要なのは資産名です。Runesでは名前が希少資源であり、半減期に伴うRunes名前の長さ解放ルールがあります。最初は長い名前しか展開できず、時間が経つにつれて少ない文字数の名前を展開できるようになります。

想像してみてください。名前の長さ解放周期ごとに、ドメイン名のような登録ブームが続くでしょう。では、プロジェクト側が登録されるのをどう防ぐのでしょうか?

これがRunesの今回の展開で最も重要な変化をもたらしました。展開プロセスはもはや単なるop_Returnのトランザクションではなく、刻印となります。前述のように、刻印技術はcommitとrevealを通じて一定のプライバシー保護を行います。新しいバージョンのプレマインはこの役割を担い、commitとrevealの2つのトランザクションに一定の間隔を設け、開示されたときに市場が発行者が使用する名前を知ることができます。この時、他のハッカーがフィッシング資産を作成しようとしても、メモリプール内でその名前を見つけたとしても、事前の制限を越えることはできません。これにより、発行者が名前をコントロールする力が保護されます。

18バージョンの最後にはturboフィールドも追加されました。これはまだ明確な公開目的はありませんが、後の他のプロトコル層の変更に参加することを意味しています。

4、Runes新版プロトコルの評価

上記の底層フィールドの解読を通じて、十四君も感慨深く思います。caseyの資産発行の遊び方は本当に独特で、わずか2ヶ月の間に市場のニーズにぴったり合ったプロトコル内容を設計し実現しました。これは価格を見て価値を測る市場です。銘文プロトコルは最初、完全に差別化されたスマートコントラクトのモデルとして、多くの想像の余地を開きました。真の公平なmintは多くのユーザーをBTCのサークルに引き入れ、さらにBTC L2の熱潮を引き起こしました。しかし、銘文プロトコルの初期の粗放さは、質の低い資産が横行し、街中に盗作やrugがあふれ、銘文エコシステムを汚しました。符文の登場は、より高度にカスタマイズされた発行管理が市場を秩序あるものにするでしょう。そしてRunesプロトコルはOrdinalsプロトコル自体に組み込まれており、Ordinals自体のユーザーベースを借りて、Runesプロトコルの発行は最初から巨人の肩に立っています。FTプロトコルとしての位置付けは、元々OrdinalsがNFTとして市場運営のプレイスタイルが不足していた窮地を補いました。最後に、op_Returnの方法でチェーン上のデータを記録することで、Runes資産はほぼあらゆる機関と再現可能な帳簿の能力を持つことができます。その中心化の程度がさらに低下することで、Runes資産はBTCと同等の一定の安全性を持つことができます。Runesプロトコルには欠点がありますか?確かにあります。まず市場のタイミングの問題です。caseyはBTCの半減期に合わせて同期して立ち上げることを選びましたが、開発時間が非常にタイトで、昨日もプロトコルの内容が変更されていました。これにより、市場で最初にRunesプロトコルに接続できる機関がますます少なくなり、その結果、プロトコルエコシステムはより多くの時間を必要とします。次に、ルールの複雑さです。発行管理のルールはすでに非常に複雑ですが、名前の変更により、発行者が最初に選択できるのは長い名前です。特殊な点記号を組み合わせることで、Runesプロトコルの名前の最大長はB•C•G•D•E•N•L•Q•R•Q•W•D•S•L•R•U•G•S•N•L•B•T•M•F•I•J•A•Vのように、ほぼ55文字の長さになります。これにより、ユーザーがフィッシングされるリスクが増大し、モバイル端末やプラグインなどのインターフェースでも完全に表示されるのが難しくなります。最後に、将来の互換性の問題です。同様に市場が熱いatomicalプロトコルは、すでにAVM段階に進んでおり、銘文を単なるトークン投機の段階から解放し、さらにBTC L2またはBVMの物語に進む方向に進んでいます。この点についてはcaseyがやや遅れていると言わざるを得ず、符文プロジェクトが発行レベルのプレイスタイルに限られていることも制限されています。この記事の内容参考資料:

  • runesプロトコルのエンコード/デコード分析:https://github.com/okx/js-wallet-sdk
  • ruensプロトコル公式ソースコード:https://github.com/ordinals/ord
ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する