
Setiap kali saya berbicara soal teknologi blockchain dan mata uang kripto, tentunya saya harus merujuk pada Bitcoin sebagai sokoguru teknologi satu ini. Tapi saya tidak akan membahas lebih banyak soal Bitcoin kecuali sekilas di bagian scripting (bila Anda tertarik lebih lanjut soal Bitcoin scripting, Anda bisa membacanya di buku kedua dan ketiga saya).
Jadi salah satu fitur yang paling menarik dari Bitcoin adalah kemampuannya untuk diprogram. Belum pernah saya lihat ada sistem pembayaran yang dapat diprogram selain Bitcoin. Bitcoin sendiri memiliki fitur scripting yang mirip dengan bahasa pemrograman Forth yang dievaluasi layaknya stack First In Last Out (FILO). Setiap script yang sukses harus menghasilkan nilai “TRUE” di akhir evaluasi script.
Nah, cikal bakal scripting inilah yang melahirkan istilah “contract” di Bitcoin. Bentuk contract tersebut sangatlah sederhana, terdiri atas paling banyak 3, 4, atau 5 baris perintah saja. Tidak semua bagian protokol bisa ditulis ke dalam script karena keterbatasan komputasi yang bisa dilakukan dalam Bitcoin. Platform smart contract berusaha untuk mengatasi persoalan ini dengan menyediakan fitur yang lebih fleksibel dalam hal pembuatan script.
Berbeda dengan Bitcoin yang lebih berfokus pada transfer nilai dari satu pihak ke pihak lain, smart contract yang diawali oleh Ethereum menawarkan hal lain selain transfer nilai, yakni transparansi pemrograman. Dengan aplikasi yang ditempelkan dalam blockchain, siapapun yang menulis program atau script tersebut tidak dapat lagi melakukan modifikasi atas aplikasi setelah aplikasi tersebut disimpan ke dalam blockchain (permanen), dan pengguna yakin bahwa aplikasi tersebut terpercaya karena dijalankan oleh sistem berbasis konsensus.
Yang menarik dari smart contract ini, meskipun baru diluncurkan oleh Ethereum, idenya sudah ada sejak 1996. Nick Szabo merupakan orang pertama yang memiliki ide tersebut. Namun di eranya, belum ada platform yang dapat digunakan untuk mengimplementasikan sistem smart contract yang diinginkannya, sampai Vitalik Buterin menggagas Ethereum.
Dalam smart contract, script kompleks dapat dibentuk selayaknya programmer menulis aplikasi. Tidak hanya logic gate, perulangan juga dapat diimplementasikan ke dalam smart contract. Hanya saja, perlu diperhatikan bahwa semakin kompleks script tersebut, biaya yang harus dibayar juga semakin tinggi dalam bentuk gas. Konversi antara gas dengan token disebut dengan gas price. Gas x gas price merupakan jumlah token yang harus dibayarkan oleh pengguna saat mengeksekusi script smart contract.
Jadi pendeknya, smart contract adalah program terbuka yang dijalankan oleh blockchain yang terdesentralisasi. Tujuan dari smart contract dalam blockchain, sebagaimana telah dibahas, adalah untuk mengurangi ketergantungan pada pengendali tunggal yang mengelola aplikasi.
Meskipun terlihat menjanjikan, smart contract juga mengundang masalah baru. Jika tidak hati-hati dengan keamanan smart contract, maka kehilangan uang menjadi hal yang tidak mustahil. Tercatat setidaknya ada 2 kasus besar yang menimpa mereka yang melakukan kesalahan saat menulis smart contract, di antaranya “The DAO Hack” dan “Parity multisig problem” yang menyebabkan kerugian hingga puluhan juta dolar.
Hanya saja, dengan kapabilitasnya yang begitu besar: jenis-jenis perintah yang bervariasi dan tipe data yang lebih fleksibel membuat smart contract mau tidak mau akan terus dilirik untuk membuat aplikasi finansial tanpa harus bergantung pada otoritas.