• Cardanesia

Modul 5: Ethereum, Kontrak Cerdas, dan Solidity

Updated: Apr 4


Modul 5 meneliti asal-usul Ethereum dan bagaimana kontrak pintar beroperasi di Ethereum. Plus, cari tahu lebih lanjut tentang bahasa pemrograman Solidity dan banyak lagi.


Modul 4 membahas aplikasi blockchain dalam layanan keuangan, pada modul ini kita akan melihat di mana Ethereum pertama kali dimulai, kontrak cerdas dan bahkan bagaimana membuat kontrak pintar Anda sendiri menggunakan bahasa pemrograman, Solidity!


Bagaimana Ethereum Pertama Kali Dimulai

Komunitas pengembang dan peneliti blockchain bermunculan di seluruh dunia setelah Satoshi Nakamoto menerbitkan whitepaper Bitcoin pada tahun 2008. Beberapa jurnal dan blog online muncul, melaporkan proyek-proyek menarik dan ide-ide baru di bidang ini.


Vitalik Buterin, seorang remaja Kanada yang menulis untuk majalah Bitcoin, adalah salah satu anggota komunitas yang tergerak oleh potensi blockchain. Ketika dia menyaksikan ekosistem terbentuk, dia melihat masalah umum di antara proyek-proyek: banyak yang perlu membangun blockchain mereka sendiri. Vitalik percaya akan lebih baik untuk membuat satu blockchain di mana semua pengembang dapat membangun aplikasi mereka, mirip dengan bagaimana orang lain memiliki satu intranet yang memungkinkan orang lain untuk membangun situs web mereka. Pengembang kemudian dapat fokus pada merancang aplikasi mereka daripada mencari tahu bagaimana membangun blockchain.


Whitepaper Ethereum

Pada akhir 2013, Vitalik menerbitkan whitepaper Ethereum. Whitepaper mencakup banyak konsep yang memperluas dan menyempurnakan banyak ide asli dari Bitcoin. Whitepaper ini menyoroti keterbatasan Bitcoin dan mengusulkan blockchain-dengan-tujuan-umum baru sebagai solusi yang dapat digunakan sebagai platform aplikasi terdesentralisasi. Ethereum akan memiliki semua kemampuan yang sama dengan Bitcoin, seperti mengirim transaksi antar akun dan banyak lagi. Masalah utama Bitcoin adalah kurangnya bahasa pemrograman umum yang akan memungkinkan pengguna untuk membuat aplikasi apa pun di blockchain. Skrip Bitcoin tidak Turing-complete, yang berarti tidak mungkin untuk menulis struktur sederhana seperti loop.


Konsensus

Ethereum menggunakan algoritma penambangan yang mirip dengan Bitcoin, yang didasarkan pada bukti kerja (proof of work). Algoritma yang digunakan Ethereum sedikit dimodifikasi dari algoritma penambangan Bitcoin dalam beberapa hal. Penerbitan untuk Ether berbeda dari Bitcoin; Sedangkan Bitcoin dibatasi pada 21 juta koin, Ethereum tidak memiliki batas. Sebaliknya, Ethereum memiliki batas tahunan 18 juta Ether.


Sentralisasi Pertambangan

Salah satu motivasi untuk memodifikasi algoritma penambangan dari Bitcoin adalah untuk membuatnya tahan ASIC (application-specific integrated circuit). Seperti yang dibahas dalam whitepaper, algoritma penambangan Bitcoin dapat dieksploitasi menggunakan perangkat keras penambangan khusus yang dikenal sebagai ASIC. Hal ini menyebabkan sentralisasi Bitcoin. Untuk mencegah sentralisasi penambangan di Ethereum, algoritma dimodifikasi untuk diarahkan ke GPU (unit pemrosesan grafis), yang secara umum lebih tersedia dan kecil kemungkinannya untuk terjadinya sentralisasi.


Ethereum 2.0

Selama bertahun-tahun, minat publik yang berkembang pesat di Ethereum telah membuka mata public tentang beberapa keterbatasannya. Keterbatasan ini termasuk skalabilitas dan keamanan. Hal ini telah menyebabkan biaya gas besar-besaran, misalnya, mencetak NFT di Ethereum biasanya berharga antara $60 dan $250, tergantung pada waktu dan beban di jaringan. Semakin banyak pengguna yang bersaing untuk mendapatkan transaksi mereka ke "blok" berikutnya pada rantai, semakin tinggi biayanya.


Karena itu, Ethereum telah memutuskan untuk upgrade jaringan.


