Bitcoin Script adalah bahasa pemrograman yang mengendalikan setiap transaksi di jaringan Bitcoin. Bahasa ini bersifat sederhana dan berbasis tumpukan, yang mendefinisikan syarat-syarat tepat di mana bitcoin dapat dibelanjakan, dan setiap node penuh di jaringan menjalankannya setiap kali sebuah transaksi divalidasi. Tanpa bahasa ini, Bitcoin hanyalah sebuah buku besar berisi angka-angka tanpa mekanisme untuk memastikan siapa pemiliknya.
Sebagian besar pengguna tidak pernah melihat bahasa skrip Bitcoin secara langsung. Dompet mereka mengurusnya secara otomatis. Namun, setiap kali Anda mengirim atau menerima BTC, dua program kecil dijalankan secara bersamaan di ribuan komputer, untuk memeriksa apakah syarat pengeluaran telah terpenuhi. Memahami cara kerjanya akan menjelaskan banyak hal mengenai mengapa Bitcoin dirancang seperti itu, serta apa yang dapat dan tidak dapat dilakukannya dibandingkan dengan platform seperti Ethereum.
Artikel ini membahas cara kerja Bitcoin Script, menguraikan jenis-jenis transaksi utama yang didukungnya, menjelaskan pembaruan Taproot yang memodernisasi lapisan skrip pada tahun 2021, serta mengulas perkembangan terkini perdebatan seputar opcode covenant per Juni 2026.
Kelola Bitcoin Anda dengan aman menggunakan penyimpanan mandiri Aplikasi Dompet Bitcoin.com.
Poin-Poin Penting
- Bitcoin Script adalah bahasa pemrograman berbasis tumpukan yang terintegrasi dalam protokol Bitcoin, yang mendefinisikan syarat-syarat di mana setiap output Bitcoin dapat dibelanjakan.
- Setiap transaksi Bitcoin mencakup dua skrip: skrip penguncian (ScriptPubKey) yang ditetapkan oleh penerima dan skrip pembukaan kunci (ScriptSig) yang disediakan oleh pengirim. Keduanya harus berhasil dieksekusi agar transaksi tersebut dianggap sah.
- Bitcoin Script secara sengaja tidak bersifat Turing-lengkap. Skrip ini tidak memiliki perulangan, tidak ada status yang bertahan antar eksekusi, dan memiliki batasan ketat pada ukuran skrip. Hal ini memastikan bahwa setiap skrip pasti akan berakhir, yang merupakan fitur keamanan, bukan keterbatasan.
- Bahasa skrip ini telah berkembang melalui lima format utama: P2PK, P2PKH, P2SH, SegWit (P2WPKH/P2WSH), dan Taproot (P2TR), yang masing-masing memperluas kemungkinan yang ada sambil tetap kompatibel ke belakang.
- Taproot (November 2021) memperkenalkan tanda tangan Schnorr, jalur pengeluaran berbasis MAST untuk privasi, serta Tapscript sebagai bahasa skrip yang diperbarui dengan mekanisme bawaan untuk pembaruan di masa depan yang lebih lancar.
- Contoh penerapan di dunia nyata yang dibangun menggunakan Bitcoin Script antara lain dompet multisignature, transaksi yang dikunci berdasarkan waktu, Kontrak yang Dikunci Berdasarkan Waktu dan Hash (Hash Time-Locked Contracts; dasar dari Lightning), layanan escrow, dan Kontrak Log Diskret (Discreet Log Contracts).
- Berbeda dengan kontrak pintar Ethereum, Bitcoin Script bersifat stateless: setiap skrip berjalan secara sepenuhnya terisolasi tanpa mengetahui adanya transaksi lain. Ini merupakan pilihan arsitektur yang disengaja.
- Bidang pengembangan Bitcoin Script yang paling aktif pada tahun 2026 adalah opcode perjanjian (covenant opcodes), khususnya OP_CTV (BIP-119) dan OP_CAT (BIP-347), yang akan memungkinkan skrip untuk menentukan batasan mengenai bagaimana bentuk transaksi pengeluaran harusnya. Keduanya belum diaktifkan di mainnet.
Apa Itu Bitcoin Script?
Bitcoin Script adalah bahasa skrip berbasis tumpukan dan tanpa status yang terintegrasi ke dalam protokol Bitcoin. Setiap output transaksi di jaringan Bitcoin membawa skrip penguncian (disebut ScriptPubKey) yang menentukan syarat-syarat untuk menggunakan dana tersebut. Siapa pun yang ingin menggunakan dana tersebut harus menyediakan skrip pembuka kunci (disebut ScriptSig, atau dalam transaksi SegWit dan Taproot, data saksi) yang memenuhi syarat-syarat tersebut.
Bahasa ini mengambil strukturnya dari Forth, sebuah bahasa pemrograman minimalis berbasis tumpukan yang dikembangkan pada tahun 1960-an. Seperti Forth, Bitcoin Script dibaca dari kiri ke kanan, beroperasi pada struktur data yang disebut tumpukan, dan menggunakan Notasi Polandia Terbalik (RPN), di mana operator mengikuti operandnya, bukan mendahuluinya. Bahasa ini mengeksekusi satu instruksi pada satu waktu, tidak memiliki loop, dan tidak menyimpan memori persisten di antara eksekusi.
Poin terakhir itulah yang paling sering ditemui orang saat pertama kali mempelajari Bitcoin Script pada tingkat protokol: bahasa pemrograman ini secara sengaja tidak dirancang agar Turing-lengkap. Sebuah bahasa pemrograman yang Turing-lengkap dapat melakukan perhitungan apa pun asalkan diberi waktu dan sumber daya yang cukup. Bitcoin Script, berdasarkan rancangannya, tidak dapat melakukannya, dan alasan di balik pilihan tersebut sangat berpengaruh terhadap cara kerja jaringan.
Cara Kerja Skrip Bitcoin: Model Stack
Untuk memahami cara kerja Bitcoin Script, Anda perlu memahami konsep stack. Stack adalah struktur data yang beroperasi berdasarkan prinsip Last-In, First-Out (LIFO). Bayangkan tumpukan piring: Anda hanya bisa menambahkan atau mengambil dari bagian atas. Dalam Bitcoin Script, data dimasukkan ke dalam stack dan opcode (kode operasi) memanipulasi apa pun yang berada di bagian atas.
Saat sebuah node Bitcoin memvalidasi sebuah transaksi, node tersebut menjalankan dua skrip secara berurutan:
- Skrip pembuka kunci (ScriptSig atau saksi) yang disediakan oleh orang yang menggunakan koin tersebut. Hal ini akan memasukkan data ke dalam tumpukan (stack), biasanya berupa tanda tangan digital dan kunci publik.
- Skrip penguncian (ScriptPubKey) terkait dengan pengeluaran output tersebut. Bagian ini berisi opcode yang memproses data tumpukan dan memverifikasi apakah syarat-syarat pengeluaran telah terpenuhi.
Jika skrip dijalankan tanpa kesalahan dan meninggalkan nilai bukan nol (TRUE) di tumpukan pada akhirnya, transaksi tersebut dianggap sah. Jika skrip gagal atau meninggalkan nilai FALSE, transaksi tersebut ditolak oleh node dan tidak akan pernah dimasukkan ke dalam blok.
Eksekusi ini sepenuhnya tanpa status. Skrip tersebut tidak memiliki informasi mengenai transaksi sebelumnya, tidak mengetahui saldo saat ini, dan tidak memiliki memori yang tersisa setelah skrip selesai dijalankan. Setiap skrip dijalankan dari awal, secara terpisah, setiap kali.
Langkah demi Langkah: Transaksi P2PKH Standar
Pay-to-Public-Key-Hash (P2PKH) adalah jenis transaksi Bitcoin yang asli, yang telah digunakan sejak tahun 2009. Alamat P2PKH diawali dengan "1." Berikut ini adalah contoh tampilan ScriptPubKey dan ScriptSig dalam praktiknya:
Skrip pembuka kunci (ScriptSig):
<tanda tangan> <kunci publik>
Skrip penguncian (ScriptPubKey):
OP_DUP OP_HASH160 <hash kunci publik> OP_EQUALVERIFY OP_CHECKSIG
Ketika node tersebut menggabungkan dan menjalankan keduanya secara bersamaan, operasi tumpukan berlangsung selangkah demi selangkah:
- Tanda tangan dan kunci publik dari ScriptSig dimasukkan ke dalam tumpukan
OP_DUPmenyalin kunci publik yang ada di bagian atas tumpukanOP_HASH160menghitung nilai hash dari data duplikat tersebut (SHA-256 diikuti oleh RIPEMD-160), sehingga menghasilkan nilai hash berukuran 20 byte- Hash kunci publik dari skrip penguncian dimasukkan ke dalam tumpukan
OP_EQUALVERIFYmemastikan bahwa kedua nilai hash tersebut cocok. Jika tidak cocok, proses akan dihentikan dan transaksi akan gagal.OP_CHECKSIGmemastikan bahwa tanda tangan tersebut sah untuk kunci publik tersebut
Jika semua langkah berhasil, tumpukan berakhir dengan nilai TRUE dan dana pun dicairkan. Seluruh proses ini berlangsung dalam hitungan milidetik dan berjalan dengan cara yang sama di setiap node dalam jaringan.
Penjelasan Mengenai Opcode Bitcoin
Opcode Bitcoin adalah perintah-perintah individual yang membentuk sebuah skrip. Masing-masing berukuran satu byte, sehingga terdapat 256 slot opcode yang mungkin. Dari jumlah tersebut, sekitar 80 di antaranya saat ini aktif di mainnet. Sisanya either dicadangkan, dinonaktifkan, atau dialokasikan untuk mekanisme kompatibilitas ke depan OP_SUCCESS yang diperkenalkan bersama Tapscript.
Opcode terbagi menjadi beberapa kategori:
- Kode operasi pengiriman data menempatkan nilai-nilai seperti kunci publik, tanda tangan, dan hash ke dalam tumpukan
- Kode operasi aritmatika melakukan operasi penjumlahan, pengurangan, dan perbandingan. Perlu dicatat bahwa operasi perkalian dan pembagian dinonaktifkan.
- Kode operasi kriptografi termasuk OP_SHA256, OP_HASH160, dan OP_SHA1 untuk fungsi hash, serta OP_CHECKSIG untuk verifikasi tanda tangan
- Kode operasi pengendalian aliran mengaktifkan logika bersyarat: OP_IF, OP_ELSE, OP_ENDIF, OP_NOTIF
- Kode operasi manipulasi tumpukan di antaranya OP_DUP (menggandakan item teratas), OP_DROP (menghapus item teratas), dan OP_SWAP (menukar dua item teratas)
Beberapa opcode dinonaktifkan oleh Satoshi Nakamoto pada tahun 2010 setelah ditemukan kerentanan dalam implementasi aslinya. Di antaranya adalah OP_CAT (menggabungkan dua item tumpukan), OP_MUL (perkalian), dan OP_DIV (pembagian). Ketidakhadiran opcode-opcode tersebut telah menimbulkan konsekuensi jangka panjang terhadap kemampuan Bitcoin Script, dan beberapa usulan peningkatan Bitcoin yang paling banyak diperdebatkan pada tahun 2026 berkaitan dengan apakah beberapa di antaranya akan diaktifkan kembali.
Untuk referensi opcode lengkap, termasuk nilai heksadesimal dan deskripsinya, silakan lihat Halaman Skrip Bitcoin Wiki adalah sumber yang dapat diandalkan.
Mengapa Sifat Non-Turing Complete Merupakan Sebuah Keunggulan
Penjelasan umum yang sering disampaikan adalah bahwa Bitcoin Script tidak memiliki perulangan, sehingga skrip dijamin akan berakhir, dan dengan demikian jaringan terlindungi dari eksekusi tak terbatas. Hal itu memang benar, tetapi penjelasan tersebut kurang menggambarkan inti permasalahannya.
Argumen yang lebih mendalam berkaitan dengan permukaan serangan. Sebuah bahasa pemrograman yang Turing-lengkap dapat mengekspresikan komputasi apa pun. Kemampuan ekspresif tersebut juga merupakan ruang di mana bug bersarang. Solidity dari Ethereum telah menyebabkan beberapa kerentanan perangkat lunak paling mahal dalam sejarah. Peretasan DAO tahun 2016 memanfaatkan kelemahan reentrancy dalam kontrak pintar dan menyebabkan kerugian sekitar $60 juta berdasarkan harga saat itu, yang pada akhirnya memicu hard fork kontroversial pada jaringan Ethereum. Ekosistem DeFi yang lebih luas telah mengalami kerugian ratusan juta dolar akibat eksploitasi kontrak pintar selama beberapa tahun.
Bitcoin Script membuat jenis serangan tersebut secara struktural tidak mungkin terjadi. Anda tidak dapat menulis skrip Bitcoin yang memanggil skrip lain, melakukan perulangan hingga suatu kondisi berubah, atau menyimpan status antar transaksi. Setiap skrip adalah program yang terbatas, dapat dihentikan, dan dapat diperiksa. Ukuran skrip maksimum adalah 10.000 byte. Jumlah maksimum opcode non-push per skrip adalah 201. Validator selalu dapat menghitung biaya eksekusi terburuk sebelum menjalankan skrip.
Bagi sebuah jaringan yang bernilai ratusan miliar dolar, kepastian tersebut lebih berharga daripada fleksibilitas yang harus dikorbankan. Ethereum mengatasi masalah komputasi tak terbatas dengan batasan gas, mengenakan biaya kepada pengguna untuk setiap opcode yang dieksekusi, dan menghentikan skrip yang kehabisan anggaran. Cara ini memang berhasil, tetapi menimbulkan kompleksitas dan potensi kegagalan tersendiri. Bitcoin menghindari masalah tersebut sepenuhnya melalui desainnya.
Meskipun demikian, ungkapan "tidak Turing-complete" tidak berarti "tidak mampu menangani logika yang kompleks." Bitcoin Script mendukung persyaratan pengeluaran multipihak, kondisi berbasis waktu, pengungkapan preimage hash, serta kombinasi dari semua hal tersebut. Lightning Network, yang memproses jutaan transaksi setiap hari, sepenuhnya dibangun di atas primitif Bitcoin Script.
Jenis Skrip: Evolusi dari P2PKH ke Taproot
Lapisan skrip Bitcoin telah berkembang secara signifikan sejak tahun 2009, di mana setiap pembaruan memperkenalkan format transaksi baru namun tetap kompatibel ke belakang dengan semua versi sebelumnya.
P2PK (Pay-to-Public-Key, 2009)
Format asli yang digunakan dalam transaksi Bitcoin pertama, termasuk pembayaran Satoshi kepada Hal Finney di blok 170. Dana dikunci langsung ke kunci publik lengkap, bukan ke hash-nya. Saat ini jarang digunakan dalam transaksi baru karena format ini memaparkan kunci publik di blockchain sebelum pengeluaran, yang dianggap sebagai langkah keamanan yang lebih lemah dibandingkan dengan melakukan hashing pada kunci terlebih dahulu.
P2PKH (Pay-to-Public-Key-Hash, 2009)
Format standar selama lebih dari satu dekade. P2PKH mengunci dana ke hash dari kunci publik, bukan ke kunci itu sendiri, sehingga menjaga kerahasiaan kunci publik hingga saat penarikan, menghasilkan alamat yang lebih pendek (20 byte), dan menjadi dasar bagi semua alamat yang diawali dengan "1." Menurut data on-chain dari Unchained (April 2026), alamat P2PKH saat ini menyimpan sekitar 43% dari pasokan bitcoin yang telah ditambang.
P2SH (Pay-to-Script-Hash, 2012, BIP 16)
Diperkenalkan melalui soft fork pada 1 April 2012, P2SH mengalihkan beban skrip pengeluaran yang rumit dari pengirim ke penerima. Alih-alih menyematkan skrip penguncian lengkap dalam output, P2SH menghasilkan komitmen terhadap hash berukuran 20 byte dari sebuah "skrip penukaran." Skrip lengkap tersebut hanya terungkap saat koin tersebut dibelanjakan. Hal ini membuat multisig menjadi praktis bagi pengguna umum: pengaturan multisig 2-dari-3 tidak lagi mengharuskan ketiga kunci publik tersebut terlihat oleh pengirim pada saat pembayaran. Alamat P2SH dimulai dengan angka "3."
Untuk penjelasan terperinci mengenai cara kerja validasi P2SH pada tingkat protokol, Panduan Transaksi di developer.bitcoin.org menjelaskan mekanisme skrip redeem langkah demi langkah.
P2WPKH dan P2WSH (SegWit Asli, 2017, BIP 141)
Segregated Witness, yang diaktifkan pada Agustus 2017 di blok 481.824, memindahkan data tanda tangan dari bagian utama transaksi ke struktur saksi yang terpisah. Data saksi mendapatkan diskon bobot sebesar 75%, sehingga transaksi SegWit menjadi jauh lebih murah. Transaksi P2WPKH standar dengan satu input dan dua output memiliki bobot sekitar 141 byte virtual, dibandingkan dengan 226 vbyte untuk transaksi P2PKH yang setara, menurut Analisis jenis alamat Bitcoin oleh Spark mulai Maret 2026. SegWit juga mengatasi masalah malleability transaksi, yang merupakan syarat utama bagi beroperasinya Lightning Network. Alamat SegWit asli dimulai dengan "bc1q."
P2TR (Pay-to-Taproot, 2021, BIP 340/341/342)
Taproot diaktifkan pada November 2021 di blok 709.632 dan merupakan pembaruan paling signifikan pada lapisan skrip Bitcoin sejak SegWit. Pembaruan ini memperkenalkan tanda tangan Schnorr, jenis output baru dengan dukungan MAST, serta Tapscript sebagai bahasa skrip yang diperbarui. Alamat Taproot dimulai dengan "bc1p."
Taproot dan Tapscript: Bagaimana Bahasa Pemrograman Bitcoin Berubah pada Tahun 2021
Taproot bukanlah satu perubahan saja. Taproot terdiri dari tiga Proposal Peningkatan Bitcoin yang dirancang secara bersamaan dan diaktifkan secara bersamaan.
BIP 340: Tanda Tangan Schnorr
Bitcoin awalnya menggunakan ECDSA (Elliptic Curve Digital Signature Algorithm). Satoshi memilihnya sebagian karena tanda tangan Schnorr saat itu dilindungi hak paten. Hak paten tersebut berakhir pada tahun 2008, dan Taproot akhirnya mengintegrasikan tanda tangan Schnorr ke dalam protokol.
Tanda tangan Schnorr berukuran lebih kecil, yaitu 64 byte, dibandingkan dengan 71–73 byte untuk ECDSA. Yang lebih penting lagi, tanda tangan ini mendukung agregasi kunci melalui skema yang disebut MuSig2. Agregasi kunci memungkinkan beberapa penandatangan untuk menggabungkan kunci dan tanda tangan masing-masing menjadi satu kunci dan tanda tangan agregat yang tidak dapat dibedakan di dalam rantai blok dari pembayaran tanda tangan tunggal biasa. Dompet multisig 2-dari-3 yang melakukan pengeluaran melalui jalur kunci kooperatif Taproot tampak identik dengan pembayaran standar di blockchain. Hal ini merupakan keuntungan privasi yang nyata bagi siapa pun yang menyimpan bitcoin dalam pengaturan kustodi yang kompleks.
BIP 341: Pay-to-Taproot dan MAST
P2TR memperkenalkan jenis keluaran baru dengan dua jalur pengeluaran:
- A jalur kunci melakukan transaksi menggunakan tanda tangan Schnorr, yang digunakan ketika semua pihak setuju dan menginginkan cara yang paling sederhana dan paling murah
- A jalur skrip menggunakan MAST (Merkelized Abstract Syntax Tree, yang merupakan implementasi konsep tersebut dalam Taproot)
MAST memungkinkan satu output untuk terikat pada pohon yang terdiri dari beberapa skrip pengeluaran melalui akar Merkle. Saat melakukan pengeluaran, hanya kondisi spesifik yang benar-benar digunakan yang terungkap di blockchain. Semua jalur pengeluaran lain yang mungkin dalam pohon tersebut tetap tersembunyi selamanya. Bagi pengguna yang telah mengonfigurasi kebijakan pengeluaran yang kompleks, misalnya "Saya dapat melakukan pengeluaran secara normal, atau dua dari tiga wali dapat melakukan pengeluaran setelah enam bulan, atau kunci pemulihan dapat melakukan pengeluaran setelah dua tahun," hanya jalur yang benar-benar dieksekusi yang akan muncul di blockchain.
Pada tahun 2024, pangsa Taproot dalam transaksi Bitcoin telah meningkat menjadi sekitar 42%, yang sebagian besar didorong oleh aktivitas pencatatan Ordinals dan BRC-20 menurut data Glassnode yang dikutip oleh Spark pada Maret 2026. Sejak saat itu, pangsa tersebut mengalami fluktuasi seiring dengan kondisi pasar, namun infrastrukturnya kini telah menjadi standar di berbagai dompet dan bursa utama. Halaman topik Taproot dari Bitcoin Optech memantau perkembangan protokol yang sedang berlangsung seputar Taproot.
BIP 342: Tapscript
Tapscript adalah bahasa skrip yang telah diperbarui dan digunakan untuk transaksi script-path di dalam Taproot. Bahasa ini memiliki sebagian besar opcode yang sama dengan Bitcoin Script versi lama, namun menghadirkan beberapa perubahan signifikan:
OP_CHECKMULTISIGdanOP_CHECKMULTISIGVERIFYtelah tidak direkomendasikan lagi. Opcode multisig lama memiliki kelemahan yang mengharuskan penambahan elemen dummy ke tumpukan sebagai solusi sementara. Tapscript menghapusnya dan menggantinya denganOP_CHECKSIGADD, yang memverifikasi tanda tangan Schnorr satu per satu dan menghitung jumlahnya. Skema multisig ambang batas menjadi lebih sederhana dan lebih hemat biaya untuk dijalankan.- Batasan ukuran skrip per daun MAST telah dihapus. Skrip-skrip individual dalam sebuah cabang Taproot dapat memiliki ukuran sebesar apa pun.
- Kode operasi OP_SUCCESS merupakan perubahan yang paling visioner. Dalam Script versi lama, menemui opcode yang tidak terdefinisi akan menyebabkan skrip gagal. Dalam Tapscript, opcode dalam rentang OP_SUCCESS akan membuat skrip berhasil tanpa syarat. Soft fork di masa depan dapat menetapkan perilaku nyata pada opcode-opcode ini dengan menambahkan batasan mengenai kapan opcode tersebut berhasil, tanpa memerlukan versi skrip baru atau siklus penerapan ulang penuh di seluruh ekosistem. Kemampuan baru dapat ditambahkan ke lapisan skrip Bitcoin dengan cara yang lebih rapi daripada pada titik mana pun dalam sejarah protokol ini.
Miniscript
Selain Tapscript, sebuah proyek terkait bernama Miniscript kini semakin relevan bagi para pengembang. Miniscript adalah cara terstruktur untuk menulis subset dari Bitcoin Script yang dapat dianalisis, digabungkan, dan ditandatangani secara generik. Sementara Script mentah memerlukan konstruksi manual dan sulit diaudit, skrip Miniscript dapat diverifikasi kebenarannya secara otomatis dan digabungkan menjadi kebijakan yang lebih besar. Miniscript tidak memperluas kemampuan Script, tetapi membuat apa yang sudah dapat dilakukan oleh Script menjadi jauh lebih mudah diakses oleh pengembang yang membangun dompet dan alat penyimpanan.
Apa yang Dapat Dilakukan oleh Bitcoin Script: Contoh Penerapan di Dunia Nyata
Jenis-jenis transaksi berikut ini saat ini aktif di jaringan utama Bitcoin, yang semuanya dibangun berdasarkan primitif Bitcoin Script:
Dompet multisignature (multisig) memerlukan M dari N kunci pribadi untuk mengotorisasi suatu transaksi. Bagian keuangan suatu perusahaan mungkin memerlukan 3 dari 5 persetujuan untuk setiap penarikan dana. Pasangan suami istri mungkin menggunakan skema 2 dari 2 untuk tabungan bersama. Dengan Taproot dan agregasi kunci Schnorr, transaksi multisig kooperatif kini tidak dapat dibedakan dari transaksi tanda tangan tunggal standar di dalam rantai blok.
Transaksi dengan batas waktu Gunakan OP_CHECKLOCKTIMEVERIFY (CheckLockTimeVerify, atau CLTV) dan OP_CHECKSEQUENCEVERIFY (CheckSequenceVerify, atau CSV) untuk mencegah dana dipindahkan sebelum ketinggian blok tertentu atau waktu tertentu berlalu. Aplikasi-aplikasi tersebut meliputi perencanaan warisan, jadwal vesting token karyawan, mekanisme tabungan paksa, dan transaksi denda yang digunakan di dalam saluran Lightning Network.
Kontrak Berbasis Waktu (HTLC) menggabungkan persyaratan preimage hash dengan timelock. Syarat pencairan dana bekerja sebagai berikut: ungkapkan preimage dari hash ini sebelum ketinggian blok tersebut, atau dana akan dikembalikan kepada pengirim. HTLC merupakan elemen dasar Lightning Network, yang memungkinkan perutean pembayaran tanpa perlu kepercayaan melalui rantai saluran antara pihak-pihak yang tidak memiliki hubungan langsung.
Escrow Pengaturan tersebut mengunci dana dalam skrip P2SH atau Taproot yang mensyaratkan persetujuan dari beberapa pihak sebelum dana dapat dicairkan, biasanya dengan adanya pihak ketiga sebagai penengah yang memegang kunci penentu keputusan.
Kontrak Log Rahasia (DLC) menggunakan tanda tangan adaptor Schnorr berbasis oracle untuk memungkinkan kontrak keuangan yang diselesaikan berdasarkan data dunia nyata, seperti data harga atau hasil peristiwa, tanpa mengharuskan oracle untuk mengelola dana apa pun. DLCs telah beroperasi di mainnet Bitcoin dan digunakan untuk produk opsi dan futures yang diselesaikan dengan Bitcoin.
Skrip Bitcoin vs. Kontrak Cerdas Ethereum
Baik Bitcoin Script maupun Solidity dari Ethereum sama-sama menetapkan syarat-syarat di mana dana dapat dipindahkan, namun keduanya mewakili pilihan arsitektur yang secara mendasar berbeda. Perbandingan ini layak dilakukan secara langsung karena perbedaan-perbedaan tersebut menjelaskan banyak hal mengenai kompromi yang telah diterima oleh masing-masing jaringan.
| Fitur | Skrip Bitcoin | Kontrak Cerdas Ethereum |
|---|---|---|
| Model pelaksanaan | Berbasis tumpukan, tanpa status, terbatas | Berbasis tumpukan (EVM), berstatus, dengan pengukuran gas |
| Turing-lengkap? | Tidak. Tidak ada loop, dijamin akan berakhir. | Ya. Perhitungan sewenang-wenang. |
| Ketahanan sistem | Tidak ada. Setiap skrip berjalan secara terpisah. | Kontrak menyimpan dan mengubah status di dalam rantai blok. |
| Tujuan utama | Penggunaan UTXO yang bersyarat | Aplikasi serbaguna yang dapat diprogram |
| Perlindungan terhadap serangan DoS | Struktural: tidak ada loop, batasan ukuran yang ketat | Pembatasan gas terhadap biaya eksekusi |
| Privasi pada lapisan dasar | Ditingkatkan dengan Taproot dan MAST | Semua data publik secara default |
| Rekam jejak keamanan | Tidak ada eksploitasi pada lapisan konsensus selama 16 tahun | Penyalahgunaan sistem pada tingkat kontrak yang signifikan, kerugian mencapai miliaran |
| Perangkat pengembang | Kode operasi tingkat rendah; Miniscript; Tapscript | Solidity (tingkat tinggi), dikompilasi menjadi bytecode EVM |
Perbedaan mendasar terletak pada sifat berstatus (statefulness). Kontrak Ethereum menyimpan dan memodifikasi data yang tetap ada di antara transaksi, sehingga memungkinkan adanya protokol pinjaman, bursa terdesentralisasi, tata kelola on-chain, dan standar token. Bitcoin Script tidak memiliki fitur serupa. Setiap skrip berjalan secara terisolasi tanpa mengetahui adanya transaksi lain.
Ini adalah pilihan arsitektural yang disengaja, bukan celah yang menunggu untuk diisi. Lapisan skrip Bitcoin dirancang untuk satu tugas spesifik: menegakkan syarat-syarat pengeluaran Bitcoin, secara dapat diprediksi dan aman, dalam skala besar. Untuk tugas tersebut, sifat stateless merupakan keunggulan. Permukaan serangan lebih kecil, eksekusi bersifat deterministik di antara jutaan validator independen, dan tidak ada jenis eksploitasi kontrak pintar di tingkat protokol karena tidak ada kontrak berstatus di tingkat protokol.
Proyek-proyek yang menginginkan kemampuan pemrograman yang lebih luas di atas Bitcoin mengembangkannya secara berlapis. Lightning Network menangani pembayaran. Protokol DLC menangani kontrak keuangan yang merujuk pada data eksternal. Sistem Layer-2 seperti Ark dan Liquid Network menangani profil skalabilitas yang berbeda-beda. Tak satu pun dari hal ini memerlukan modifikasi terhadap model skrip lapisan dasar.
Perdebatan Mengenai Perjanjian: Apa Saja yang Bisa Berubah dalam Bitcoin Script
Perkembangan Bitcoin Script selalu berlangsung lambat dan konservatif. Bidang pengembangan yang paling aktif saat ini adalah opcode covenant, yaitu usulan yang akan memungkinkan sebuah skrip tidak hanya membatasi siapa yang dapat membelanjakan sebuah output, tetapi juga menentukan seperti apa bentuk transaksi yang dihasilkan. Hal ini merupakan perluasan yang signifikan terhadap kemampuan ekspresif Script.
Usulan-usulan utama per Juni 2026 adalah:
- OP_CTV (BIP-119, CheckTemplateVerify), yang ditulis oleh Jeremy Rubin, menambahkan satu opcode yang mengikat sebuah UTXO ke templat pengeluaran tertentu yang telah ditentukan sebelumnya, termasuk versi transaksi, locktime, jumlah input, urutan input, jumlah output, dan output-outputnya. Usulan ini dirancang agar tidak bersifat rekursif, dianggap sebagai usulan besar yang paling konservatif, dan terutama ditujukan untuk vault, pengendalian kemacetan, serta beberapa peningkatan pada Lightning. Per April 2026, OP_CTV telah memiliki parameter penerapan konkret yang sedang dibahas, yang menetapkan jendela sinyal “Speedy Trial”, namun belum mencapai konsensus komunitas yang luas yang diperlukan untuk aktivasi, sesuai dengan Analisis perjanjian BlockEden untuk bulan April 2026.
- OP_CAT (BIP-347), yang diusulkan oleh Ethan Heilman dan Armin Sabouri, akan mengaktifkan kembali sebuah opcode yang dinonaktifkan oleh Satoshi pada tahun 2010. OP_CAT menggabungkan dua item tumpukan, yang secara deskripsi sederhana namun memiliki implikasi yang luas. Ketika digabungkan dengan tanda tangan Schnorr, hal ini memungkinkan introspeksi transaksi yang mirip dengan "covenant". Di jaringan uji Bitcoin Signet, OP_CAT telah menghasilkan transaksi pengembang yang jauh lebih banyak dibandingkan APO atau CTV, menurut analisis on-chain sCrypt pada akhir tahun 2024. OP_CAT sudah aktif di Liquid Network dan Fractal Bitcoin tanpa adanya eksploitasi yang dikaitkan dengannya. BIP-347 memiliki nomor proposal resmi dan didukung oleh penelitian aktif, namun aktivasi di mainnet memerlukan konsensus komunitas yang hingga saat ini belum tercapai.
- LNHANCE menggabungkan OP_CTV dengan OP_CHECKSIGFROMSTACK (CSFS) dan OP_INTERNALKEY, yang bertujuan untuk melakukan perbaikan spesifik pada pembentukan saluran Lightning Network, termasuk pembukaan saluran non-interaktif dan pengelolaan saluran multipihak yang lebih efisien.
Sampai Juni 2026, tidak ada satupun dari fitur-fitur ini yang telah diaktifkan di mainnet Bitcoin. Perbedaan pendapat teknis di antara mereka sebagian besar dapat diselesaikan. Masalah yang lebih sulit adalah mekanisme aktivasi. Proses soft fork Bitcoin memerlukan konsensus yang luas, dan perdebatan mengenai perjanjian ini masih menyisakan ketegangan dari pembaruan-pembaruan kontroversial sebelumnya. Yang jelas dari perdebatan ini adalah bahwa lapisan skrip Bitcoin memiliki ruang yang signifikan untuk berkembang dalam kerangka kerja konservatifnya. Pertanyaan yang sedang dibahas adalah urutan implementasi dan kesepakatan komunitas, bukan apakah bahasa skrip tersebut memiliki masa depan.
Kesimpulan
Bitcoin Script adalah infrastruktur tak terlihat yang mendasari setiap transaksi di jaringan. Sebagian besar pengguna tidak pernah berinteraksi langsung dengannya. Dompet-dompet membuat skrip yang valid, menandatanganinya, dan menyiarkannya tanpa pernah memperlihatkan mekanismenya. Namun, setiap pembayaran, setiap saluran Lightning, setiap rencana yang dikunci waktu, dan setiap brankas multisig berjalan melalui bahasa skrip Bitcoin berbasis tumpukan yang sama yang diluncurkan bersama protokol tersebut pada tahun 2009.
Lapisan skrip telah berkembang pesat sejak saat itu, dengan P2SH yang memungkinkan transaksi kompleks menjadi praktis, SegWit yang memangkas biaya dan mendukung Lightning, serta Taproot yang menghadirkan tanda tangan Schnorr, privasi berbasis MAST, dan desain opcode Tapscript yang kompatibel ke depan. Usulan perjanjian yang kini sedang dibahas secara aktif mewakili bab potensial berikutnya. Apakah usulan tersebut akan diaktifkan, dan dalam jangka waktu berapa lama, masih benar-benar belum pasti hingga pertengahan tahun 2026.
Untuk memahami Script, tidak perlu menjadi seorang pengembang. Yang diperlukan adalah menyadari bahwa sifat konservatif Bitcoin—termasuk batasan-batasan yang disengaja, frekuensi pembaruan yang lambat, serta ketidaklengkapan Turing-nya—bukanlah suatu kekurangan. Sifat-sifat yang membuat Bitcoin Script dapat diprediksi adalah sifat-sifat yang sama yang telah menjaga lapisan konsensus tetap bersih selama enam belas tahun.






