Pengantar

Nick Szabo pertama kali menggambarkan smart contract pada tahun 1990-an. Pada waktu itu, ia mendefinisikan smart contract sebagai alat yang memformalkan dan mengamankan jaringan komputer dengan menggabungkan protokol dan antarmuka pengguna.

Szabo menyebutkan penggunaan potensial smart contract dalam berbagai bidang yang melibatkan perjanjian kontrak, seperti sistem kredit, pemrosesan pembayaran, dan manajemen hak atas konten.

Dalam dunia cryptocurrency, kita dapat mendefinisikan kontrak pintar sebagai aplikasi atau program yang berjalan di atas blockchain. Secara umum, mereka berfungsi sebagai kesepakatan digital yang diterapkan oleh sekumpulan aturan tertentu. Aturan ini telah ditentukan sebelumnya oleh kode komputer, yang direplikasi dan dijalankan oleh semua node di jaringan.

Kontrak pintar blockchain memungkinkan untuk membuat protokol tanpa kepercayaan. Ini berarti bahwa dua pihak dapat membuat komitmen melalui blockchain, tanpa perlu saling mengenal atau saling mempercayai. Mereka dapat yakin bahwa jika syarat tidak dipenuhi, kontrak tidak akan dilaksanakan. Selain itu, penggunaan kontrak pintar dapat menghilangkan kebutuhan akan perantara, yang secara signifikan mengurangi biaya operasional.

Meskipun protokol Bitcoin telah mendukung kontrak pintar selama bertahun-tahun, mereka telah menjadi populer berkat pencipta dan salah satu pendiri Ethereum, Vitalik Buterin. Namun, perlu dicatat bahwa setiap blockchain dapat memiliki metode berbeda dalam menerapkan kontrak pintar.

Artikel ini berfokus pada kontrak pintar yang berfungsi di mesin virtual Ethereum (EVM), yang merupakan bagian penting dari blockchain Ethereum.


Jadi, bagaimana cara kerjanya?

Dalam istilah sederhana, kontrak pintar berfungsi seperti program deterministik. Ia menjalankan tugas tertentu ketika dan jika syarat tertentu terpenuhi. Oleh karena itu, sistem kontrak pintar sering mengikuti fungsi "jika... maka...". Namun, meskipun istilahnya, kontrak pintar tidak memiliki nilai hukum, dan tidak cerdas. Ini hanyalah kode yang dijalankan di atas sistem terdistribusi (sebuah blockchain).

Di jaringan Ethereum, kontrak pintar bertanggung jawab untuk menjalankan dan mengelola operasi blockchain yang terjadi ketika pengguna (alamat) saling berinteraksi. Setiap alamat yang bukan kontrak pintar disebut sebagai akun yang dimiliki secara eksternal (EOA). Jadi, kontrak pintar dikendalikan oleh kode komputer, dan EOA dikendalikan oleh pengguna.

Pada dasarnya, kontrak pintar Ethereum terdiri dari kode kontrak dan dua kunci publik. Kunci publik pertama adalah yang diberikan oleh pencipta kontrak. Kunci lainnya mewakili kontrak itu sendiri, bertindak sebagai pengidentifikasi digital unik untuk setiap kontrak pintar.

Penerapan kontrak pintar dilakukan melalui transaksi blockchain. Ia hanya dapat diaktifkan ketika dipanggil oleh EOA (atau oleh kontrak pintar lainnya). Namun, pemicu pertama selalu disebabkan oleh EOA (pengguna).


Karakteristik utama

Kontrak pintar Ethereum sering memiliki karakteristik berikut:

Terdistribusi. Kontrak pintar direplikasi dan didistribusikan di semua node di jaringan Ethereum. Ini adalah salah satu perbedaan utama dengan solusi lain yang bergantung pada server terpusat.

Deterministik. Kontrak pintar hanya melakukan tindakan untuk mana mereka dirancang, asalkan persyaratan dipenuhi. Selain itu, hasilnya akan selalu sama, tidak peduli siapa yang menjalankannya.

Otonom. Kontrak pintar dapat mengotomatiskan segala jenis tugas, berfungsi sebagai program yang dapat dieksekusi sendiri. Dalam banyak kasus, namun, jika kontrak pintar tidak dipicu, ia akan tetap "tidur" dan tidak akan melakukan tindakan apa pun.