Ethereum 2.0 adalah versi terbaru dari cryptocurrency Ethereum yang ada. Ethereum 2.0 dikembangkan untuk meningkatkan skalabilitas, kecepatan, dan efisiensi Ethereum. Selain itu, versi yang diperbarui bertujuan untuk meningkatkan jumlah transaksi dan menghilangkan kemacetan. Nama singkatan untuk Ethereum 2.0 adalah Serenity, dan beberapa orang juga menyebutnya Eth2. Dibandingkan dengan Ethereum, Ethereum 2.0 memiliki perubahan mendasar dalam cetak biru dan strukturnya.


Sementara Ethereum digunakan untuk bekerja dengan metode konsensus yang dikenal sebagai proof-of-work, Ethereum 2.0 didasarkan pada mekanisme sharding dan proof-of-stake.


Sharding

Sharding adalah proses membagi blockchain menjadi blockchain yang berbeda. Beberapa blockchain di Ethereum 2.0 sering disebut sebagai shard. Proses sharding memungkinkan seluruh jaringan untuk beroperasi sebagai validator tunggal untuk menangani beban kerja secara keseluruhan. Ada beberapa validator, dan setiap validator harus mengelola pecahannya, yang menyimpan informasi. Berbeda dengan blok di blockchain, validator dicampur untuk mencegah perubahan atau manipulasi data. Untuk berkoordinasi dan berkomunikasi antara pecahan yang berbeda, rantai yang dikenal sebagai Beacon Chain digunakan.


Proof of Stake

Ethereum menggunakan metode konsensus Proof of Work, tetapi Ethereum 2.0 memperkenalkan mekanisme konsensus Proof of Stake. Dalam metode Proof of Work, beberapa penambang menambang bitcoin, sementara di Proof of Stake, ada validator dan tidak ada penambang. Validator membuat blok baru dengan penyimpanan, bandwidth, dan kekuatan pemrosesan yang cukup untuk memverifikasi dan memvalidasi transaksi.


Seperti penambang, validator menerima kompensasi atas upaya dan kerja keras mereka dalam membuat blok. Namun, validator harus menandatangani kontrak di mana mereka harus menyetor 32 ETH, yang kemudian dikunci. Ini adalah jenis deposit yang dilakukan validator, yang akan hangus jika terjadi penipuan atau penyalahgunaan sesuai protokol. Praktik ini adalah peningkatan signifikan yang dilakukan di Ethereum 2.0 untuk mencegah penipuan.


Solusi L2

Layer 2 adalah istilah kolektif untuk solusi yang memungkinkan pengguna untuk menskalakan aplikasi mereka dengan memproses transaksi di luar mainnet Ethereum (Layer 1), memanfaatkan model keamanan desentralisasi mainnet yang kuat.


Ada tiga solusi L2 populer yang diuraikan di bawah ini:


Arbitrum

Arbitrum adalah sistem yang memungkinkan pengguna Ethereum untuk menyelesaikan transaksi mereka jauh dari mainnet Ethereum. Platform ini terdiri dari tiga komponen utama - Compiler, EthBridge, dan Validators. Selain itu, Arbitrum juga mendukung agregasi sidechain transaksi yang disebut teknologi rollup.


Optimism

Optimisme adalah protokol penskalaan L2 yang dirancang untuk membuat transaksi terjangkau dan lebih cepat bagi pengguna Ethereum. Ini adalah solusi rollup layer 2 yang menangani transaksi "off-chain" pada jaringan lapisan 2 eksternal dan kemudian menerbitkan data transaksi pada jaringan layer 1 seperti Mainnet Ethereum.


Pengembang dapat dengan mudah membuat kontrak cerdas Solidity yang dapat dieksekusi dengan Optimism.


Polygon

Polygon adalah solusi penskalaan Layer 2 yang dirancang untuk membantu platform Ethereum mendapatkan adopsi massal. Dia memenuhi beragam kebutuhan pengembang dengan menyediakan alat untuk membangun aplikasi terdesentralisasi terukur (dApps) yang memprioritaskan kinerja, kegunaan (UX), dan keamanan. Ini adalah kerangka kerja untuk membangun dan menghubungkan jaringan blockchain berbasis Ethereum.


Layer-2 dan teknologi blockchain alternatif lainnya, seperti Polygon, menjalankan program yang menyediakan layanan yang sama dengan Uniswap dan Sushiswap di Ethereum - tetapi tanpa biaya gas yang selangit. Layer 2 dan pertukaran alternatif ini mengalami lonjakan pengguna, transaksi, dan pendapatan.


Solusi L2 dapat diakses melalui Metamask. Dompet blockchain Metamask sangat fleksibel, aman, dan memungkinkan pengguna untuk beralih di antara jaringan yang berbeda seperti Ethereum, Polygon, dan Binance Smart Chain, dll. Namun, perlu untuk terlebih dahulu mengatur dompet MetaMask Anda sehingga Anda dapat berinteraksi dengan dApps Layer 2.


