Academy
Apa Itu Smart Contract?
Smart Contract merupakan salah satu konsep revolusioner yang tengah mengubah wajah teknologi blockchain, dan pembahasan seputarnya semakin meriah di era digital ini. Awalnya diperkenalkan oleh pencipta Ethereum, Vitalik Buterin, konsep ini membuka pintu bagi transformasi signifikan di berbagai sektor, termasuk keuangan, bisnis, hukum, dan lebih banyak lagi.
Berbeda dengan kontrak tradisional yang bergantung pada perantara manusia, smart contract adalah program komputer yang beroperasi secara otomatis, mematuhi peraturan yang telah tertera dalam kode mereka. Dalam artikel ini, kita akan menyelami lebih dalam mengenai esensi smart contract, mekanisme kerjanya, dan dampak revolusioner yang telah memengaruhi berbagai aspek kehidupan kita.
Daftar Isi
Pengantar
Nick Szabo mengusung konsep smart contract untuk pertama kalinya pada dekade 1990-an. Pada waktu itu, ia mendefinisikan smart contract sebagai alat yang dapat merumuskan dan menjaga integritas jaringan komputer dengan menggabungkan protokol dan antarmuka pengguna.
Szabo mendiskusikan berbagai potensi penerapan smart contract dalam berbagai bidang, mulai dari perjanjian kontraktual, sistem kredit, pemrosesan pembayaran, hingga manajemen hak konten.
Di ranah mata uang kripto, smart contract bisa didefinisikan sebagai aplikasi atau program yang beroperasi di jaringan blockchain. Biasanya, smart contract berperan sebagai perjanjian digital yang dikelola berdasarkan serangkaian aturan tertentu. Aturan-aturan ini diatur oleh kode komputer yang direplikasi dan dijalankan oleh seluruh simpul jaringan.
Dengan smart contract di blockchain, tercipta protokol tanpa kebutuhan kepercayaan (trustless). Artinya, dua pihak dapat menjalankan komitmen mereka melalui blockchain tanpa perlu mengetahui atau bergantung pada satu sama lain. Mereka bisa memiliki keyakinan bahwa jika syarat-syarat tertentu tidak terpenuhi, kontrak tidak akan terlaksana. Selain itu, penggunaan smart contract dapat menghapuskan peran perantara, mengurangi biaya operasional secara substansial.
Walaupun protokol Bitcoin sudah mendukung smart contract selama beberapa tahun, konsep smart contract baru benar-benar mendunia berkat kreator dan co-founder Ethereum, Vitalik Buterin. Harap dicatat bahwa setiap blockchain dapat menerapkan metode yang berbeda dalam menjalankan smart contract.
Artikel ini akan lebih terfokus pada smart contract yang berjalan pada Ethereum Virtual Machine (EVM), yang juga merupakan elemen kunci di ekosistem blockchain Ethereum.
Bagaimana Cara Kerjanya?
Dalam bahasa yang lebih sederhana, smart contract beroperasi sebagai program deterministik yang mengeksekusi tugas tertentu ketika dan hanya jika kondisi tertentu terpenuhi. Oleh karena itu, sistem smart contract sering dinyatakan dengan istilah “jika… maka…”. Penting untuk dicatat bahwa meski istilah “smart” (cerdas) sering digunakan, smart contract sesungguhnya bukanlah kontrak hukum, dan juga tidak memiliki kecerdasan. Mereka hanyalah potongan kode yang beroperasi di dalam sistem terdistribusi (blockchain).
Di jaringan Ethereum, smart contract bertugas untuk melaksanakan dan mengatur operasi blockchain yang dipicu saat pengguna (dalam hal ini, alamat) berinteraksi satu sama lain. Setiap alamat yang bukan merupakan smart contract dikategorikan sebagai akun yang dimiliki oleh entitas eksternal (externally owned account/EOA). Dengan demikian, smart contract dikendalikan oleh kode komputer, sedangkan EOA dikendalikan oleh pengguna.
Secara umum, smart contract Ethereum terdiri dari kode kontrak dan dua kunci publik (public key). Kunci publik pertama adalah yang diberikan oleh pencipta kontrak, sementara kunci lainnya mewakili kontrak itu sendiri dan berfungsi sebagai identifikasi digital yang unik untuk setiap smart contract.
Penempatan setiap smart contract terjadi melalui transaksi blockchain dan hanya bisa diaktifkan oleh EOA (atau smart contract lainnya). Namun, pemicu awal selalu dihasilkan oleh EOA (pengguna).
Fitur-fitur Utama
Smart contract Ethereum sering menampilkan karakteristik-karakteristik esensial berikut ini:
Terdistribusi: Smart contract direplikasi dan tersebar ke semua simpul (nodes) dalam jaringan Ethereum. Ini adalah perbedaan utama dari solusi lain yang bergantung pada server pusat.
Deterministik: Smart contract hanya melakukan tindakan sesuai dengan rancangan jika semua persyaratan terpenuhi. Hasilnya selalu konsisten, tidak peduli siapa yang mengeksekusinya.
Otonom: Smart contract dapat mengotomatisasi berbagai jenis tugas, berperan seperti program yang berjalan sendiri. Namun, dalam banyak kasus, jika tidak diaktifkan, smart contract akan bersifat tidak aktif atau “dormant” dan tidak akan melakukan tindakan apa pun.
Abadi: Setelah diterapkan, smart contract tidak dapat diubah, kecuali jika fungsi tertentu telah disertakan sebelumnya. Ini berarti bahwa smart contract menawarkan kode yang tak dapat diubah (tamper-proof).
Dapat Dikustomisasi: Sebelum implementasi, smart contract dapat dikodekan dalam berbagai cara, memungkinkan penggunaan dalam berbagai jenis aplikasi terdesentralisasi (DApp). Ini terkait dengan sifat Ethereum sebagai blockchain yang memiliki fitur Turing Complete.
Tanpa Kepercayaan (Trustless): Dua atau lebih pihak dapat berinteraksi melalui smart contract tanpa perlu saling mengenal atau mempercayai satu sama lain. Selain itu, teknologi blockchain memastikan keakuratan data yang benar-benar dapat diandalkan.
Transparan: Karena smart contract didasarkan pada blockchain publik, kode sumbernya tidak hanya tak dapat diubah tetapi juga dapat dilihat oleh siapa saja.
Apakah Saya Bisa Mengubah atau Menghapus Smart Contract?
Tidak mungkin untuk menambahkan fungsi baru ke sebuah smart contract Ethereum setelah diterapkan. Namun, jika pembuatnya menyertakan fungsi yang disebut SELFDESTRUCT dalam kode, mereka dapat “menghapus” smart contract di masa mendatang dan menggantinya dengan yang baru. Sebaliknya, jika fungsi ini tidak ada dalam kode dari awal, mereka tidak akan bisa menghapusnya.
Khususnya, smart contract yang dapat ditingkatkan memberikan fleksibilitas tambahan dalam hal sifat kekekalan kontrak. Ada berbagai cara untuk menciptakan smart contract yang dapat ditingkatkan dengan beragam tingkat kompleksitas.
Sebagai contoh sederhana, bayangkan jika smart contract dibagi menjadi beberapa kontrak kecil. Beberapa di antaranya dirancang untuk tetap abadi, sedangkan yang lain memiliki fungsi ‘hapus’ yang dapat diaktifkan. Dengan cara ini, bagian dari kode (smart contract) bisa dihapus dan diganti, sementara fungsi lainnya tetap utuh.
Manfaat dan Penggunaan
Sebagai kode yang dapat diprogram, smart contract sangat fleksibel dan dapat disesuaikan untuk berbagai keperluan, menawarkan berbagai jenis layanan dan solusi.
Sebagai program yang mandiri dan terdesentralisasi, smart contract dapat meningkatkan transparansi dan mengurangi biaya operasional. Bergantung pada implementasinya, smart contract juga bisa meningkatkan efisiensi dan mengurangi birokrasi.
Smart contract terutama bermanfaat dalam situasi yang melibatkan pengiriman atau pertukaran aset antara dua pihak atau lebih.
Dengan kata lain, smart contract dapat dirancang untuk berbagai tujuan. Beberapa contohnya termasuk penciptaan aset berbentuk token, sistem pemungutan suara, dompet kripto, pertukaran terdesentralisasi, permainan, dan aplikasi seluler. Smart contract juga dapat digunakan bersama dengan solusi blockchain lain yang menangani bidang seperti kesehatan, amal, rantai pasokan, tata kelola, dan keuangan terdesentralisasi (DeFi).
ERC-20
Token yang dikeluarkan di blockchain Ethereum mengikuti standar yang dikenal sebagai ERC-20. Standar ini merincikan fungsi inti yang dimiliki oleh semua token berbasis Ethereum, dan itulah sebabnya aset digital ini sering kali dikenal sebagai token ERC-20. Token ini mewakili sebagian besar mata uang kripto yang ada.
Sebagian besar perusahaan dan startup blockchain menggunakan smart contract untuk mengeluarkan token digital mereka di jaringan Ethereum. Setelah diterbitkan, token ERC-20 ini sering didistribusikan melalui acara Penawaran Koin Perdana (ICO). Pada umumnya, penggunaan smart contract memungkinkan pertukaran dan distribusi token secara trustless dan efisien.
Kendala-kendala
Smart contract dibuat melalui penulisan kode komputer oleh manusia. Hal ini membawa risiko tinggi karena kode tersebut rentan terhadap kesalahan. Idealnya, smart contract harus disusun dan diterapkan oleh para pengembang berpengalaman, terutama ketika melibatkan informasi sensitif atau transaksi besar.
Selain itu, beberapa berpendapat bahwa sistem terpusat bisa memberikan sebagian besar solusi dan fungsi yang ditawarkan oleh smart contract. Perbedaan utama adalah bahwa smart contract berjalan di dalam jaringan peer-to-peer terdesentralisasi, bukan di dalam server pusat. Dan karena mereka berbasis pada teknologi blockchain, smart contract cenderung bersifat tak dapat diubah atau sangat sulit diubah.
Ketidakbisaan untuk diubah ini bisa menguntungkan dalam beberapa konteks, tetapi juga bisa merugikan dalam yang lainnya. Sebagai contoh, ketika Organisasi Otonom Terdesentralisasi (DAO) yang dikenal sebagai “The DAO” mengalami peretasan pada tahun 2016, jutaan ether (ETH) hilang karena cacat dalam kode smart contract mereka.
Karena smart contract tidak bisa diubah, para pengembang tidak bisa memperbaiki kode tersebut. Akhirnya, ini mengakibatkan hard fork yang menghasilkan dua rantai Ethereum terpisah. Secara sederhana, satu rantai “membatalkan” peretasan tersebut dan mengembalikan dana kepada pemilik sah (bagian ini merupakan bagian dari blockchain Ethereum yang digunakan saat ini). Sementara rantai lainnya memutuskan untuk tidak campur tangan dengan peretasan dan berpendapat bahwa semua transaksi di blockchain tidak boleh diubah (rantai ini dikenal sebagai Ethereum Classic).
Penting untuk diingat bahwa masalah ini berasal dari implementasi smart contract yang salah, bukan dari blockchain Ethereum itu sendiri.
Kendala lain yang dihadapi oleh smart contract adalah status hukumnya yang belum pasti. Ini disebabkan bukan hanya oleh ketidaktertahuan di sebagian besar negara, tetapi juga karena smart contract tidak cocok dengan kerangka hukum saat ini.
Misalnya, banyak kontrak mengharuskan kedua pihak untuk diidentifikasi secara tegas dan memiliki usia di atas 18 tahun. Nama samaran yang sering digunakan dalam teknologi blockchain, dikombinasikan dengan kurangnya perantara, tidak memenuhi persyaratan ini. Meskipun ada potensi solusi untuk masalah ini, penegakan hukum pada smart contract adalah tantangan yang nyata, terutama ketika melibatkan jaringan tanpa batas dan terdesentralisasi.
Kritik
Sebagian penggemar blockchain melihat smart contract sebagai solusi yang akan segera menggantikan dan mengotomatisasi sebagian besar sistem komersial dan birokrasi di seluruh dunia. Meskipun ini adalah potensi yang mungkin, tetapi kemungkinan akan sulit menjadi standar umum.
Smart contract tanpa diragukan lagi adalah teknologi yang menarik. Namun, sifat mereka yang terdesentralisasi, deterministik, transparan, dan relatif tidak berubah bisa membuat mereka kurang cocok dalam beberapa situasi.
Secara pokok, kritik ini berasal dari keyakinan bahwa smart contract tidak selalu merupakan solusi yang paling tepat untuk banyak masalah dunia nyata. Beberapa organisasi mungkin lebih memilih menggunakan alternatif berbasis server konvensional.
Dibandingkan dengan smart contract, server terpusat lebih mudah dan ekonomis dalam hal pemeliharaan, dan cenderung menawarkan efisiensi yang lebih tinggi dalam hal kecepatan dan interoperabilitas lintas jaringan.
Kesimpulan
Tidak diragukan lagi bahwa smart contract telah memberikan dampak besar dalam dunia mata uang kripto, dan telah merevolusi ekosistem blockchain secara keseluruhan. Meskipun pengguna akhir mungkin tidak berurusan langsung dengan smart contract, teknologi ini membuka peluang dan ruang bagi berbagai aplikasi di masa depan, mulai dari layanan keuangan hingga manajemen rantai pasokan.
Ketika smart contract dan blockchain digabungkan, mereka memiliki potensi untuk mengubah segala aspek kehidupan masyarakat. Hanya waktu yang akan membuktikan apakah teknologi inovatif ini akan berhasil mengatasi hambatan dan diterima secara luas di seluruh dunia.
Jika kamu ingin mengetahui lebih dalam mengenai aset kripto atau cryptocurrency, bisa baca artikel “Belajar Crypto untuk Pemula Mulai Dari Sini.”
Sumber: Binance Academy Indonesia