Image for post
Image for post

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!)

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”.

Image for post
Image for post
“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.

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.
  • 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?

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!

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.

Image for post
Image for post
Something to ponder…

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

Twitter : http://bit.ly/EmurgotwitterId

Facebook :bit.ly/Emurgo_id

Instagram : http://bit.ly/EmurgoInstaId

Linkedin: http://bit.ly/emurgoidLinkedin

Written by

EMURGO Solusi Indonesia

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store