Apa Itu Bitcoin Script? Bahasa Pemrograman di Bitcoin
Bitcoin Script adalah bahasa pemrograman stack-based di Bitcoin untuk menentukan kondisi pengeluaran UTXO — sengaja terbatas demi keamanan jaringan.
Bitcoin Script adalah bahasa pemrograman berbasis stack yang tertanam di setiap transaksi Bitcoin sejak jaringan ini diluncurkan pada 2009. Dari sekitar 1 juta blok yang sudah ditambang, hampir semua transaksinya diproses menggunakan Script — mulai dari transfer biasa P2PKH hingga multisig 2-dari-3 yang dipakai bursa besar untuk mengamankan miliaran dolar aset.
Script bukan bahasa serbaguna seperti Python atau Solidity. Ia punya sekitar 80-an opcode aktif, tidak punya loop, dan tidak menyimpan state. Tapi keterbatasan inilah yang membuat Bitcoin bisa memverifikasi jutaan transaksi setiap harinya dengan keamanan tertinggi di antara semua blockchain publik.
Cara Kerja Bitcoin Script
Setiap output transaksi Bitcoin (UTXO) dilengkapi dua bagian script:
- locking script (scriptPubKey) — dipasang oleh pengirim, mendefinisikan “siapa yang boleh membelanjakan output ini dan dengan syarat apa”
- unlocking script (scriptSig / witness) — disediakan oleh penerima saat ingin membelanjakan UTXO tersebut
Cara kerjanya seperti gembok dan kunci. Saat node Bitcoin memvalidasi transaksi, ia menggabungkan kedua script lalu menjalankannya di atas tumpukan data (stack). Jika hasilnya benar (stack berisi nilai TRUE), transaksi valid. Jika tidak, transaksi ditolak.
Contoh paling umum adalah P2PKH (Pay-to-Public-Key-Hash) — format standar transfer BTC:
locking: OP_DUP OP_HASH160 <hash alamat penerima> OP_EQUALVERIFY OP_CHECKSIG
unlocking: <tanda tangan> <public key>
Node menjalankan keduanya berurutan: hash public key dicocokan dengan hash alamat, lalu tanda tangan diverifikasi. Kalau dua kondisi ini terpenuhi, UTXO bisa dibelanjakan.
Mekanisme ini memastikan bahwa hanya pemegang private key yang tepat yang bisa membuka UTXO — tanpa memerlukan pihak ketiga atau server terpusat.
Bitcoin Script vs Smart Contract Ethereum
| Aspek | Bitcoin Script | Smart Contract Ethereum |
|---|---|---|
| Tujuan utama | Kondisi pengeluaran UTXO | Logika program arbitrer |
| Turing-complete | Tidak | Ya |
| State persisten | Tidak | Ya (on-chain storage) |
| Loop | Tidak ada | Ada |
| Risiko bug kompleks | Rendah | Lebih tinggi |
| Fleksibilitas | Terbatas tapi cukup | Sangat tinggi |
Smart contract Ethereum bisa membangun protokol DeFi lengkap — liquidity pool, lending, bahkan game on-chain. Bitcoin Script tidak bisa melakukan itu. Tapi Bitcoin Script juga tidak pernah mengalami bug seperti The DAO Hack 2016 yang menguras $60 juta karena celah logika smart contract.
Filosofinya berbeda: Ethereum memilih ekspresivitas, Bitcoin memilih kesederhanaan yang bisa dibuktikan aman.
Siapa yang Pakai Bitcoin Script dan untuk Apa
Multisig wallet: Bursa kripto besar seperti Coinbase dan Kraken memakai multisig 2-dari-3 untuk menyimpan cold wallet. Artinya butuh 2 tanda tangan dari 3 kunci berbeda untuk membelanjakan BTC. Ini diimplementasikan lewat Script P2MS atau P2SH.
Lightning Network: Layer 2 Bitcoin ini bergantung pada Bitcoin Script — terutama opcode OP_CHECKLOCKTIMEVERIFY dan OP_CHECKSEQUENCEVERIFY — untuk membuat payment channel yang bisa dibuka dan ditutup secara trustless. Lightning memproses lebih dari 6 juta transaksi per hari dengan biaya mendekati nol.
Taproot dan Tapscript: Upgrade Bitcoin 2021 ini memperkenalkan P2TR (Pay-to-Taproot) yang menggabungkan Schnorr signature dengan struktur pohon script (MAST). Hasilnya: transaksi multisig kompleks terlihat identik dengan transaksi biasa di blockchain, meningkatkan privasi dan efisiensi.
Time-locked transactions: Dengan OP_CHECKLOCKTIMEVERIFY, seseorang bisa mengunci BTC agar tidak bisa dibelanjakan sebelum blok atau waktu tertentu — berguna untuk escrow, vesting, atau warisan digital.
Risiko dan Hal yang Perlu Diperhatikan
Script yang salah = BTC hilang permanen. Tidak ada “undo” di Bitcoin. Jika Anda membuat locking script dengan kondisi yang mustahil dipenuhi, UTXO tersebut terkunci selamanya — tidak ada admin yang bisa membantu. Satoshi sendiri pernah membakar beberapa BTC awal dengan mengirim ke script yang sengaja tak bisa dibuka.
Opcode nonaktif: Beberapa opcode Bitcoin Script pernah dinonaktifkan setelah ditemukan bug (misalnya OP_CAT pada 2010). Ada komunitas yang mendorong reaktivasinya untuk memungkinkan konstruksi script lebih kaya, tapi ini butuh konsensus luas.
Kompleksitas P2SH dan P2WSH: Script yang lebih kompleks (misalnya multisig 5-dari-7) memerlukan biaya transaksi lebih tinggi karena ukuran data lebih besar. Taproot membantu menekan biaya ini, tapi adopsi Taproot masih sekitar 60% dari transaksi per 2025.
Bukan untuk logika aplikasi: Jika Anda ingin membangun DeFi atau dApp, Bitcoin Script bukan alat yang tepat. Gunakan Ethereum atau chain lain yang mendukung smart contract penuh.
Kesimpulan
Bitcoin Script adalah tulang punggung tersembunyi dari setiap transaksi Bitcoin — sederhana by design, tapi cukup kuat untuk mengamankan ratusan miliar dolar aset melalui multisig, Lightning Network, dan Taproot. Keterbatasannya bukan kelemahan, melainkan pilihan sadar: keamanan yang bisa dibuktikan lebih penting daripada fleksibilitas tanpa batas. Bagi developer yang ingin membangun di atas Bitcoin, memahami Script adalah langkah pertama sebelum masuk ke Lightning atau ekosistem layer 2 Bitcoin yang berkembang pesat.
💡 Mau belajar lebih dalam? Kelas WhaleX mengajarkan strategy dan eksekusi nyata, bukan hanya teori. Lihat kelas tersedia →
WhaleX Masterclass 2 Hari: dari setup wallet sampai LP DeFi aktif menghasilkan. Praktik langsung, dipandu mentor berpengalaman.
Lihat Jadwal Kelas →Pertanyaan Umum
Apa itu Bitcoin Script?
Bitcoin Script adalah bahasa pemrograman sederhana berbasis stack yang dipakai Bitcoin untuk mendefinisikan kondisi pengeluaran setiap UTXO. Setiap transaksi Bitcoin harus memenuhi Script yang terpasang pada output sebelumnya agar bisa digunakan.
Kenapa Bitcoin Script sengaja dibatasi, bukan Turing-complete?
Bitcoin Script tidak Turing-complete by design — tidak ada loop, tidak ada state persisten. Ini mencegah serangan denial-of-service lewat script yang berjalan tak terbatas, dan membuat setiap transaksi bisa diverifikasi node dalam waktu terbatas dan pasti berhenti.
Apa perbedaan Bitcoin Script vs smart contract Ethereum?
Bitcoin Script hanya bisa mendefinisikan kondisi pengeluaran UTXO (misalnya: butuh tanda tangan X dan Y). Smart contract Ethereum adalah program lengkap yang bisa menyimpan state, menjalankan logika arbitrer, dan berinteraksi satu sama lain — jauh lebih fleksibel tapi juga lebih berisiko bug.