September 18, 2020

Apa itu Smart Contracts?

Belakangan ini, banyak orang mengatakan bahwa blockchain “is the next big thing”.

Mengapa? Karena platform blockchain seperti Ethereum memungkinkan pengguna untuk membuat sesuatu yang bernama “Smart Contracts”. Cardano pun akan memungkinkan pengguna untuk membuat smart contracts dengan munculnya era Goguen. (to see Cardano’s Roadmap, please go to this site)

Tapi sebenarnya, apa sih “Smart Contracts” itu? (Spoiler alert: They’re not that smart. And they’re not really contracts!)

Pengertian Umum

Pada dasarnya, smart contracts merupakan sekumpulan kode komputer (program komputer) yang berjalan di atas jaringan blockchain.

Duh, masih belum ngerti nih! Ada contohnya gak?

Contoh paling gampang untuk menjelaskan apa itu smart contracts bisa kita ambil dari “nenek moyangnya”.

“Nenek Moyang Smart Contracts”

Vending machine (mesin penjual otomatis) adalah contoh yang tepat dan sederhana untuk menggambarkan bagaimana smart contracts bekerja. Vending machine adalah mesin “bodoh” yang melakukan apa yang diperintahkan dan menjalankan berbagai hal secara otomatis.

Anggaplah suatu siang Anda kehausan dan berada di depan mesin ini. The machine says: “Jika Anda memberi saya Rp10.000 dan menekan tombol ini, Anda akan mendapatkan Coca-Cola.

Si mesin mungkin tidak mengucapkan kata-kata itu, tapi itulah “janji” dari interaksi kecil ini. Kita bahkan bisa menyebut ini sebagai semacam kesepakatan sederhana, atau “a contract”.

Mungkin Anda tidak sadar, tetapi semua ini sebenarnya adalah program kecil (“contract”) yang dikodekan (“written”) ke dalam mesin, dimana program tersebut akan berjalan saat Anda menekan tombol. Something like:

> if money received == 10000 > && the button pressed is “Coca-Cola”> then release Coca_Cola

Kode komputer, seperti yang Anda lihat, adalah semacam kontrak.

Smart contracts hanyalah barisan kode. Tetapi, tidak seperti “kontrak” dalam bahasa Indonesia, smart contracts adalah sesuatu yang dapat dibaca oleh manusia dan mesin. Selain itu, proses deploy smart contracts ke jaringan blockchain hanya bisa dilakukan sekali saja dan tidak bisa diubah-ubah lagi.

Lalu, jika smart contracts hanyalah sebuah kode komputer, apa yang membuat mereka spesial?

Don’t forget, karena smart contracts adalah kode komputer yang berjalan di atas jaringan blockchain, tentu ada sifat-sifat blockchain yang membuat smart contracts menjadi spesial, yaitu:

  • Otomatisasi proses. Smart contracts mengotomatiskan proses backend seperti escrow, maintenance, triggering, and settlement. Setelah smart contracts di-deploy (dikirim) ke blockchain, smart contracts akan dieksekusi tanpa campur tangan manusia.
  • Terdistribusi. Smart contract direplikasi dan didistribusikan di semua node jaringan blockchain. Ini adalah salah satu perbedaan utama dari solusi yang didasarkan pada server terpusat (centralized).
  • Deterministik. Smart contract hanya melakukan tindakan yang dirancang untuknya, jika semua persyaratan yang diberikan terpenuhi. Hasilnya juga akan selalu sama, tidak peduli siapa yang mengeksekusinya.
  • Abadi. Smart contract hanya dapat “dihapus” jika fungsi tertentu sebelumnya diterapkan dan tidak dapat diubah setelah di-deploy. Dengan demikian, kita dapat mengatakan bahwa smart contract dapat memberikan kode yang tidak dapat diubah (tamper-proof).
  • Transparan. Karena smart contract didasarkan pada blockchain, source code-nya tidak hanya abadi tetapi juga dapat dilihat oleh siapapun.

Apa aja sih contoh penerapan smart contracts di dunia nyata?

  • Supply chain: untuk melacak dan memverifikasi di mana dan bagaimana suatu barang dibuat
  • Pemungutan suara: proses pemungutan suara yang tidak bisa dimanipulasi
  • Decentralized and Autonomous Companies: Sedikit cerita. Sepanjang sejarah, automasi selalu diterapkan di bagian bawah perusahaan. Contohnya, jalur perakitan dan pekerja pabrik. Tetapi, jika aturan perusahaan hanyalah semacam logika operasional, bukankah mungkin untuk membalikkan piramida dan malah mengotomatiskan jajaran perusahaan yang teratas; manajemen, direksi, dkk?

Very interesting, right?

Ok, I’m sold. Saya tertarik untuk nyemplung ke dunia smart contracts, kira-kira di mana saya bisa memulainya?

Anda bisa memulainya dengan mempelajari beberapa bahasa pemrograman yang tersedia untuk pembuatan smart contracts. Contohnya:

  • Solidity: Merupakan bahasa pemrograman smart contracts untuk blockchain Ethereum
  • Plutus: Merupakan bahasa pemrograman smart contracts untuk blockchain Cardano

Happy coding!

Kesimpulannya,

Setelah membaca penjelasan smart contracts di atas, kita tahu bahwa smart contracts itu tidak sepintar yang kita bayangkan. Mereka hanya sepintar orang yang membuatnya. Kemudian, kita juga tahu bahwa smart contracts itu hanyalah sekumpulan kode komputer yang berjalan di atas jaringan blockchain.

Something to ponder…

Dari semua penjelasan tentang “kehebatan” smart contracts ini, terdapat beberapa batasan dan kekurangannya pula. Mau tahu apa saja? Tunggu blog post yang selanjutnya ya!

Tentang EMURGO

EMURGO adalah perusahaan blockchain global yang menghadirkan solusi untuk developers, startups, enterprise, dan pemerintah. EMURGO mengembangkan aplikasi dengan standard enterprise, tools untuk developer, berinvestasi di startup, dan memberikan edukasi tentang teknologi blockchain. EMURGO memiliki kantor dan menangani proyek di Singapura, Jepang, Amerika Serikat, India, dan Indonesia. EMURGO juga adalah salah satu pendiri dari Cardano protocol.

Pelajari lebih lanjut tentang EMURGO dengan mengunjungi website resmi kami di sini

Follow akun media sosial EMURGO Indonesia:

Twitter : http://bit.ly/EmurgotwitterId

Facebook :bit.ly/Emurgo_id

Instagram : http://bit.ly/EmurgoInstaId

Linkedin: http://bit.ly/emurgoidLinkedin

Related Articles

Solidity vs Plutus

Solidity vs Plutus

Saat ini, ada dua platform blockchain yang memungkinkan penggunanya untuk membangun smart contracts di atas jaringan blockchainnya; yang paling terkenal adalah Ethereum dan Cardano (nanti saat Goguen dirilis). Kedua jaringan blockchain tersebut memiliki bahasa...

wpChatIcon