Pertanyaan mendasar tentang apakah Smart Contract via Bitcoin memungkinkan untuk diwujudkan? Pertanyaan itu pada dasarnya sudah terjawab semenjak bitcoin pertama kali diperkenalkan di tahun 2008 yang lalu.
Bitcoin, didalamnya tentu saja memang sudah memungkinkan bisa mendukung implementasi smart contract (kontrak cerdas). Jadi tentu saja smart contract via bitcoin itu bisa diwujudkan di masa mendatang.
Smart Contract atau kontrak cerdas ini, sebenarnya pertama kali diperkenalkan oleh Nick Szabo di tahun 1995. Beberapa tahun setelah bitcoin berjalan, Ethereum muncul dengan smart contractnya. Dan istilah Smart Contract kembali mencuat banyak diperbincangkan sebagai jalan keluar baru yang cukup fenomenal sebagai jalan termudah untuk mengintegerasikan banyak hal dengan blockchain.
Fungsi smart contract tentu saja mampu mengeksekusi kontrak perjanjian secara otomatis, tanpa adanya perantara lain yang diperlukan. Pertanyaannya, jika pada dasarnya ide tentang Smart Contract sebetulnya sudah lama ada, mengapa bitcoin belum mengimplementasikan hal tersebut?
Kendala Implementasi Smart Contract di Bitcoin
Meski bitcoin pada dasarnya sudah cukup mendukung untuk bisa mengimplementasikan smart contract, namun ada beberapa hal yang membuat hal itu belum dilakukan. Salah satu hal yang palung utama adalah menyoal tentang skalabilitas bitcoin.
Besaran kapasitas ukuran blockchain bitcoin, dalam waktu ke waktu akan terus bertambah. Hal tersebut menjadi perhatian utama yang telah banyak memakan proses perdebatan panjang selama ini. Skalabilitas itu, tidak hanya menjadi masalah untuk bitcoin saja, namun untuk keseluruhan Altcoin.
Tentang masalah skalabilitas ini, pihak developer bitcoin lebih memilih mengembangkan banyak hal yang dianggap bisa membantu menyelesaikan persoalan itu ketimbang mulai mengimplementasikan hal lain. Alhasil, Segwit pun mulai dicanangkan sejak tahun 2016, dan berhasil diaktifkan pada tahun 2017.
Pengimplementasian segwit, dianggap sebagai landasan dasar banyak pengembangan lain. Segwit cukup membuka peluang implementasi Lightning Network, Bulletproof, Sidechain, MASF, smart contract, selain itu juga efektifnya dalam membantu permasalahan skalabilitas bitcoin.
Bagaimana Smart Contract via Bitcoin dapat diimplementasikan?
Secara teknis, seperti yang dijelaskan diatas, bahwa bitcoin sejak awal sudah mendukung untuk implementasi smart contract. Mengapa demikian? Karena transaksi bitcoin secara teknis sudah bersifat sama seperti smart contract juga.
Di dalam transaksi bitcoin, sejumlah dana dalam satuan BTC itu akan dapat berpindah dan ditransfer kepada pemilik address lain, jika pada transaksi itu telah dibubuhi tanda tangan digital (digital signature) yang valid.
Lebih jauh, karena ada banyak varian transaksi bitcoin yang bisa dilakukan selain standar transaksi bitcoin biasa, maka perlu juga implementasi lanjutan smart contract yang memungkinkan berjalan dalam lebih luas.
Di dalam smart contract, dua elemen penting akan implementasi smart contract adalah multisig dan juga timelock. Dan kedua hal itupun sudah ada di dalam bitcoin sejak lama. Kedua hal tersebut juga menjadi dasar pijakan penting implementasi Lightning Network di bitcoin.
Tidak lain, implementasi Lightning Network pun juga berdasarkan pada penggunaan Payment Channel. Sedangkan pola payment channel ini sekaligus juga berfungsi sebagai smart contract juga. Lebih detailnya, mari kita coba melihat dari script transaksi bitcoin dibawah ini:
Transaksi standar bitcoin:
OP_DUP
OP_HASH160
<hash(publicKey)>
OP_EQUALVERIFY OP_CHECKSIG
Transaksi multisig:
OP_0
OP_<M>
<pubkey1> <pubkey2> ... <pubkeyN>
OP_<N>
OP_CHECKMULTISIG
Dan payment channel:
OP_IF
<expiry time> OP_CHECKLOCKTIMEVERIFY OP_DROP
<consumer pubkey> OP_CHECKSIG
OP_ELSE
OP_0 2 <consumer pubkey> <provider pubkey> 2 OP_CHECKMULTISIG
OP_END
Pada script payment channel diatas, kita dapat melihat adanya parameter tentang batas waktu yang bisa ditentukan, sekaligus harus membutuhkan digital signature. Kondisi-kondisi itu menjadi persyaratan mutlak yang harus terpenuhi agar selanjutnya transaksi itu dapat dieksekusi secara otomatis. Jika tidak terpenuhi, maka sejumlah dana itu akan kembali kepada pemiliknya. Sehingga outputnya baik antara pengirim dan penerima, tidak ada satupun yang akan dirugikan.
Sejauh ini, Lightning Network di dalam Bitcoin sudah berhasil dilakukan. Artinya, payment channel tersebut juga sudah bisa dilakukan, begitupun juga implementasi lanjutan atas smart contract, juga bisa dilakukan salah satunya dengan payment channel di dalam lightning network bitcoin.
Namun tentu saja, ada beberapa hal yang patut menjadi perhatian lebih jauh, terutama terkait dengan sisi keamanan yang harus bisa terpenuhi dan mampu memberikan kenyamanan lebih untuk penggunanya.
Hal-hal terkait dengan sisi keamanan tersebutlah yang menjadi permasalahan serius atas implementasi smart contract yang berbasis pada blockchain. Selain membutuhkan besaran space penyimpan data yang besar di dalam blockchain nantinya, selain itu seluruh node di dalam jaringan juga harus mengeksekusi kontrak tersebut, jadi tidak hanya kedua pihak dalam kontrak itu saja.
Pengembangan bitcoin dengan smart contract pun menjadi lebih kompleks, karena diharapkan mempu menutup semua potensi resiko serangan yang ada. Implementasi smart contract haruslah bisa menutup potensi fungibilitas yang memungkinkan bisa dilakukan. Jika smart contract pada akhirnya di ketahui oleh seluruh node di dalam jaringan bitcoin, maka sejumlah dana yang terikat dalam smart contract itupun bisa membuka peluang jika banyak diketahui.
Selain itu, diharapkan juga smart contract nantinya tidak mempengaruhi konsensus bitcoin secara umum. Terkait hal ini, bitcoin memang jauh lebih waspada dan tidak terburu-buru, meski ada banyak pengembangan lain yang masih menjadi pertimbangan besar dalam implementasi smart contract.
Scriptless Scripts
Andrew Poelstra, seorang matematikawan yang juga aktif di Blockstream, mulai mengenalkan Scriptless Scripts. Implementasi ini berdasar juga pada usulan tentang protokol Mimblewimble dari pseudonym bernama Voldermort yang pernah diperkenalkan pada tahun 2016 lalu.
Secara lebih khusus, apa yang diusung di dalam protokol Mimblewimble memungkinkan transaksi dengan anonimitas penuh (Confidential Transaction) untuk meningkatkan keamanan transaksi. Secara teknisnya, Mimblewimble memang menggabungkan teknik kriptografi antara One Way Aggregate signature dengan Confidential Transaction tersebut.
Berangkat dari protokol itu, Andrew Poelstra mengarahkan pengembangan lebih lanjut yang secara lebih spesifik dapat meningkatkan privasi penuh, sekaligus juga implementasi smart contract yang seolah mampu berjalan tanpa ada smart contract.
Hal itu bisa dilakukan tidak lain dengan menggunakan Schnorr Signature. Di dalam pola Scriptless Scripts dengan fungsi dari Schnorr Signature, digital signature tidak akan secara langsung mengungkapkan bagian apapun yang bukan bagian dari sebuah transaksi yang dibubuhkan digital signature diatasnya. Jadi smart contract dapat ditambatkan pada sebuah transaksi bitcoin secara biasa, namun secara terpisah tidak tersimpan di blockchain, sehingga transaksi itu tetap dapat dieksekusi seperti biasa.
(gambar smartcontract: hackernoon)