導入

ビットコインのスクリプト言語の潜在的なアップグレードとして、OP_CAT を再度有効化するという話を聞いたことがあるかもしれません。ニュースの入手元によって、OP_CAT は「たった 10 行のコード」、「契約の実験を可能にする最良の方法」、「強力すぎる」、「危険でマイナーの集中化につながる」、「議論の多いソフトフォークにつながることは間違いない」などと呼ばれています。私は、これらの見方はすべて間違っていると主張します。OP_CAT は非常に便利で、契約として使用できますが、(単独では) ビットコインにとっての次の最善策ではありません。それ以上でもそれ以下でもありません。

その根拠を示すために、私はいくつかの(一見無関係な)トピックについて検討するつもりです。そのうちのいくつかは、ほんの数か月前までは私にとって新しいものでした。必要な背景情報を 1 か所にまとめられるように整理しようと思います。

OP_CATの機能と仕組み

CAT によるイントロスペクション

OP_CAT に初めて触れたときに多くの人が抱く切実な疑問に取り組みましょう。スタックから 2 つの項目を 1 つに結合する (A B CAT -> AB) 数行のコードで、何か面白いことが可能になるのでしょうか? Andrew Poelstra は最近のインタビューで雄弁に説明しており、私はばかばかしくも簡潔な説明を投稿しました:

Bitcoin はちょっと変わっていて、分割もできます。SHA256 を使用するとハッシュを元に戻すことができます。暗号化は単なる数学であり、その方法はわかっているので、CAT を使用すると署名検証からハッシュを抽出できます。その結果、署名内のハッシュ化されたものをすべて検査できます...

— リアデン 🍯🦡 🦢| フォークを受け入れる (@reardencode) 2024年5月17日

ビットコイン スクリプトは厳密には検証言語であるため、各オペコードは順方向または逆方向に使用できます。スクリプトにハッシュを指定してプリイメージを要求することも、プリイメージを指定して OP_SHA256 を使用したハッシュを要求することもできます。この洞察により、OP_CAT 契約がどのように機能するかの最初の 2 つの部分がわかります。

ビットコイン スクリプトが検証中のトランザクションのハッシュにアクセスできる場合、スクリプトが要求する方法でハッシュのプリイメージを分割し、そのプリイメージの特定の部分を検証することを、支出スタックに要求できます。これはまさに契約であり、ビットコインを支出するトランザクションの一部を検証するものです。

それは素晴らしいことですが、ビットコインには、スクリプトにトランザクションのハッシュへのアクセスを提供するための OP_TXHASH のようなオペコードがありません。ここでは、BIP340 Schnorr 署名検証方程式を利用して、ユーザーにハッシュの提供を要求します。スクリプトがバイト 0x00 をその末尾に連結した場合に有効なトランザクション ハッシュとなる値をユーザーが提供した場合、スクリプトがバイト 0x01 を連結すると、その値も有効な BIP340 署名の一部になります (他の特定のパラメーターは固定)。

これらの技術を組み合わせることで、OP_CAT は署名可能な使用トランザクションの任意の部分をチェックし、限られた方法で親トランザクションを遡ることさえできるようになります。注意深いコード作成により、Purrfect Vaults、CatVM などを構築できます。

CATのその他の用途

しかし、そうすべきではありません。これらのものを OP_CAT で構築すると、保守が困難な忌まわしいものになります。代わりに、OP_CAT をその良い点に使うべきです。良い点はたくさんあります。OP_CHECKSEPARATESIG と同等の機能、Merkle 包含証明のチェック、OP_CHECKSIGFROMSTACK を使用した署名検証用のデータの結合などが可能になります。

CAT の問題

CAT が何をするのかがわかったところで、何が問題なのでしょうか? なぜ (私を含め) 人々は CAT を危険な存在だと言っているのでしょうか? CAT は、上記のイントロスペクション技術を使用して、ハッシュレート エスクローと (おそらく) 自動マーケット メーカー (AMM) という 2 つの特定の構造を可能にします。最近まで、これらは両方とも、ビットコインに中央集権的な MEV をもたらす重大なリスクであると考えられていました。

MEV、MEVil、マイナーの集中化

