Covenant adalah syarat yang dapat menentukan bukan hanya siapa yang boleh membelanjakan bitcoin, tetapi juga bentuk transfer berikutnya. Misalnya, dana dapat diwajibkan melewati keluaran dengan masa tunggu terlebih dahulu. Pembatasan ini merupakan bagian dari aturan pembelanjaan keluaran tersebut, bukan sekadar pengaturan aplikasi. Covenants mencakup sekumpulan konstruksi dan proposal, bukan satu fitur yang tersedia di setiap dompet.
Anna menyimpan tabungan dalam Bitcoin. Dompet adalah aplikasi atau perangkat untuk menerima dan mengirim bitcoin. Saldo di dompetnya terdiri atas keluaran transaksi sebelumnya yang belum dibelanjakan, disebut UTXO. Setiap keluaran memuat jumlah dana dan syarat untuk membelanjakannya. Syarat itu ditulis dalam program singkat bernama Bitcoin Script. Tanda tangan digital membuktikan otorisasi pembayaran menggunakan kunci privat, sebuah nilai angka rahasia, tanpa mengungkap kunci itu. Multisig dapat mewajibkan beberapa tanda tangan, sedangkan Timelock menambahkan syarat menunggu. Covenant juga dapat membatasi bentuk transaksi berikutnya, misalnya keluaran yang harus menerima dana. Bahkan pencuri yang memiliki kunci benar harus memenuhi aturan itu. Namun, semua jalur pembelanjaan perlu diperiksa: jika cabang lain memungkinkan pembatasan dilewati, pembatasan tersebut tidak dapat diandalkan. [1] [5] [9] [11]
Bayangkan Anna menaruh tabungannya dalam brankas dengan jeda penarikan. Brankas di sini bukan perangkat khusus, melainkan susunan aturan pembelanjaan. Kunci sehari-harinya dapat memulai penarikan, tetapi dana akan masuk terlebih dahulu ke keluaran dengan masa tunggu. Setelah jeda berakhir, barulah dana dapat diteruskan kepada penerima yang dituju. Jika pencuri memulai penarikan, Anna dapat menggunakan jalur pemulihan yang disiapkan sebelumnya untuk memindahkan dana ke perlindungan yang lebih aman selama masa tunggu. Namun, ia harus menyadari penarikan itu dan memastikan transaksi pemulihan terkonfirmasi dalam blok tepat waktu. Blok mengelompokkan transaksi dalam satu kumpulan yang ditambahkan ke riwayat bersama. Ini tidak membatalkan pembayaran yang sudah selesai atau menyelamatkan dana otomatis tanpa tindakan. Pilihan yang tersedia bergantung pada desain brankas. [6] [10]
Janji aplikasi untuk menunda penarikan bisa saja hanya janji operatornya. Sebaliknya, aturan dalam skrip Bitcoin diperiksa oleh node: perangkat lunak yang memverifikasi transaksi berdasarkan aturan bersama jaringan. Dalam konstruksi covenant yang sesuai, node harus menolak transfer yang melanggar pembatasan. Salah satu alat yang diusulkan adalah OP_CHECKTEMPLATEVERIFY, atau CTV, dalam BIP119. BIP adalah dokumen berisi usulan untuk Bitcoin. CTV akan membandingkan hash dari data tertentu dalam transaksi yang diperiksa dengan sidik jari yang disimpan sebelumnya. Hash di sini dapat dipahami sebagai sidik jari singkat dari data yang bisa diperiksa. Perubahan penerima atau jumlah yang sudah ditentukan akan mengubah sidik jari itu, sehingga transfer yang tidak cocok dengan templat gagal dalam pemeriksaan. Sebutan “brankas” di aplikasi saja tidak memberikan jaminan tersebut. [2]
CTV mengikat transaksi pada templat yang disiapkan sebelumnya, termasuk keluarannya. Pendekatan lain juga diteliti. BIP443 mengusulkan OP_CHECKCONTRACTVERIFY untuk keluaran yang membawa komitmen terverifikasi terhadap data tertentu. Komitmen berarti nilai tidak dapat diganti kemudian dengan nilai lain tanpa pemeriksaan mendeteksi perbedaannya. Data dapat menggambarkan keadaan kontrak, misalnya pembagian dana bersama saat ini; keluaran berikutnya dapat membawa keadaan yang diperbarui jika aturan yang ditentukan terpenuhi. Jadi CTV dan proposal ini bukan dua nama untuk hal yang sama. Untuk setiap desain, periksa apa yang harus ditentukan sejak awal, apa yang boleh berubah kemudian, dan alat tambahan apa yang diperlukan oleh keseluruhan konstruksi. [2] [7]
Konstruksi rekursif dapat mewajibkan keluaran berikutnya kembali membawa pembatasan tertentu. Aturannya lalu berlanjut melalui beberapa transaksi, misalnya ketika keadaan kontrak berubah bertahap. Ini bukan perulangan tanpa akhir ketika satu skrip diverifikasi. Russell O’Connor dan Marta Piekarska menjelaskan konstruksi semacam ini dalam makalah tahun 2017; kemampuan mengulang aturan bergantung pada proposal tertentu. [3]
Sebagian pembatasan dapat disiapkan lewat transaksi yang ditandatangani sebelumnya, kunci waktu, dan pengelolaan kunci. Namun, susunannya mungkin membutuhkan penghapusan kunci yang benar-benar andal, penyimpanan semua transaksi, atau kerja sama lanjutan. Multisig yang mengandalkan penanda tangan lain untuk menolak pembayaran yang tidak sesuai membawa asumsi kepercayaan berbeda. Pengalaman penggunaan yang mirip tidak berarti penegakan atau pemulihan yang sama. [5] [6]
Selain brankas, penelitian mencakup UTXO bersama dan persiapan pembayaran yang penyelesaiannya tersebar dalam waktu. Tujuannya dapat berupa pengurangan kebutuhan kerja sama terus-menerus atau pemakaian ruang blok yang lebih baik. Ini tidak berarti transaksi tanpa batas atau biaya rendah yang pasti. Desain juga harus menjelaskan cara peserta keluar sendiri, ketidakhadiran peserta lain, dan pembayaran biaya ketika jaringan padat. [2] [7]
Pada 17 Oktober 2026, BIP119 dan BIP443 berstatus Draft, yaitu proposal yang masih dikembangkan. BIP345 yang lebih lama, OP_VAULT, berstatus Closed dan mencantumkan BIP443 sebagai pengganti yang diusulkan. Penutupan dokumen itu tidak berarti penelitian brankas berakhir. Demikian pula, pemberian nomor BIP tidak berarti jaringan sudah menerima perubahan. Jaringan uji atau dompet demonstrasi dapat menampilkan suatu fitur sementara aturan jaringan utama Bitcoin, mainnet, tetap sama. Jika layanan menawarkan brankas berbasis covenant, periksa jaringan dan aturan yang benar-benar digunakannya. [6] [8]
Templat yang terlalu sempit atau kesalahan jumlah, skrip, maupun pembayaran biaya dapat membuat pembelanjaan yang dimaksud mustahil. Operasi tambahan juga memperluas hal yang harus divalidasi implementasi secara aman. Karena itu, perubahan konsensus perlu dinilai menurut spesifikasi tepatnya dan perilakunya saat terjadi kesalahan. Covenant sendiri tidak memberi orang lain hak untuk mengubah ketentuan UTXO Anda yang sudah ada secara sepihak setelahnya. [4] [8]
Untuk suatu solusi, tanyakan siapa yang dapat memulai penarikan atau pemulihan, berapa lama waktu tanggap, dan apakah seseorang harus terus memantau rantai. Periksa pula cadangan, biaya, jalan keluar, serta jaringan tempat solusi itu benar-benar berfungsi. Covenants dapat memperluas kendali atas uang sendiri, tetapi kata itu dalam deskripsi produk tidak membuktikan kendali tersebut. [3] [6]
Untuk gambaran yang lebih utuh, baca entri ini bersama Bitcoin Script, OP_CHECKTEMPLATEVERIFY, Timelock, Aturan konsensus, UTXO, Multisig. Entri ini juga dirujuk dari OP_CHECKTEMPLATEVERIFY, Bitcoin Vault, OP_CAT, Ark.