Apa perbedaan antara Ethereum dan Ethereum 2.0?

Ethereum 2.0 adalah sistem terbaru yang diperkenalkan dengan fungsionalitas baru. Ethereum 2.0 bertujuan untuk meningkatkan kecepatan, efisiensi, dan skalabilitas. Perbedaan utama antara versi Ethereum yang lebih lama dan baru adalah mekanisme yang mendasarinya dan penggunaannya.


Kontrak Cerdas di Jaringan Ethereum

Kontrak pintar hanyalah logika aplikasi yang dapat diekspresikan menggunakan operasi yang didefinisikan dalam EVM, dan dia juga dapat menyimpan data di blockchain. Whitepaper Ethereum menggambarkan mata uang yang disebut Ether dan lingkungan runtime baru untuk kontrak cerdas yang disebut Ethereum Virtual Machine (EVM). Pada pertengahan 2014, sebuah yellow paper diterbitkan oleh Gavin Wood yang mendefinisikan spesifikasi teknis EVM dan bagaimana cara kerjanya. Yellowpaper ini digunakan untuk membuat beberapa implementasi open-source dalam berbagai bahasa, yang paling populer adalah bahasa Go yang dikenal sebagai Geth. Implementasi paling populer kedua ditulis dalam bahasa Rust dan disebut klien Parity. Siapa pun yang menjalankan klien adalah node di jaringan Ethereum.


Opcode EVM adalah bahasa mesin tingkat rendah yang tidak terlalu mudah dibaca oleh manusia. Oleh karena itu, pengembang menulis kontrak cerdas dalam bahasa tingkat tinggi yang dapat dikompilasi menjadi opcode EVM. Ada beberapa bahasa tingkat tinggi, seperti Serpent dan Viper, tetapi yang paling populer disebut Solidity dan memiliki sintaks yang mirip dengan Javascript. Kontrak pintar dapat berisi data dan kode untuk memanipulasi data tersebut. Anda dapat menganggap kontrak pintar sebagai class yang memiliki fields dan methods.


Solidity

Solidity adalah bahasa pemrograman berorientasi objek untuk membuat kontrak cerdas di blockchain yang mengotomatiskan transaksi. Meskipun bahasa ini terutama digunakan untuk membuat kontrak cerdas pada blockchain Ethereum, dia juga dapat digunakan untuk membuat kontrak cerdas di blockchain lain.


Soliditas mirip dengan JavaScript, salah satu bahasa komputer yang paling banyak digunakan. Hal ini dapat dianggap sebagai dialek JavaScript. Jika pengguna tahu JavaScript, belajar Solidity harusnya mudah. Solidity juga memiliki banyak kesamaan dengan bahasa pemrograman C++ dan Python. Solidity menghilangkan kebutuhan untuk mengetik kode dalam satu dan nol, membuatnya lebih mudah diakses oleh semua orang.


Bagaimana Saya Bisa Membuat Kontrak Cerdas Menggunakan Solidity?

Semua pengguna dapat menulis kontrak cerdas menggunakan Solidity dan menyebarkannya ke blockchain Ethereum. Pertama, kompilasi kontrak cerdas Solidity ke dalam bytecode EVM dan kirim bytecode ke jaringan Ethereum sebagai bagian dari transaksi. Setelah transaksi ditambang, kontrak pintar digunakan pada blockchain dan diberi alamat publik. Orang lain kemudian dapat berinteraksi dengan kontrak pintar dengan mengirimkan transaksi ke alamatnya. Akhirnya, hasil dari metode pemanggilan ditulis ke blockchain setelah transaksi ditambang.


Jika Anda ingin instruksi langkah demi langkah yang lebih mendalam tentang cara membuat kontrak cerdas, Ethereum memiliki panduan yang tersedia di situs web mereka yang dapat diakses di sini.


Namun, pemula perlu menyadari bahwa meskipun kontrak pintar dengan Solidity relatif mudah ditulis, sering kali sulit untuk menulisnya dengan aman. Misalnya, jika fungsi penarikan dalam kontrak pintar tidak aman, penyerang dapat memanipulasi fungsi yang rentan untuk menguras akun. Penyerang dapat meminta fungsi penarikan untuk mengirim uang ke akun lain dengan menggunakan loop yang mengulangi fungsi penarikan. Fungsi pribadi hanya dapat dipanggil dalam kontrak. Fungsi ini berisi instruksi yang hanya dapat dieksekusi setelah dipanggil oleh fungsi lain dalam rantai. Hal ini membuat lebih sulit untuk memanipulasi kode oleh aktor jahat.


Bagaimana Solidity Dapat Digunakan di Ethereum?

