Perkenalan
Nick Szabo pertama kali menjelaskan kontrak pintar pada tahun 1990an. Saat itu, ia mendefinisikan kontrak pintar sebagai alat yang memformalkan dan mengamankan jaringan komputer dengan menggabungkan protokol dan antarmuka pengguna.
Szabo membahas potensi penggunaan kontrak pintar di berbagai bidang yang melibatkan perjanjian kontrak – seperti sistem kredit, pemrosesan pembayaran, dan manajemen hak konten.
Dalam dunia mata uang kripto, kita dapat mendefinisikan kontrak pintar sebagai aplikasi atau program yang berjalan pada blockchain. Biasanya, perjanjian ini berfungsi sebagai perjanjian digital yang ditegakkan berdasarkan serangkaian aturan tertentu. Aturan-aturan ini ditentukan sebelumnya oleh kode komputer, yang direplikasi dan dijalankan oleh semua node jaringan.
Kontrak pintar Blockchain memungkinkan pembuatan protokol yang tidak dapat dipercaya. Artinya dua pihak bisa membuat komitmen melalui blockchain, tanpa harus saling mengenal atau percaya. Mereka dapat yakin bahwa jika syaratnya tidak dipenuhi, kontrak tidak akan dilaksanakan. Selain itu, penggunaan kontrak pintar dapat menghilangkan kebutuhan akan perantara, sehingga mengurangi biaya operasional secara signifikan.
Meskipun protokol Bitcoin telah mendukung kontrak pintar selama bertahun-tahun, protokol ini dipopulerkan oleh pencipta dan salah satu pendiri Ethereum, Vitalik Buterin. Namun, perlu dicatat bahwa setiap blockchain mungkin menghadirkan metode penerapan kontrak pintar yang berbeda.
Artikel ini akan fokus pada kontrak pintar yang berjalan di Ethereum Virtual Machine (EVM), yang merupakan bagian penting dari blockchain Ethereum.
Bagaimana mereka bekerja?
Secara sederhana, kontrak pintar berfungsi sebagai program deterministik. Ia menjalankan tugas tertentu ketika dan jika kondisi tertentu terpenuhi. Oleh karena itu, sistem kontrak pintar sering kali mengikuti pernyataan "jika... maka...". Namun terlepas dari terminologi populernya, kontrak pintar bukanlah kontrak legal, juga bukan kontrak pintar. Mereka hanyalah sepotong kode yang berjalan pada sistem terdistribusi (blockchain).
Di jaringan Ethereum, kontrak pintar bertanggung jawab untuk melaksanakan dan mengelola operasi blockchain yang terjadi ketika pengguna (alamat) berinteraksi satu sama lain. Alamat apa pun yang bukan merupakan kontrak pintar disebut akun milik eksternal (EOA). Dengan demikian, kontrak pintar dikendalikan oleh kode komputer, dan EOA dikendalikan oleh pengguna.
Pada dasarnya, kontrak pintar Ethereum terbuat dari kode kontrak dan dua kunci publik. Kunci publik pertama adalah kunci yang disediakan oleh pembuat kontrak. Kunci lainnya mewakili kontrak itu sendiri, bertindak sebagai pengenal digital yang unik untuk setiap kontrak pintar.
Penerapan kontrak pintar apa pun dilakukan melalui transaksi blockchain, dan kontrak tersebut hanya dapat diaktifkan jika dipanggil oleh EOA (atau kontrak pintar lainnya). Namun pemicu pertama selalu disebabkan oleh EOA (pengguna).
Fitur utama
Kontrak pintar Ethereum sering kali memiliki karakteristik berikut:
Didistribusikan. Kontrak pintar direplikasi dan didistribusikan di semua node jaringan Ethereum. Inilah salah satu perbedaan utama dari solusi lain yang didasarkan pada server terpusat.
deterministik. Kontrak pintar hanya melakukan tindakan yang dirancang untuknya, jika persyaratannya terpenuhi. Selain itu, hasilnya akan selalu sama, tidak peduli siapa yang melaksanakannya.
Otonom. Kontrak pintar dapat mengotomatiskan segala macam tugas, bekerja seperti program yang dijalankan sendiri. Namun dalam sebagian besar kasus, jika kontrak cerdas tidak terpicu, kontrak tersebut akan tetap "tidak aktif" dan tidak akan melakukan tindakan apa pun.
Kekal. Kontrak pintar tidak dapat diubah setelah diterapkan. Mereka hanya dapat "dihapus" jika fungsi tertentu telah diterapkan sebelumnya. Dengan demikian, kita dapat mengatakan bahwa kontrak pintar dapat memberikan kode anti-rusak.
Dapat disesuaikan. Sebelum penerapan, kontrak pintar dapat diberi kode dengan berbagai cara. Jadi, mereka dapat digunakan untuk membuat berbagai jenis aplikasi terdesentralisasi (DApps). Hal ini terkait dengan fakta bahwa Ethereum adalah blockchain lengkap Turing.
Yg tak dpt dipercaya. Dua pihak atau lebih dapat berinteraksi melalui kontrak pintar tanpa mengetahui atau mempercayai satu sama lain. Selain itu, teknologi blockchain memastikan data akurat.
Transparan. Karena kontrak pintar didasarkan pada blockchain publik, kode sumbernya tidak hanya tidak dapat diubah tetapi juga dapat dilihat oleh siapa pun.
Bisakah saya mengubah atau menghapus kontrak pintar?
Tidak mungkin menambahkan fungsi baru ke kontrak pintar Ethereum setelah diterapkan. Namun, jika pembuatnya menyertakan fungsi yang disebut SELFDESTRUCT dalam kodenya, mereka dapat "menghapus" kontrak pintar tersebut di masa mendatang - dan menggantinya dengan yang baru. Namun sebaliknya, jika fungsi tersebut tidak disertakan dalam kode sebelumnya, mereka tidak akan dapat menghapusnya.
Khususnya, kontrak pintar yang dapat diupgrade memungkinkan pengembang memiliki lebih banyak fleksibilitas atas kekekalan kontrak. Ada banyak cara untuk membuat kontrak pintar yang dapat diupgrade, dengan tingkat kerumitan yang berbeda-beda.
Dengan mengambil contoh sederhana, bayangkan sebuah kontrak pintar dibagi menjadi beberapa kontrak yang lebih kecil. Beberapa di antaranya dirancang agar tidak dapat diubah, sementara yang lain mengaktifkan fungsi 'hapus'. Artinya, sebagian kode (kontrak pintar) dapat dihapus dan diganti, sementara fungsi lainnya tetap utuh.
Keuntungan dan kasus penggunaan
Sebagai kode yang dapat diprogram, kontrak pintar sangat dapat disesuaikan dan dapat dirancang dengan berbagai cara, menawarkan berbagai jenis layanan dan solusi.
Sebagai program yang terdesentralisasi dan dijalankan sendiri, kontrak pintar dapat memberikan peningkatan transparansi dan pengurangan biaya operasional. Tergantung pada implementasinya, hal ini juga dapat meningkatkan efisiensi dan mengurangi biaya birokrasi.
Kontrak pintar sangat berguna dalam situasi yang melibatkan transfer atau pertukaran dana antara dua pihak atau lebih.
Dengan kata lain, kontrak pintar dapat dirancang untuk berbagai macam kasus penggunaan. Beberapa contohnya termasuk pembuatan aset yang diberi token, sistem pemungutan suara, dompet kripto, pertukaran terdesentralisasi, permainan, dan aplikasi seluler. Mereka juga dapat diterapkan bersama dengan solusi blockchain lainnya yang menangani bidang perawatan kesehatan, amal, rantai pasokan, tata kelola, dan keuangan terdesentralisasi (DeFi).
ERC-20
Token yang diterbitkan pada blockchain Ethereum mengikuti standar yang dikenal sebagai ERC-20. Standar ini menjelaskan fungsi inti dari semua token berbasis Ethereum. Oleh karena itu, aset digital ini sering disebut sebagai token ERC-20, dan mewakili sebagian besar mata uang kripto yang ada.
Banyak perusahaan blockchain dan startup menerapkan kontrak pintar untuk menerbitkan token digital mereka di jaringan Ethereum. Setelah penerbitan, sebagian besar perusahaan-perusahaan ini mendistribusikan token ERC-20 mereka melalui acara Initial Coin Offering (ICO). Dalam kebanyakan kasus, penggunaan kontrak pintar memungkinkan pertukaran dana dan distribusi token dengan cara yang tidak dapat dipercaya dan efisien.
Keterbatasan
Kontrak pintar terbuat dari kode komputer yang ditulis oleh manusia. Hal ini membawa banyak risiko karena kode tersebut rentan terhadap kerentanan dan bug. Idealnya, mereka harus ditulis dan diterapkan oleh pemrogram berpengalaman, terutama ketika melibatkan informasi sensitif atau uang dalam jumlah besar.
Selain itu, beberapa orang berpendapat bahwa sistem terpusat dapat memberikan sebagian besar solusi dan fungsi yang ditawarkan oleh kontrak pintar. Perbedaan utamanya adalah kontrak pintar berjalan di jaringan P2P terdistribusi, bukan di server terpusat. Dan karena mereka didasarkan pada sistem blockchain, mereka cenderung tidak dapat diubah atau sangat sulit diubah.
Bersikap tidak berubah bisa menjadi hal yang baik dalam beberapa situasi, namun sangat buruk dalam situasi lain. Misalnya, ketika Organisasi Otonomi Terdesentralisasi (DAO) bernama "DAO" diretas pada tahun 2016, jutaan ether (ETH) dicuri karena kelemahan dalam kode kontrak pintar mereka.
Karena kontrak pintar mereka tidak dapat diubah, pengembang tidak dapat memperbaiki kodenya. Hal ini pada akhirnya menyebabkan hard fork, melahirkan rantai Ethereum kedua. Sederhananya, satu rantai “mengembalikan” peretasan dan mengembalikan dana ke pemilik yang sah (ini adalah bagian dari blockchain Ethereum saat ini). Rantai lainnya memutuskan untuk tidak ikut campur dalam peretasan tersebut, dengan menyatakan bahwa hal-hal yang terjadi pada blockchain tidak boleh diubah (rantai ini sekarang disebut Ethereum Classic).
Penting untuk diingat bahwa masalahnya bukan berasal dari blockchain Ethereum. Sebaliknya, hal ini disebabkan oleh penerapan kontrak pintar yang salah.
Keterbatasan lain dari kontrak pintar terkait dengan ketidakpastian status hukumnya. Bukan hanya karena kontrak pintar berada di wilayah abu-abu di sebagian besar negara, tetapi juga karena kontrak pintar tidak sesuai dengan kerangka hukum saat ini.
Misalnya, banyak kontrak mengharuskan kedua belah pihak memiliki identitas yang benar dan berusia di atas 18 tahun. Nama samaran yang disediakan oleh teknologi blockchain, ditambah dengan kurangnya perantara, dapat mengancam persyaratan tersebut. Meskipun ada solusi potensial untuk mengatasi hal ini, penegakan hukum kontrak pintar merupakan tantangan nyata - terutama ketika menyangkut jaringan terdistribusi tanpa batas.
Kritik
Beberapa penggemar blockchain melihat kontrak pintar sebagai solusi yang akan segera menggantikan dan mengotomatisasi sebagian besar sistem komersial dan birokrasi kita. Meskipun hal ini mungkin terjadi, hal ini mungkin masih jauh dari normal.
Kontrak pintar tentu saja merupakan sebuah teknologi yang menarik. Namun, sifatnya yang terdistribusi, deterministik, transparan, dan tidak dapat diubah dapat membuat mereka kurang menarik dalam beberapa situasi.
Pada dasarnya, kritik didasarkan pada fakta bahwa kontrak pintar bukanlah solusi yang tepat untuk banyak masalah di dunia nyata. Faktanya, beberapa organisasi lebih baik menggunakan alternatif berbasis server konvensional.
Jika dibandingkan dengan kontrak pintar, server terpusat lebih mudah dan murah pemeliharaannya, serta cenderung menghadirkan efisiensi yang lebih tinggi dalam hal kecepatan dan komunikasi lintas jaringan (interoperabilitas).
Menutup pikiran
Tidak ada keraguan bahwa kontrak pintar membawa dampak besar pada dunia mata uang kripto, dan tentunya merevolusi dunia blockchain. Meskipun pengguna akhir mungkin tidak berinteraksi langsung dengan kontrak pintar, kontrak pintar kemungkinan besar akan mendukung berbagai aplikasi di masa depan, mulai dari layanan keuangan hingga manajemen rantai pasokan.
Secara bersama-sama, kontrak pintar dan blockchain berpotensi mengganggu hampir semua bidang masyarakat kita. Namun hanya waktu yang akan membuktikan apakah teknologi inovatif ini akan berhasil mengatasi banyak hambatan dalam penerapannya dalam skala besar.