時価総額: $3.0028T -0.110%
ボリューム(24時間): $66.0334B -20.210%
  • 時価総額: $3.0028T -0.110%
  • ボリューム(24時間): $66.0334B -20.210%
  • 恐怖と貪欲の指数:
  • 時価総額: $3.0028T -0.110%
暗号
トピック
暗号化
ニュース
暗号造園
動画
トップニュース
暗号
トピック
暗号化
ニュース
暗号造園
動画
bitcoin
bitcoin

$96474.685590 USD

-0.63%

ethereum
ethereum

$1833.022451 USD

-0.70%

tether
tether

$1.000349 USD

0.01%

xrp
xrp

$2.215162 USD

-0.62%

bnb
bnb

$599.986858 USD

-0.43%

solana
solana

$148.607115 USD

-1.18%

usd-coin
usd-coin

$0.999965 USD

0.00%

dogecoin
dogecoin

$0.181277 USD

-1.29%

cardano
cardano

$0.698441 USD

-3.26%

tron
tron

$0.249140 USD

1.71%

sui
sui

$3.451508 USD

-1.34%

chainlink
chainlink

$14.522237 USD

-2.85%

avalanche
avalanche

$21.114867 USD

-4.55%

stellar
stellar

$0.274150 USD

-1.53%

unus-sed-leo
unus-sed-leo

$8.928571 USD

-0.19%

暗号通貨のニュース記事

op_catに深く潜る:ビットコインスクリプトの新しい時代

2025/05/03 03:14

これは、詳細な内訳に値する成熟度に達した個々の契約提案に深く潜るシリーズの5番目の記事です。

This is the fifth article in a series deep diving into individual covenant proposals that have reached a point of maturity meriting an in-depth breakdown.

これは、詳細な内訳に値する成熟度に達した個々の契約提案に深く潜るシリーズの5番目の記事です。

OP_CAT, put forward for reactivation in tapscript by Ethan Heilman and Armin Sabouri in BIP 347, is not a covenant. It was an opcode that was originally included in the first release of Bitcoin for manipulating data elements on the stack. It was deactivated in 2010 with the release of Bitcoin 0.3.10 along with a number of other opcodes due to concerns of denial of service attacks that could crash nodes. A global maximum limit of 520 bytes for any individual item on the stack while executing a script was also added.

op_cat、bip 347のイーサンハイルマンとアーミンサブーリによるTapscriptの再活性化のために提出されたものは、契約ではありません。これは、スタック上のデータ要素を操作するためのビットコインの最初のリリースにもともと含まれていたオペコードでした。 2010年に、ノードをクラッシュさせる可能性のあるサービス攻撃の拒否の懸念により、他の多くのオプコードとともにビットコイン0.3.10のリリースで非アクティブ化されました。スクリプトの実行中に、スタック上の個々のアイテムの520バイトのグローバルな最大制限も追加されました。

You should already have a basic understanding of how script evaluation on the stack works, and the basic pieces of a bitcoin transaction, so there isn’t really much pre-requisite explaining necessary for OP_CAT.

Stackのスクリプト評価がどのように機能するか、およびBitcoinトランザクションの基本的な部分を基本的に理解している必要があります。そのため、OP_CATに必要な説明はあまり多くありません。

While OP_CAT may not be a covenant in and of itself, it can emulate covenants due to a quirk in how Schnorr signatures work. This is a pretty in depth topic, fully explained here by Andrew Poelstra from Blockstream, so I’ll just stick with a high level view. Every elliptic curve has a generator point, which is essentially “0”, that is used in the elliptic curve math for key generation and signing. With Schnorr, you can sign using the generator point as a key, and give or take a few bytes that you have to sign repeatedly to get right, the resulting signature is actually the same hash of the transaction you signed.

OP_CATはそれ自体が契約ではないかもしれませんが、Schnorrの署名がどのように機能するかの癖のために、契約をエミュレートすることができます。これはかなり深いトピックであり、BlockStreamのAndrew Poelstraによってここで完全に説明されているので、高いレベルのビューに固執します。すべての楕円曲線には、本質的に「0」である発電機ポイントがあり、キー生成と署名のために楕円曲線数学で使用されます。 Schnorrを使用すると、ジェネレーターポイントをキーとして使用して署名し、繰り返し署名しなければならないバイトを与えたり取ったりすることができます。

Set aside the mechanics of how that works mathematically for now, and just remember for later that these “weird” signatures allow you to get the current transactions TXID on the stack.

