Volubit.id — Ethereum Virtual Machine (EVM) adalah mesin virtual yang menjalankan protokol Ethereum. Komponen penting dalam blockchain Ethereum ini berfungsi untuk menjalankan smart contract dan aplikasi terdesentralisasi (DApps).
EVM diperkenalkan oleh pendiri Ethereum, Vitalik Buterin, pada 2013. Software ini didesain oleh Gavin Wood (pendiri Polkadot) saat masih menjadi bagian Ethereum, dengan bahasa pemrograman C++ dan menggunakan kompiler LLVM Project.
EVM bekerja seperti software komputer yang memproses kode dan memiliki memori untuk menyimpan informasi. Hanya saja, EVM tidak berbentuk satu komputer, melainkan kumpulan dari ratusan ribu mesin cloud yang di jalankan seluruh node Ethereum yang ada di dunia.
Cara Kerja EVM
Pengembang Ethereum diketahui menulis kode smart contract dalam bahasa pemrograman yang disebut Solidity. Kode tersebut kemudian diterjemahkan ke dalam bytecode agar EVM bisa membaca instruksinya.
Dalam proses penerjemahan kode dari Solidity ke bytecode, instruksi terlebih dahulu dipecah menjadi ‘opcode’ atau operation code. Setiap baris kode diubah menjadi opcode sehingga EVM mengetahui secara pasti cara menjalankan transaksi.
Seperti yang telah diketahui, setiap transaksi di jaringan Ethereum memerlukan gas fee agar dapat dieksekusi. Secara teori, ketika membayar gas fee, pengguna sebenarnya membayar opcode yang akan dieksekusi oleh EVM. Semakin banyak opcode, semakin tinggi gas fee yang akan dibayarkan.
Interaksi dengan EVM bisa dilakukan dengan cara mengirim transaksi ke alamat Ethereum yang berisi kode yang dapat dieksekusi. Transaksi ini akan mendorong EVM untuk mengeksekusi kode yang dapat terbaca dan tertulis di buku besar (ledger) Ethereum, yang memungkinkan pembuatan berbagai dApps dengan berbagai fungsi dalam decentralized finance (DeFi) atau nonfungible token (NFT).
Namun, biaya transaksi (gas fee) yang tinggi telah menjadi tantangan tersendiri bagi EVM. Gas fee biasanya dibayarkan dalam bentuk ETH yang jumlahnya bervariasi berdasarkan kepadatan jaringan.
Bahasa pemrograman Solidity juga dianggap cukup sulit sehingga pengembang harus memiliki keahlian teknis jika ingin membuat smart contract yang efisien dalam bahasa tersebut. Meski demikian, saat ini bahasa pemrograman lain, seperti Vyper, Python, dan Yul sudah kompatibel dengan EVM.
Sifat EVM
1. Terdesentralisasi
EVM beroperasi pada jaringan node terdesentralisasi yang memastikan tidak ada satu entitas pun yang mengendalikan operasinya. Sifat ini sejalan dengan sifat blockchain Ethereum yang trustless dan censorship-resistant.
2. Deterministik
Eksekusi yang dilakukan oleh EVM bersifat deterministik. Dalam sistem deterministik, smart contract akan selalu konsisten menghasilkan output yang sama untuk input awal yang diberikan.
Dengan demikian, smart contract yang diterapkan dalam blockchain Ethereum tidak dapat diubah baik kode maupun fungsinya. EVM secara ketat menegakkan logika dan aturan tertanam dalam smart contract, yang eksekusinya yang dapat diaudit secara transparan dalam blockchain.
Determinisme merupakan hal penting dalam membangun konsensus di antara semua node Ethereum dan memastikan kesamaan status blockchain.
3. Turing completeness
EVM dirancang sebagai mesin virtual Turing-complete, yang secara teoritis bisa melakukan komputasi apa pun jika diberi sumber daya yang diperlukan berupa waktu, energi, dan instruksi lengkap, sehingga sangat cocok untuk membuat dApps.
Desain ini memberikan fleksibilitas bagi pengembang dalam menciptakan algoritma yang kompleks dan solusi blockchain yang inovatif.
4. Sistem Gas
Gas merupakan biaya sumber daya komputasi yang diperlukan untuk menyelesaikan transaksi atau menjalankan smart contract. EVM menggunakan sistem gas untuk mengelola alokasi sumber daya secara efisien dan memastikan pengguna membayar sumber daya yang mereka gunakan.
Sistem gas memiliki dua tujuan. Pertama untuk mencegah spam dan penyalahgunaan jaringan. Kedua untuk memotivasi node agar semangat memvalidasi transaksi demi mendapatkan rewards dari gas fee.
5. Aman dan Terisolasi
EVM juga berada dalam ekosistem sandbox, yang memastikan eksekusi kode dilakukan dengan aman dan dalam lingkungan yang terisolasi sehingga bisa mencegah masuknya kode berbahaya ke seluruh jaringan.
Pengembang bisa mengeksekusi kode tanpa khawatir mempengaruhi keamanan data pada komputer node. Bug atau gangguan dalam satu node, juga tidak akan mempengaruhi fungsionalitas DApps atau smart contract.
Konsistensi EVM membuatnya menjadi platform yang disukai pengembang Web3, yang terlihat dari semakin banyaknya blockchain layer-2 yang kompatibel dengan EVM.
Blockchain-blockchain ini menawarkan gas fee yang lebih rendah dan transaksi yang lebih cepat, sehingga memudahkan interaksi dengan pengguna Ethereum. Berikut di antaranya:
- BNB Chain
- Polygon PoS
- Avalanche
- Optimism
- Arbitrium
- Fantom
- Moonbean
- Klaytn
- Cronos
- dan lainnya
FROM CLASSROOM
TO THE MOON
Jadilah bagian dari kelas kripto eksklusif pertama di Bandung
Daftar sekarangMEMBERSHIP
Jadilah bagian dari kelas kripto eksklusif pertama di Bandung
Daftar sekarang