Framework MATT dan OP_CHECKCONTRACTVERIFY memungkinkan kontrak Bitcoin berstatus
Cointelegraph Research menguraikan bagaimana proposal MATT dan opcode baru OP_CHECKCONTRACTVERIFY memungkinkan Bitcoin membawa status kontrak antar transaksi.
Diterjemahkan dari bahasa Inggris. Baca versi asli
Poin penting
- MATT (Merkleize All The Things) mengusulkan framework kontrak berstatus yang dibangun di atas OP_CHECKCONTRACTVERIFY.
- OP_CHECKCONTRACTVERIFY dapat memverifikasi bahwa kunci output Taproot telah di-tweak untuk berkomitmen pada data status kontrak tertentu.
- Kombinasi OP_CHECKCONTRACTVERIFY dengan OP_CAT memungkinkan pembuktian Merkle dan mekanisme fraud-proof on-chain.
Cointelegraph Research merilis bagian kelima dari serinya tentang kovenan Bitcoin, merinci framework baru bernama MATT (Merkleize All The Things) dan opcode OP_CHECKCONTRACTVERIFY (OP_CCV). Proposal ini bertujuan memberikan kemampuan pada Bitcoin untuk membawa status kontrak yang dapat berubah (mutable) di berbagai transaksi, sebuah kapabilitas yang tidak dimiliki oleh skrip Bitcoin standar karena setiap transaksi dievaluasi secara terpisah.
BTC / USD
Bagaimana MATT menanamkan status dalam kunci Taproot
MATT dibangun di atas mekanisme tweak yang sudah ada pada Taproot, di mana kunci publik output Taproot Q diturunkan sebagai Q = P + t·G, dengan P sebagai kunci internal dan t sebagai tagged hash dari data yang akan dikomitmenkan. Alih-alih hanya mengkomitmenkan akar Merkle dari pohon skrip, MATT mengusulkan untuk juga menanamkan status kontrak ke dalam tweak. Status tersebut di-hash dan dimasukkan ke dalam tweak, memungkinkan output berikutnya untuk membawa status baru yang dihitung ulang saat pengeluaran (spend).
OP_CHECKCONTRACTVERIFY menegakkan transisi status
Primitif inti untuk MATT adalah OP_CHECKCONTRACTVERIFY. Menurut laporan tersebut, OP_CCV memungkinkan skrip memverifikasi bahwa kunci input atau output Taproot telah di-tweak dengan data status tertentu. Format stack opcode ini adalah <data> <index> <pk> <taptree> <mode> OP_CHECKCONTRACTVERIFY, dengan tiga mode operasional: default (seluruh nilai input berpindah ke output yang ditunjuk), deduct (hanya jumlah output yang dipindahkan, menyisakan sisa untuk output lain), dan ignore (verifikasi tanpa batasan jumlah). Mode-mode ini menjaga nilai sambil memungkinkan input biaya terpisah, menghindari masalah pembakaran dana (fund-burn) yang terlihat pada desain kovenan sebelumnya seperti OP_CTV atau SIGHASH_ANYPREVOUT.
Memperluas ekspresivitas dengan OP_CAT
Ketika OP_CHECKCONTRACTVERIFY dikombinasikan dengan OP_CAT, framework ini dapat membangun dan memverifikasi pembuktian Merkle on-chain. Dua pohon Merkle dikaitkan dengan output Taproot: pohon skrip standar dan pohon status terpisah yang menyimpan langkah-langkah komputasi perantara. OP_CAT menggabungkan string byte, memungkinkan skrip untuk membangun kembali pembuktian Merkle untuk status saat ini, menghitung akar baru setelah transisi, dan kemudian menggunakan OP_CCV untuk memaksa output berikutnya berkomitmen pada akar baru tersebut. Desain ini mendukung sistem fraud-proof yang mirip dengan optimistic rollups, di mana sebagian besar komputasi terjadi off-chain dan hanya langkah-langkah yang dipermasalahkan yang diposting on-chain untuk verifikasi.


Diskusi 0