Tidak dapat diubah. Kontrak pintar tidak dapat diubah setelah penerapannya. Mereka hanya dapat "dihapus" jika fungsi tertentu telah diterapkan sebelumnya. Jadi, kita bisa mengatakan bahwa kontrak pintar dapat menyediakan kode yang tidak dapat dilanggar.

Dapat disesuaikan. Sebelum penerapannya, kontrak pintar dapat dikodekan dengan berbagai cara. Mereka dapat digunakan untuk membuat banyak jenis aplikasi terdesentralisasi (DApps). Ini disebabkan oleh fakta bahwa Ethereum adalah blockchain Turing-complete.

Tanpa kepercayaan. Dua pihak atau lebih dapat berinteraksi melalui kontrak pintar tanpa saling mengenal atau saling mempercayai. Selain itu, teknologi blockchain menjamin akurasi data.

Transparansi. Karena kontrak pintar didasarkan pada blockchain publik, kode sumbernya tidak hanya tidak dapat diubah, tetapi juga terlihat oleh semua orang.


Bisakah saya mengubah atau menghapus kontrak pintar?

Tidak mungkin menambahkan fungsi baru ke kontrak pintar Ethereum setelah penerapannya. Namun, jika penciptanya menyertakan fungsi yang disebut SELFDESTRUCT dalam kode, ia dapat "menghapus" kontrak pintar di masa depan dan menggantinya dengan yang baru. Sebaliknya, jika fungsi tersebut tidak disertakan dalam kode sebelumnya, maka tidak mungkin untuk menghapusnya.

Menariknya, kontrak pintar yang dapat dikembangkan memungkinkan para pengembang memiliki lebih banyak fleksibilitas terhadap ketidakberubahan kontrak. Ada banyak cara untuk membuat kontrak pintar yang dapat dikembangkan, dengan berbagai tingkat kompleksitas.

Dalam contoh yang disederhanakan, mari kita bayangkan bahwa kontrak pintar dibagi menjadi beberapa kontrak kecil. Beberapa dari mereka dirancang untuk tidak dapat diubah, sementara yang lainnya memiliki fungsi "Hapus" yang diaktifkan. Ini berarti bahwa sebagian dari kode (kontrak pintar) dapat dihapus dan diganti, sementara fitur lainnya tetap utuh.


Keuntungan dan kasus penggunaan

Sebagai kode yang dapat diprogram, kontrak pintar sangat dapat disesuaikan dan dapat dirancang dengan berbagai cara, sehingga menawarkan banyak jenis layanan dan solusi.

Sebagai program terdesentralisasi dan dapat dieksekusi sendiri, kontrak pintar dapat menawarkan transparansi yang lebih besar dan mengurangi biaya operasional. Bergantung pada implementasinya, mereka juga dapat meningkatkan efisiensi dan mengurangi pengeluaran administratif.

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. Contoh-contohnya termasuk pembuatan aset tokenized, sistem pemungutan suara, dompet cryptocurrency, pertukaran terdesentralisasi, permainan, dan aplikasi seluler. Mereka juga dapat diterapkan dengan solusi blockchain lainnya yang menangani bidang kesehatan, organisasi amal, rantai pasokan, pemerintahan, dan keuangan terdesentralisasi (DeFi).


ERC-20

Token yang diterbitkan di blockchain Ethereum mengikuti standar yang dikenal sebagai ERC-20. Standar ini mendeskripsikan fungsi dasar dari semua token berbasis Ethereum. Oleh karena itu, aset digital ini sering disebut sebagai token ERC-20 dan mewakili sebagian besar cryptocurrency yang ada.

Banyak perusahaan dan startup blockchain telah menerapkan kontrak pintar untuk menerbitkan token digital mereka di jaringan Ethereum. Setelah penerbitan, sebagian besar perusahaan ini mendistribusikan token ERC-20 mereka melalui penawaran koin awal (ICO). Dalam banyak kasus, penggunaan kontrak pintar telah memungkinkan untuk menukar dana dan mendistribusikan token dengan cara yang dapat diandalkan dan efisien.


Batasan

Kontrak pintar terdiri dari kode komputer yang ditulis oleh manusia. Ini membawa banyak risiko, karena kode tersebut rentan terhadap kerentanan dan bug. Idealnya, mereka harus ditulis dan diterapkan oleh programmer berpengalaman, terutama ketika melibatkan informasi sensitif atau jumlah uang yang besar.