Solidity digunakan untuk membuat kontrak cerdas untuk token yang dapat dipertukarkan dan token yang tidak dapat dipertukarkan (NFT). Dalam ekosistem Ethereum, standar yang berbeda digunakan untuk mengembangkan token yang tidak dapat dipertukarkan (NFT) dan token yang dapat dipertukarkan. Ini memungkinkan pengguna blockchain untuk membuat berbagai jenis kasus penggunaan. Solidity memungkinkan pengguna untuk menggunakan token dan token yang NFT di Ethereum. Dari mencetak NFT hingga menambahkan token ke yield farming pools untuk pendapatan tambahan, Ethereum memungkinkan berbagai cara untuk menggunakan token.


Solidity juga memungkinkan Organisasi Otonomi Terdesentralisasi (DAOs). DAO, sejenis struktur organisasi online yang ditulis terutama dalam Solidity. DAO memungkinkan orang yang berbeda untuk bergabung bersama sebagai anggota di platform online di mana mereka memberikan suara pada keputusan DAO yang paling kritis.


Kasus Penggunaan Solidity Lainnya

Ekosistem Ethereum unik karena dapat mendukung berbagai cryptocurrency dan aplikasi terdesentralisasi. Selain itu, berkat kontrak cerdas, teknologi unik untuk bisnis dan organisasi dapat dibuat di Ethereum.


Setiap tahun, miliaran dolar dihabiskan untuk solusi blockchain di seluruh dunia. Solidity digunakan untuk membangun beberapa solusi ini. Kontrak cerdas berbasis Solidity dapat dilihat sebagai mekanisme untuk mengotomatisasi prosedur bisnis dan non-bisnis antar pihak. Ini berarti bahwa mereka yang menggunakan blockchain tidak perlu khawatir tentang hal-hal seperti penipuan atau tidak dapat menggunakan uang yang sama.


Berikut adalah beberapa contoh kasus penggunaan Solidity:


Voting

Saat ini, ada banyak masalah dengan pemungutan suara, seperti perusakan data, pemilih palsu, perusakan mesin pemungutan suara, dan penangkapan bilik suara. Kontak pintar Solidity dapat dibuat dan digunakan untuk membuat proses pemungutan suara transparan dan efisien.


Lelang Buta

Dalam lelang terbuka, individu dapat melihat tawaran satu sama lain, yang mengarah ke perselisihan dan penipuan. Dengan kontrak cerdas Solidity, lelang buta dapat dirancang di mana pengguna tidak dapat melihat apa yang telah ditawar seseorang sampai selesai.


Crowdfunding

Crowdfunding melalui kontrak cerdas dapat memecahkan masalah seperti mempekerjakan pihak ketiga dan pengelolaan data. Selain itu, kontrak cerdas Solidity untuk crowdfunding tidak memerlukan sistem terpusat untuk membangun kepercayaan, mengurangi biaya tambahan.


Kesimpulan

Kontrak pintar adalah kode sumber terbuka (open-source codes) yang mengeksekusi diri sendiri yang berjalan ketika keadaan tertentu terpenuhi. Banyak proyek telah menggunakan platform Ethereum karena memungkinkan siapa pun untuk dengan cepat mengembangkan token mereka sendiri. Banyak orang percaya bahwa kontrak pintar pada akhirnya akan menggantikan kontrak reguler karena sifatnya yang terbuka. Kode kontrak diketahui sebelumnya dan tidak dapat diubah oleh pihak jahat. Selain itu, kontrak pintar bisa dengan cepat dijalankan dan dioperasikan secara mandiri.


Ethereum, Cardano, Solana, dan bahkan Binance Smart Chain semuanya didasarkan pada kontrak cerdas, yang membedakannya dari Bitcoin. Cardano dan Ethereum sering dibandingkan satu sama lain karena blockchain mereka menawarkan fitur serupa, termasuk kontrak cerdas untuk membuat aplikasi terdesentralisasi. Ethereum adalah platform blockchain open-source dengan mata uangnya sendiri, ETH. Cardano adalah platform blockchain proof-of-stake (PoS) terdesentralisasi generasi ketiga yang bertujuan untuk menjadi alternatif yang lebih efisien untuk jaringan proof-of-work (PoW).


Ethereum mendapatkan lebih banyak daya tarik dengan booming keuangan terdesentralisasi (DeFi) pada tahun 2020. Semakin banyak aplikasi terdesentralisasi diciptakan untuk mengotomatisasi layanan keuangan seperti pinjam-meminjam tanpa perlu perantara pihak ketiga.


Selamat, Anda telah menyelesaikan bagian 1 dari akademi Ardana! Bergabunglah dengan kami untuk modul pertama bagian 2, di sini.


Sumber: https://ardana.substack.com/p/module-5-ethereum-smart-contracts

10 views0 comments