Apa Itu Smart Contract?
Smart contract (kontrak pintar) adalah program yang disimpan di blockchain dan berjalan ketika seseorang memanggilnya. Ia tidak pintar, dan dalam pengertian hukum, juga bukan kontrak. Ia adalah mesin penjual otomatis: masukkan hal yang tepat, keluarlah hal yang telah ditentukan, dan tidak ada yang perlu menyetujuinya.
Sifat-sifat yang penting
- Deterministik: panggilan yang sama dalam keadaan (state) yang sama selalu menghasilkan hasil yang sama.
- Publik: siapa pun dapat membaca bytecode yang di-deploy, dan biasanya juga kode sumbernya.
- Otonom: setelah di-deploy, ia berjalan tanpa pembuatnya, dan sering kali tanpa cara apa pun untuk menghentikannya.
"Code is law" adalah peringatan, bukan slogan
Sebuah kontrak melakukan apa yang tertulis, bukan apa yang dimaksudkan pembuatnya. Tidak ada klausul tentang niat dan tidak ada hakim tempat mengajukan banding. Jika kodenya memungkinkan seseorang mengurasnya, itu bukan pelanggaran kontrak. Itu adalah kontraknya, yang sedang bekerja.
Inilah sebabnya audit ada, dan mengapa kontrak yang belum diaudit yang menyimpan uang sungguhan adalah risiko nyata, dan bukan masalah administrasi. Ini juga sebabnya frasa "kontraknya terverifikasi" hanya berarti kode sumber yang dipublikasikan cocok dengan bytecode yang di-deploy. Frasa itu sama sekali tidak mengatakan apa pun tentang apakah kode sumber tersebut aman.
Terverifikasi berarti "ini benar-benar kode yang sedang berjalan". Itu tidak berarti "kode ini aman", dan mencampuradukkan keduanya telah membuat orang kehilangan banyak sekali uang.