Ethereum: bagaimana cara kerja kontrak pintar?

Kontrak pintar adalah fitur utama yang membuat Ethereum begitu sukses. 

Apa itu kontrak pintar dan untuk apa?

Protokol Bitcoin tidak menyediakan kemungkinan membuat kontrak pintar yang benar-benar kompleks, karena pada dasarnya dirancang hanya untuk memungkinkan transaksi. 

Sebaliknya, Ethereum, yang lahir 6 tahun setelah Bitcoin, dirancang sejak awal untuk menjadi jaringan yang mampu hosting dan menjalankan kontrak pintar

Pada tahun 2014, salah satu pendiri Ethereum Vitalik Buterin ditulis secara eksplisit di whitepaper bahwa jaringan yang dia rancang adalah platform generasi berikutnya berdasarkan kontrak pintar, dan aplikasi alternatif untuk Bitcoin berdasarkan teknologi blockchain juga mencakup penggunaan aset digital untuk mewakili mata uang dan instrumen keuangan khusus, aset yang tidak dapat dipertukarkan, dan aplikasi yang lebih kompleks. 

Secara khusus, yang terakhir, yaitu kontrak pintar, didefinisikan sebagai aplikasi yang melibatkan kontrol langsung aset digital dengan kode yang menerapkan aturan sewenang-wenang, atau organisasi otonom terdesentralisasi berdasarkan blockchain, yang disebut DAO.  

Vitalik menulis: 

“Apa yang ingin disediakan Ethereum adalah blockchain dengan bahasa pemrograman lengkap Turing bawaan yang dapat digunakan untuk membuat 'kontrak' yang dapat digunakan untuk mengkodekan fungsi transisi keadaan sewenang-wenang, memungkinkan pengguna untuk membuat salah satu sistem yang dijelaskan di atas. – serta masih banyak lagi yang belum kita bayangkan – cukup dengan menuliskan logika dalam beberapa baris kode”.

Dengan demikian, kontrak pintar di Ethereum adalah baris kode yang memungkinkan untuk memprogram eksekusi instruksi secara otomatis oleh jaringan, ketika kondisi tertentu terpenuhi, tanpa harus mempercayakan eksekusinya kepada perantara.

Bahkan, Buterin sendiri memasukkan istilah "kontrak" dalam tanda kutip, karena alih-alih kontrak nyata antar pihak, mereka lebih program komputer yang dijalankan oleh desentralisasi jaringan. 

Oleh karena itu, dari sudut pandang umum, operasi mereka tidak terlalu rumit. 

kontrak pintar
Kontrak pintar dieksekusi setelah kondisi yang terkandung di dalamnya telah diverifikasi

Menyebarkan kontrak pintar di blockchain Ethereum

Pertama-tama, satu atau lebih pengembang jelas harus membuat kontrak cerdas dengan menulis baris kode yang sesuai, dan kemudian mereka harus kirimkan ke jaringan Ethereum. 

Dalam istilah teknis, menerbitkannya di blockchain Ethereum berarti membuat semua node di jaringan menerima dan menjalankannya. Setelah diterbitkan, semua instruksi di dalamnya akan selalu dieksekusi oleh semua node dengan cara yang persis sama. 

Oleh karena itu, tidak hanya publikasinya tetapi juga eksekusi instruksi tidak dapat diubah setelah dipublikasikan di blockchain. 

Oleh karena itu, yang benar-benar penting adalah instruksi yang dikandungnya – yang mungkin paling beragam – dan berapa banyak orang yang menggunakannya. Memang, agar instruksi kontrak pintar benar-benar dieksekusi, harus ada satu atau lebih transaksi yang memanggilnya

Perlu juga diingat bahwa instruksi ini umumnya melibatkan penggunaan sumber daya, seperti data atau token, sehingga untuk benar-benar dieksekusi, semua kondisi yang ditetapkan sesuai kebutuhan harus dipenuhi. 

Terkadang data ini berasal dari luar, berkat apa yang disebut oracle, sementara terkadang hanya berasal dari transaksi di blockchain. 

Biasanya, transaksi yang memicu eksekusi instruksi yang terkandung dalam kontrak pintar melibatkan pembayaran biaya dalam ETH, dan dalam banyak kasus untuk benar-benar memicu eksekusi juga melibatkan pembayaran atau pengiriman token khusus untuk kontrak pintar itu sendiri, atau kontrak pintar lainnya. 

Secara teknis, kontrak pintar adalah jenis akun di Blockchain Ethereum, "dikendalikan" oleh jaringan daripada entitas pusat. Mereka dapat menyimpan ETH atau token, dan juga dapat mengirim transaksi di jaringan secara mandiri.

Cara berinteraksi dengan kode dan lebih umum dengan dApps

Pengguna dapat berinteraksi dengan kontrak pintar dengan mengirimkan transaksi yang memicu salah satu fungsi yang ditentukan dalam kode mereka. 

Oleh karena itu, fungsi kontrak pintar di Ethereum umumnya sangat sederhana: cukup kirim transaksi jenis tertentu ke kontrak pintar, dan ini akan memicu eksekusi oleh node dari semua instruksi yang terkandung dalam fungsi kontrak pintar yang dipanggil oleh transaksi itu sendiri. 

Jelas, tergantung pada instruksi mana yang terkandung dalam fungsi yang dipanggil, konsekuensi yang sangat berbeda dapat dihasilkan, bervariasi tidak hanya dari kontrak pintar ke kontrak pintar, tetapi juga dari fungsi ke fungsi. 

Oleh karena itu, kompleksitas yang sangat besar dari kontrak pintar berasal dari apa yang dilakukan oleh masing-masing kontrak pintar, dan tidak secara umum dari fakta bahwa jaringan Ethereum mendukung dan menjalankannya. Selain itu, sama sekali tidak mungkin untuk membuat daftar bagaimana semua jenis kontrak pintar di jaringan benar-benar berfungsi. 


Sumber: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/