Selain itu, beberapa orang berpendapat bahwa sistem terpusat dapat menyediakan sebagian besar solusi dan fungsionalitas yang ditawarkan oleh kontrak pintar. Perbedaan utama adalah bahwa kontrak pintar dijalankan di jaringan P2P yang terdistribusi, bukan di server terpusat. Dan karena mereka bergantung pada sistem blockchain, mereka cenderung bersifat tidak dapat diubah atau sangat sulit untuk dimodifikasi.

Menjadi tidak dapat diubah bisa jadi hebat dalam beberapa situasi, tetapi sangat buruk dalam situasi lain. Misalnya, ketika organisasi otonom terdesentralisasi (DAO) yang disebut "DAO" diretas pada tahun 2016, jutaan ether (ETH) dicuri karena cacat dalam kode kontrak pintarnya.

Karena kontrak pintarnya tidak dapat diubah, para pengembang tidak dapat memperbaiki kode tersebut. Ini akhirnya menyebabkan hard fork, melahirkan rantai Ethereum kedua. Singkatnya, satu rantai "membatalkan" peretasan dan mengembalikan dana kepada pemilik yang sah (ini adalah bagian dari blockchain Ethereum saat ini). Rantai lainnya memutuskan untuk tidak mengintervensi peretasan, menyatakan bahwa hal-hal yang terjadi di blockchain tidak boleh diubah (rantai ini sekarang disebut Ethereum Classic).

Penting untuk dicatat bahwa masalahnya bukan berasal dari blockchain Ethereum. Sebaliknya, ini disebabkan oleh implementasi kontrak pintar yang buruk.

Batasan lain dari kontrak pintar terkait dengan status hukum mereka yang tidak pasti. Tidak hanya karena ini adalah wilayah abu-abu di sebagian besar negara, tetapi juga karena kontrak pintar tidak sesuai dengan kerangka hukum saat ini.

Misalnya, banyak kontrak mengharuskan kedua pihak untuk diidentifikasi dengan benar dan berusia lebih dari 18 tahun. Pseudonimitas yang diberikan oleh teknologi blockchain, bersama dengan kurangnya perantara, dapat mengancam persyaratan ini. Meskipun ada solusi potensial untuk masalah ini, keberlakuan hukum kontrak pintar adalah tantangan nyata, terutama ketika berurusan dengan jaringan terdistribusi tanpa batas.


Kritik

Beberapa penggemar blockchain menganggap kontrak pintar sebagai solusi yang akan segera menggantikan dan mengotomatiskan sebagian besar sistem bisnis dan administratif kita. Meskipun ini mungkin saja terjadi, kemungkinan besar itu masih jauh dari menjadi norma.

Kontrak pintar pasti merupakan teknologi yang menarik. Namun, kenyataan bahwa mereka terdistribusi, deterministik, transparan, dan agak tidak dapat diubah dapat membuat mereka kurang menarik dalam beberapa situasi.

Kritik terutama berfokus pada fakta bahwa kontrak pintar bukan solusi yang cocok untuk banyak masalah di dunia nyata. Faktanya, beberapa organisasi lebih memilih untuk menggunakan solusi klasik berbasis server.

Dibandingkan dengan kontrak pintar, server terpusat lebih mudah dan lebih murah untuk dirawat, dan cenderung menawarkan efisiensi yang lebih tinggi dalam hal kecepatan dan komunikasi antar jaringan (interoperabilitas).


Untuk menyimpulkan

Tidak diragukan lagi bahwa kontrak pintar telah memiliki dampak signifikan di dunia cryptocurrency, dan pasti telah merevolusi ruang blockchain. Meskipun pengguna akhir tidak berinteraksi langsung dengan kontrak pintar, mereka kemungkinan akan mendukung berbagai aplikasi di masa depan, mulai dari layanan keuangan hingga manajemen rantai pasokan.

Bersama-sama, kontrak pintar dan blockchain memiliki potensi untuk mengganggu hampir semua bidang dalam masyarakat kita. Namun, hanya waktu yang akan memberi tahu apakah teknologi revolusioner ini akan mampu mengatasi banyak hambatan untuk adopsi skala besar.