Smart contract pertama kali didiskripsikan pada tahun 1990an oleh Nick Szabo, sebagai alat yang memformalisasi dan mengamankan jaringan komputer dengan cara mengkombinasikan protokol-protokal dengan antarmuka para pengguna.
Dalam dunia mata uang kripto, kita dapat mendefinisikan smart contract sebagai sebuah aplikasi atau program yang berjalan pada blockchain. Secara khusus, smart contract bekerja sebagai persetujuan digital yang diikat oleh aturan-aturan tertentu. Aturan-aturan ini sudah ditentukan sebelumnya oleh kode komputer, yang direplikasi dan dieksekusi oleh semua node jaringan.
Pada intinya, smart contract blockchain memungkinkan terciptanya protokol yang tidak membutuhkan kepercayaan.
Bagaimana cara kerja smart contract?
Di jaringan Ethereum, smart contract bertanggung jawab untuk mengeksekusi dan mengelola operasi blockchain yang terjadi ketika pengguna (alamat) berinteraksi satu sama lain. Alamat apa pun yang bukan merupakan smart contract dikategorikan sebagai akun milik eksternal (externally owned account/EOA). Dengan demikian, smart contract dikendalikan oleh kode komputer, dan EOA dikendalikan oleh pengguna.
Pada dasarnya, smart contract Ethereum dibuat dari kode kontrak dan dua kunci publik (public key). Kunci publik pertama adalah yang disediakan oleh pencipta kontrak. Kunci lainnya mewakili kontrak itu sendiri, bertindak sebagai pengidentifikasi digital yang unik untuk setiap smart contract.
Penempatan setiap smart contract dibuat melalui transaksi blockchain, dan hanya dapat diaktivasi dengan EOA (atau smart contract lainnya). Namun, pemicu pertama selalu disebabkan oleh EOA (pengguna).
Apakah smart contract dapat diubah atau dihapus?
Tidak mungkin untuk menambahkan fungsi baru ke ksmart contract Ethereum setelah digunakan. Namun, jika penciptanya menyertakan fungsi yang disebut SELFDESTRUCT dalam kode, mereka dapat “menghapus” smart contract di masa mendatang – dan menggantinya dengan yang baru. Sebaliknya, jika fungsi tersebut tidak termasuk dalam kode sebelumnya, maka mereka tidak akan dapat menghapusnya.
Manfaat dan penggunaan Smart Contract
Sebagai program yang terdesentralisasi dan mandiri, smart contract dapat memberikan peningkatan transparansi dan mengurangi biaya operasional. Tergantung pada implementasinya, smart contract juga dapat meningkatkan efisiensi dan mengurangi biaya birokrasi.
Smart contract pada khususnya sangat berguna pada keadaan yang melibatkan pengiriman atau penukaran aset di antara dua pihak atau lebih. Smart contract juga dapat digunakan bersama dengan solusi blockchain lain yang menangani bidang kesehatan, amal, rantai pasokan, pemerintahan, dan keuangan terdesentralisasi/decentralized finance (DeFi).