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
Sumber: CoinGecko. Harga bersifat indikatif.

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.

Apa yang perlu diperhatikan selanjutnya