今のところ数学的に機能する方法のメカニズムを脇に置き、これらの「奇妙な」署名により、スタックで現在のトランザクションTXIDを取得できることを後で覚えておいてください。

How OP_CAT Works

OP_CATの仕組み

OP_CAT takes the top two data items on the stack and concatenates them together. So if the top two items on the stack are “1” and “2”, OP_CAT removes both of them and then puts “12” on top of the stack. That’s it.

OP_CATは、スタック上の上位2つのデータ項目を取り、それらを連結します。したがって、スタックの上位2つのアイテムが「1」と「2」の場合、OP_CATは両方を削除し、スタックの上に「12」を置きます。それでおしまい。

What Is OP_CAT Useful For

OP_CATは何ですか

Okay, so what’s the big deal? Why is everyone freaking out about OP_CAT even though it’s so simple the explanation of how it works didn’t even take a full paragraph to write.

さて、大したことは何ですか?なぜop_catについて誰もがおかしくなるのはなぜですか?

Two reasons, although given the nature of OP_CAT I can give no guarantees these are the only two reasons. OP_CAT allows the construction and verification of merkle trees directly on the stack, which opens the door to some interesting behavior and functionality. It also allows emulation of covenants enabling full granular introspection due to the “weird” Schnorr signatures mentioned above.

OP_CATの性質を考えると、2つの理由を考えると、これらが唯一の2つの理由であることを保証することはできません。 OP_CATを使用すると、スタック上のマークルツリーの構造と検証を直接可能にし、興味深い動作と機能への扉が開かれます。また、上記の「奇妙な」シュノール署名のために、完全な粒度の内省を可能にする契約のエミュレーションも可能になります。

Merkle proof verification is a key component of Taproot, but the way it is implemented merkle tree verification only occurs in the context of verifying that a tapscript spending path is committed to in the root Schnorr public key in the output script of the coin being spent. Taproot does not support generic merkle proof verification.

Merkle Proof検証はTaprootの重要なコンポーネントですが、その実装された方法は、Merkle Treeの検証が、使用されているコインの出力スクリプトのルートSchnorr公開鍵でタップスクリプト支出パスがコミットされていることを確認するというコンテキストでのみ発生します。 Taprootは、一般的なマークル証明の検証をサポートしていません。

OP_CAT allows this in a totally generic manner. Simply providing the leaf hash(es) and then interior hash nodes in the right order and calling OP_CAT successively will allow you to reconstruct a merkle root hash, and compare against a pre-defined hash in the script. You could do this to provide unilateral withdrawal paths for shared UTXOs like in CatVM, you could make transactions dependent on other transactions having been included in a block with valid work, you can make a transaction dependent on pretty much any condition that can be verified with a merkle proof.

OP_CATは、これを完全に一般的な方法で許可します。葉のハッシュ(es)を整理し、その後、右順序で内部ハッシュノードを提供し、OP_CATを連続的に呼び出すだけで、メルクルルートハッシュを再構築し、スクリプトの事前定義されたハッシュと比較できます。これを行うために、CATVMのような共有UTXOSの一方的な引き出しパスを提供できます。有効な作業を備えたブロックに含まれている他のトランザクションに依存するトランザクションを作成できます。マークルプルーフで検証できる条件に依存するトランザクションを作成できます。

Now, for the covenant emulation that enables full introspection. What you are trying to do is ensure that a transaction has to have certain characteristics to be valid. Remember now that the “weird” signature gets the hash of the transaction on the stack. A transaction signature isn’t actually done over the raw transaction, it’s done over its hash. This allows us to do something interesting.

さて、完全な内省を可能にする契約エミュレーションのために。あなたがやろうとしていることは、トランザクションが有効になるために特定の特性を持たなければならないことを確認することです。 「奇妙な」署名は、スタック上のトランザクションのハッシュを取得することを忘れないでください。トランザクションの署名は、実際には生のトランザクションで行われたものではなく、ハッシュで行われます。これにより、私たちは何か面白いことをすることができます。

You can construct very complicated and convoluted scripts using OP_CAT to take the individual raw pieces of the transaction as part of the witness, and slowly put them together on the

OP_CATを使用して非常に複雑で複雑なスクリプトを構築して、証人の一部としてトランザクションの個々の生の部分を撮影し、ゆっくりとそれらをまとめることができます

免責事項:info@kdj.com

提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。

このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。

2025年05月03日 に掲載されたその他の記事