MEV (Miner Extractable Value) という用語は少しわかりにくいです。最もわかりやすい解釈では、これには取引手数料が含まれますが、これはもちろん、将来にわたってビットコインのセキュリティを確保するためにマイナーに支払われることを望んでいます。MEV は一般に、パブリック リレー ネットワークに表示される手数料を超えてマイナーがブロックから抽出できる追加の価値を意味するために使用されます。これは、帯域外支払い、マイナーが契約に参加して自分に有利な方法で取引を並べ替える、またはマイナーがブロックをマイニングして再編成し、確認済みの支払いを販売者に二重に支払うことによる商品やサービスの完全な盗難の形で発生する可能性があります。これらのすべての形式の MEV は、マイナーがネットワーク内の地位を利用して他のネットワーク参加者を犠牲にして自分の利益を得ているため、ネットワークの参加者にとって一般的に悪いと考えられます。ただし、MEV だけでは、マイナーの集中化を促進することでシステム全体の問題を引き起こすことはなく、特に影響を受ける参加者にとってのローカルな問題にすぎません。

MEVil は、マイナーの集中化を推進する MEV を指すときに使われる用語です。私は、集中化 MEV という用語を好み、今後もこの用語を使用します。MEV を集中化 MEV に変更するには、いくつかのことが必要です。

  1. オープンソースのブロックテンプレートビルダーが合理的に抽出できないほど抽出が困難でなければならない

  2. 抽出可能な総価値はマイナーのビットコインハッシュレートに応じて増加する必要がある

  3. 抽出可能な価値は抽出コストを正当化する必要がある

これらの要件がすべて満たされると、十分に規模の大きいマイナーだけが MEV の抽出を開始するインセンティブを持つことになります。いったん開始すると、抽出された追加収益のおかげで、小規模なマイナーの成長を上回ることができます。MEV の抽出コストが高くなるほど (どのマイナーにとっても価値がないレベルまで)、それが生み出す中央集権化の圧力は大きくなります。

MEV の集中化を避けるのは (ある意味では) 簡単です。ビットコインに存在する MEV の機会が、誰もが簡単に抽出できるか、または抽出にかかるコストが価値よりも高いか (MEV が小さすぎるかコストが高すぎるため) であることを確認します。

詳細については、@TheBlueMatt の最近の投稿をご覧ください。

ハッシュレートエスクロー(旧ドライブチェーン)

何年も前(ライトニングネットワークや、Ark、タイムアウトツリー、ロールアップ、BitVM、CatVMなどのアイデアが登場する前)、サイドチェーンはビットコインの究極のスケーリングソリューションと考えられていました。そのアイデアは概念的にはシンプルで、ビットコインのブロックは、通常の分散化の理由からサイズが制限されている必要がありますが、ビットコインにサイドチェーンを接続でき、サイドチェーンのブロックはより高速なブロック、より大きなブロック、より多くの計算などを持つことができます。しかし、実際には、サイドチェーンの実装はそれほど簡単ではありませんでした。ビットコインの最終決済は基本的にプルーフオブワーク、つまりトランザクションの並べ替えにかかる偽造不可能なコストに結びついていますが、サイドチェーンはそれをどのように継承するのでしょうか?また、ビットコインはサイドチェーンとの間でどのように転送できるのでしょうか?この2つの質問に答える最もよく知られている提案は、ドライブチェーン(BIP 300および301)と呼ばれています。 Drivechains の詳細についてはここでは触れませんが、このようなサイドチェーン システムには 2 つの結果しかありません。つまり、あまり使われない (したがって役に立たない) か、広く使われてビットコインの事実上のブロック サイズの増加になるかのどちらかです。このような事実上のブロック サイズの増加は、MEV を集中化する形式であり、大規模で複雑な可能性のあるサイドチェーン ブロックによって提供される追加の収益機会に、より大規模なマイナーだけがコスト効率よく参加できるようになります。

OP_CAT で構築できるハッシュレート エスクローは、Drivechains 提案のごく一部です。これは、マイナーのみが値を変更できるカウンターを使用してサイドチェーンからの引き出しを制限するシステムです。カウンターは高い値から始まり、サイドチェーンからの引き出しが処理される前に 0 に達しなければなりません。これは、サイドチェーンからの「トラストレス」な転送であると主張されていますが、実際には、サイドチェーンに保持されているすべてのビットコインを制御するマイナーの連合を作成します。

