シリーズ #1 に続いて、OP_CAT を使用してマークル ツリーを構築および検証する方法を示します。ビットコインでは、マークル ツリーは、データの検証、同期、ブロックチェーンのトランザクションとブロックを効果的にリンクするためのデータ構造として利用されています。
この投稿は最初に Medium で公開されました。シリーズ #1 に続いて、OP_CAT を使用してマークル ツリーを構築および検証する方法を示します。ビットコインでは、データの検証、ブロックチェーンの同期、トランザクションとブロックの効率的なリンクのためのデータ構造としてマークル ツリーが使用されます。 2 つのスタック変数の連結を可能にする OP_CAT オペコードは、公開鍵の SHA256 ハッシュとともに使用して、ビットコイン スクリプト内のマークル ツリー検証プロセスを効率化できます。 OP_CAT は、マークル ツリーの構築と検証の基本的な操作に 2 つの値の連結とハッシュ化が含まれるため、マークル ツリー内のエントリの作成とオープンを独自に許可します。マークル ツリーには多くのアプリケーションがあります。以下にいくつかの著名な例を示します:
マークル証明
マークル証明は、ブロックチェーン全体をダウンロードすることなく、特定のトランザクションがマークル ツリーに含まれていることを検証するために使用される暗号化手法です。これは、軽量クライアントとデータ検証の効率の向上に特に役立ちます。
ツリー署名
ツリー署名は、ツリー構造、特にマークル ツリーを使用してデジタル署名のセキュリティと効率を向上させる暗号化手法です。このアプローチは、通常のマルチシグと比較して、メッセージまたはメッセージのセットが特定の鍵で署名されていることを示す、よりコンパクトでプライベートな証明を生成するために使用されます。
ゼロ知識証明
STARK (Succinct Transparent Arguments of Knowledge) は、タイプの 1 つです。ゼロ知識証明システムのこと。 STARKS は、計算自体に関する機密情報を明らかにすることなく、証明者が検証者に計算の正当性を証明できるように設計されています。
OP_CAT がビットコインに追加された場合、ビットコインでの STARK 検証者の実装が可能になる可能性があります。スクリプト。これについてはすでに作業が進行中です。これにより、ビットコインネットワーク上で安全かつプライベートなトランザクションが可能になります。 SNARK のようなペアリングベースの証明システムと比較して、STARK はよりビットコインに優しいと考えられています。
実装
Cryptis を使用したマークル ツリーの実装は簡単です。次のコードは、リーフとそのマークル パスを指定して、マークル ツリーのルート ハッシュを計算します。通常、マークル証明の検証に使用されます。完全なコードは https://github.com/sCrypt-Inc/scrypt-btc-merkle にあります。
1 回の実行で次のトランザクションが発生します。
Mempool でトランザクションを確認してください
Mempool でトランザクションを確認してください
スクリプトのバージョン
があります以下のような、裸のスクリプトでの代替実装です。マークルツリーの実装に Cryptis を使用する主な利点の 1 つは、その可読性と保守性です。スクリプトは、多くの場合、読み取って作業するのが非常に難しいものです。
OP_EXISTS
それを生成するコンパイラーがあったと教えてください—Jerry–BitcoinBay (@Lightswarm) 2024 年 3 月 1 日
OP_CAT のさらなる使用例にご期待ください。
視聴: sCryptハッカソンの学生はブロックチェーンにはそれだけではないことに気づきました
ブロックチェーンは初めてですか?ブロックチェーンテクノロジーについて詳しく学ぶための究極のリソースガイドである CoinGeek の「初心者向けブロックチェーン」セクションにアクセスしてください。
以上がOP_CAT を使用したマークル ツリーの構築と検証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。