Blockchain/Tahap IV · Kedalaman protokol/4.2 Naik taraf/Pelajaran 5
Covenant dan vault: CTV, OP_CAT serta perdebatan 2026
Peraturan yang mengehadkan perbelanjaan seterusnya, dan tempoh tangguh yang diperolehnya
BahanSalinan BIP119 (OP_CHECKTEMPLATEVERIFY)Salinan BIP347 (Mengaktifkan semula OP_CAT dalam Taproot)Kod sumber Bitcoin Core untuk logik pengesahan skripPeneroka blok dengan keupayaan pemeriksaan transaksi
Ingin tahu
- Mengapakah skrip Bitcoin standard boleh mengesahkan siapa yang memegang kunci tetapi tidak dapat menentukan ke mana syiling itu pergi seterusnya?
- Apakah kekangan khusus yang dikenakan oleh OP_CHECKTEMPLATEVERIFY terhadap transaksi masa depan?
- Mengapakah pengaktifan semula satu opcode penyambungan, melalui soft fork, akan membuka pintu kepada covenant?
Teroka
- Skrip Bitcoin standard mengesahkan pemilikan kunci atau hash, tetapi tidak dapat menyekat ke mana syiling pergi selepas dibuka kuncinya. Covenant mengubah perkara ini dengan mengenakan syarat pada `scriptPubKey` output keturunan. Mekanisme ini sering dibandingkan dengan baucar makan: tidak seperti wang tunai yang boleh dibelanjakan di mana-mana, dana ini terhad kepada restoran rakan kongsi tertentu. Kegunaan yang dicadangkan termasuk vault dengan laluan pengeluaran tertangguh, kawalan kesesakan, dan reka bentuk Lightning yang lebih ringkas.
- Jeremy Rubin mencadangkan OP_CHECKTEMPLATEVERIFY (CTV) pada tahun 2019. Opcode ini membenamkan hash templat transaksi masa hadapan ke dalam UTXO semasa. Untuk membelanjakannya, transaksi perbelanjaan itu sendiri mesti sepadan tepat dengan templat ini; tiada tandatangan terlibat dalam langkah pengesahan. Ia menetapkan langkah seterusnya sebelum melaksanakan langkah semasa. Sebarang penyimpangan dari segi jumlah, destinasi atau struktur skrip menyebabkan pengesahan gagal serta-merta, sekali gus memastikan pematuhan ketat kepada laluan yang telah ditetapkan.
- Kelemahan CTV ialah ketegarannya: output transaksi seterusnya ditetapkan semasa syiling dikunci, jadi yuran perlu diuruskan dengan cara lain, contohnya dengan output sauh (anchor output) dan child-pays-for-parent. Sebagai balasan, CTV mudah dianalisis dan murah untuk disahkan.
- OP_CAT, opcode yang menyambungkan dua item tindanan (stack), telah dinyahdayakan oleh Satoshi Nakamoto pada tahun 2010 sebagai langkah berjaga-jaga terhadap serangan kehabisan memori. BIP347 mencadangkan agar ia diaktifkan semula khusus dalam tapscript. Digabungkan dengan teknik tandatangan Schnorr, OP_CAT membolehkan covenant dan logik kompleks lain tanpa memerlukan peraturan konsensus baharu bagi setiap kes penggunaan tertentu. Ia menyediakan blok binaan asas yang boleh digabungkan oleh pembangun untuk mencipta sekatan khusus pada transaksi masa hadapan.
- Cadangan berkaitan termasuk OP_CHECKSIGFROMSTACK (BIP348), yang mengesahkan tandatangan ke atas sebarang mesej yang dibekalkan pada stack, bukannya ke atas transaksi perbelanjaan. Fleksibiliti ini, digabungkan dengan CTV (atau, secara berasingan, ANYPREVOUT yang dicadangkan), akan membolehkan saluran Lightning simetri yang tidak memerlukan mana-mana pihak menyimpan data penalti bagi setiap keadaan saluran lama.
- Sehingga tahun 2026, tiada satu pun cadangan covenant ini telah diaktifkan, walaupun usaha pengaktifan dan perdebatan masih berterusan. Perdebatan berterusan mengenai kegunaannya, risiko yang ditambahkannya kepada peraturan konsensus, dan proses tadbir urus yang diperlukan untuk pengaktifan. Pengembangan peraturan konsensus menimbulkan persoalan tentang kerumitan rangkaian dan kebolehselenggaraan jangka panjang yang masih belum diselesaikan dalam komuniti.
- Skrip Bitcoin pada masa ini mengesahkan syarat pada transaksi semasa, seperti tandatangan atau locktime. Ia tidak dapat memeriksa output transaksi yang membelanjakannya. Covenant meluaskan skop ini: sesuatu scriptPubKey boleh mengenakan sekatan ke atas scriptPubKey bagi output yang dicipta oleh transaksi yang membelanjakannya. Ini menyekat ke mana syiling boleh pergi seterusnya, sekali gus membolehkan ciri seperti senarai putih alamat dan saluran pembayaran bukan interaktif.
- BIP-119 mencadangkan OP_CHECKTEMPLATEVERIFY (CTV). Ia membolehkan skrip membenamkan hash templat; transaksi yang membelanjakannya mesti sepadan dengan templat ini dari segi output, bilangan input, sequence, locktime dan versi, tetapi tidak dari segi input mana yang dibelanjakan. CTV tidak rekursif, bermakna ia hanya menyekat langkah seterusnya yang terdekat. Ia menggantikan OP_NOP4 dan memerlukan soft fork. Ia boleh menjadi asas kepada 'vault', yang menambah masa tangguh untuk pemulihan daripada kecurian.
- Dalam vault, pengeluaran mesti melalui tempoh menunggu (contohnya 12 jam) di mana kunci pemulihan yang berasingan boleh memindahkan dana ke tempat selamat. Jika penyerang mencuri kunci harian dan memulakan pengeluaran, pemilik melihatnya di rantaian dan menarik balik dana sebelum tempoh tangguh berakhir. Ini mengubah kecurian kunci daripada kerugian yang tidak boleh dipulihkan kepada peristiwa yang boleh dipulihkan, dengan syarat mangsa memantau rantaian.
- Walaupun dibincangkan sejak 2013, tiada soft fork covenant yang telah diaktifkan. Taproot (November 2021) kekal sebagai naik taraf utama terakhir. Pada Februari 2026, klien pengaktifan untuk BIP-119 diterbitkan tanpa penglibatan Bitcoin Core. Ia memerlukan isyarat daripada 90% pelombong antara Mac 2026 dan Mac 2027. Setakat Mei 2026, isyarat kekal hampir sifar, menunjukkan tiada konsensus untuk menerima pakainya.
- OP_CAT (BIP-347) mencapai spesifikasi lengkap pada Mac 2026 tetapi tidak mempunyai parameter pengaktifan. Ia membolehkan penyambungan elemen skrip, membolehkan logik yang lebih kompleks berbanding CTV semata-mata. CTV sering digandingkan dengan CheckSigFromStack (CSFS), yang mengesahkan tandatangan pada data sembarangan daripada stack, bukan hanya pada transaksi perbelanjaan. Bersama-sama, kedua-duanya memberikan peningkatan ketara dari segi keupayaan ekspresif untuk kontrak pintar dan reka bentuk protokol.
- Perdebatan tertumpu pada kompromi: covenant meningkatkan keselamatan dan membolehkan protokol baharu seperti vault, tetapi menambah kerumitan dan risiko tadbir urus. Soft fork mengubah peraturan konsensus, dan memerlukan persetujuan meluas daripada pelombong dan pengendali nod. Kebuntuan semasa mencerminkan sikap berhati-hati terhadap pepijat pelaksanaan dan sifat tidak boleh diundur bagi perubahan keadaan rantaian. Pengguna mesti menimbang kelebihan ini berbanding risiko pengaktifan yang gagal atau dipertikaikan.
Bahagian ICadangan covenant: CTV dan OP_CAT
Bahagian IICovenant dan vault: perdebatan pada tahun 2026
Fakta utama
- Covenant menyekat `scriptPubKey` transaksi masa hadapan, bukan hanya syarat pembukaan kunci semasa.
- OP_CHECKTEMPLATEVERIFY (BIP119) mengikat sesuatu output kepada bentuk tepat transaksi yang membelanjakannya.
- CTV memerlukan pengiraan awal terhadap butiran transaksi masa depan, dengan menetapkan jumlah dan yuran pada masa penciptaan.
- OP_CAT telah dinonaktifkan pada tahun 2010 tetapi dicadangkan untuk diaktifkan semula dalam tapscript melalui BIP347 (2023-2024).
- BIP348 mencadangkan OP_CHECKSIGFROMSTACK, yang mengesahkan tandatangan ke atas mesej yang diambil daripada stack.
- Sehingga tahun 2026, tiada cadangan covenant yang telah diaktifkan; perdebatan mengenai kegunaan, risiko dan pengaktifannya masih berterusan.
- Covenant menyekat output transaksi yang membelanjakan sesuatu UTXO.
- BIP-119 (CTV) memerlukan isyarat daripada 90% pelombong untuk pengaktifan antara Mac 2026 dan Mac 2027.
- Isyarat untuk BIP-119 hampir 0% setakat Mei 2026.
- Taproot (November 2021) ialah soft fork terakhir yang diaktifkan; tiada covenant yang beroperasi.
- OP_CAT mencapai spesifikasi lengkap pada Mac 2026 tanpa parameter pengaktifan.
- Vault menggunakan covenant untuk menambah masa tangguh dan laluan tarik balik dana bagi menghadapi kecurian kunci.
Latihan sembilan, enam, tiga, satu
9KumpulSenaraikan 9 opcode atau mekanisme Bitcoin yang dicadangkan berkaitan covenant atau pengembangan skrip (contohnya, CTV, APO, OP_CAT).
6KelompokkanKumpulkan 9 perkara tersebut ke dalam 6 kategori berdasarkan jenis kekangan utamanya: bentuk transaksi, derivasi kunci, logik penyambungan, dan sebagainya.
3SaringKurangkan 6 kumpulan tersebut kepada 3 kompromi (trade-off) teknikal utama antara fleksibiliti dan kos pengesahan.
1KristalkanTulis 1 ayat yang menerangkan mengapa covenant yang tegar seperti CTV lebih murah untuk disahkan berbanding skrip fleksibel berasaskan OP_CAT.
Semakan fakta
Tarikh, angka dan dakwaan telah disemak berbanding dengan sumber yang diterbitkan yang disenaraikan di bawah.
- J. Rubin, OP_CHECKTEMPLATEVERIFY (BIP119), 2019-2020
- BIP347: OP_CAT in Tapscript (E. Heilman & A. Sabouri, 2023)
- BIP348: CHECKSIGFROMSTACK (B. Black & J. Rubin, 2024)
- Bitcoin Optech, 'Covenants' topic guide
- J. Rubin, BIP-119: OP_CHECKTEMPLATEVERIFY (2020)
- E. Heilman & A. Sabouri, BIP-347: OP_CAT in Tapscript (2024)
- Delving Bitcoin activation discussions (2026)