Drivechains 提案の開発以来、マイナーが制御するカウンターに基づいて引き出しを作成するために使用できる提案を「Drivechains」と呼ぶことが一般的になっています (私たちにとって不利益です)。この時点で、この不適切な省略形が役に立たない理由が明らかになっていると思います。Drivechains は価値がないか危険ですが、ハッシュレート エスクローは、暗黙のマイナー連合にトランザクションの結果の制御を移す方法にすぎません。

トークンとAMM

トークン

理由は私には完全には分からないが、人間は良いトークン(または悪いトークン、あるいは単にトークン)が大好きだ。ビットコインのほぼ初期から、Colored CoinsやCounterpartyから、最近のTaproot AssetsやRunesまで、他のトークンをプロトコルに埋め込む方法について議論されてきた。これらのプロトコルにはすべて共通点が1つある。それは、プロトコル内でのトークンの変換を決定するために、外部データに関する知識を持っているか、ビットコイン取引のシーケンスからのデータを処理する、ビットコイン取引の外部インデックスを必要とすることだ。この記事の重要な点は、ビットコインのロックスクリプトはトークンの存在をまったく認識しておらず、取引を検証するビットコインノードでさえトークンを認識していない(つまり、ビットコインのロックスクリプトがビットコインのUTXOセット全体に完全にアクセスできたとしても、これらのトークンの状態を検出できない)ということだ。

自動マーケットメーカー(AMM)

他のブロックチェーン システムでは、AMM と呼ばれる契約を使用して、たとえば、固定価格で売買することで 2 つのトークンの比率を固定することが一般的です。AMM でエンコードできるルールは、この記事の範囲外です。AMM は MEV に大きなチャンスを生み出し、その MEV の収益を最大化するために必要なプライベート取引所の関係により、MEV も集中化されると言えば十分でしょう。これは、より表現力豊かなビットコイン スクリプトの構築に反対する議論としてよく使用されてきました。私たちは、ビットコイン ネットワークを MEV の集中化による不安定さにさらすことを本当に避けたいのです。ただし、上で説明したように、ビットコイン スクリプトがどれだけ表現力豊かであっても、ビットコイン以外のトークンの状態を評価する実用的な方法はありません。ビットコイン スクリプトでは、希少な sat を見つけることはできません。ルーン残高を見つけることもできません。Taproot アセットを識別することもできません。

ビットコイン以外の資産の処分に関する情報にアクセスできないと、ビットコイン スクリプト ベースの AMM という概念全体が意味をなさなくなります。トークンの場所はオラクルの署名によって証明できますが、オラクルの証明では AMM は作成されません。これらは特定の手動取引を容易にするために使用できますが、耐久性のある自動システムではありません。さらに、このようなオラクル ベースのシステムは、ビットコインに変更を加えることなく今日構築できます。

結論

ご覧のとおり、CAT はそれほど恐ろしい怪物ではありません。実際、それほど恐ろしい怪物ではありません。無限の能力も魔法の力もありません。非常に役立つ小さなオペコードにすぎません。おそらく避けたいのは、OP_TXHASH、OP_TX、またはその両方など、トランザクション イントロスペクションを実行する別の方法を使用せずに OP_CAT をアクティブ化することです。LNHANCE で有効にするだけでも、多くの OP_CAT イントロスペクション プロトコルを実現するために必要なスクリプトのサイズと複雑さが軽減されるため、OP_CAT だけよりも改善されます。

この時点で、「CAT は無限のすべてを導入する」は「何もない」にまで縮小されたと思います。

これは、誰も使用すべきではない、ひどい方法で役立つイントロスペクションを導入します。人々がこれを使用しないようにするには、TXHASH などとともに CAT を有効にする必要があります。https://t.co/nvnxYn66Um https://t.co/1Ag5TwjuUw

— リアデン 🍯🦡 🦢| フォークを受け入れる (@reardencode) 2024年5月17日

これは Brandon Black によるゲスト投稿です。ここで述べられている意見は完全に著者自身のものであり、必ずしも BTC Inc または Bitcoin Magazine の意見を反映するものではありません。

出典: ビットコインマガジン

OP_CAT と Infinite Nothing の投稿は Crypto Breaking News に最初に掲載されました。