Apa itu Mesin Virtual Ethereum (EVM) dan bagaimana cara kerjanya?

Eter (ETH), yang merupakan mata uang kripto terbesar kedua dalam hal kapitalisasi pasar, populer di kalangan investor mata uang kripto karena token ETH aslinya. Namun, bahasa pemrograman Solidity aslinya dan Ethereum Virtual Machine (EVM) berperan penting dalam sanjungan yang diterimanya dari komunitas pengembang. Bahkan, Blockchain Ethereum terus menarik aplikasi terdesentralisasi (DApp) pengembang karena fleksibilitasnya, beragam alat pengembang yang tersedia, dan basis pengguna platform yang besar.

Membentuk inti dari arsitektur blockchain, EVM adalah program yang mengeksekusi kode aplikasinya atau kontrak pintar, demikian sebutan mereka, menyediakan lingkungan run-time untuk mereka yang berjalan di atas jaringan Ethereum. Terlebih lagi, EVM adalah Turing-complete dan dengan demikian dapat menjalankan program apa pun yang dikodekan dalam bahasa pemrograman apa pun, sehingga memungkinkan pengembang untuk dengan mudah membuat kontrak pintar khusus dan DApps untuk perkembangan Web3 ruang. 

Selain fungsi-fungsi penting ini, EVM memiliki akses ke semua node dalam jaringan, menangani eksekusi smart contract dan secara efektif menangani semua transaksi di blockchain Ethereum, menjadikannya salah satu mesin virtual terkuat yang ada saat ini.

Apa itu Mesin Virtual Ethereum (EVM) dan bagaimana cara kerjanya?

Dikonsep pada tahun 2013 oleh programmer Vitalik Buterin, jaringan Ethereum berutang kesuksesan fenomenalnya sebagai blockchain pilihan untuk pengembang DApp ke Ethereum Virtual Machine (EVM) yang dirancang oleh Gavin Wood selama masa jabatannya di Ethereum. Ditulis dalam C++ dan menggunakan kompiler Proyek LLVM, EVM adalah mesin status khusus yang beroperasi terus menerus dan operasinya yang tidak dapat diubah menentukan status setiap blok di blockchain Ethereum. 

EVM tidak hanya mengatur apa yang dapat atau tidak dapat dilakukan oleh node ke ledger terdistribusi yang dikelola oleh blockchain Ethereum, tetapi juga menentukan aturan khusus untuk mengubah status dari blok ke blok. Fungsionalitas yang terakhir inilah yang memungkinkan fungsionalitas kontrak pintar yang telah dikenal oleh Ethereum.

Untuk memahami apa yang dilakukan Mesin Virtual Ethereum, seseorang perlu melihat masing-masing fungsi berbeda yang dilayaninya dalam memastikan kelancaran operasi jaringan Ethereum. Untuk setiap input yang diterimanya, EVM menghasilkan output yang bersifat deterministik dan mengikuti fungsi matematis dalam pengertian yang paling sederhana. 

Beroperasi seperti mesin tumpukan yang mendorong nilai transien ke dan dari tumpukan pushdown, EVM memiliki kedalaman 1024 item, dengan masing-masing item berupa kata 256-bit. Itu juga memelihara memori sementara dalam bentuk array byte, yang berubah antara dua transaksi di blockchain Ethereum. Kode kontrak pintar yang telah dikompilasi dijalankan oleh EVM dalam bentuk kumpulan 140 opcode standar, sementara operasi stack khusus blockchain lainnya juga diimplementasikan olehnya.

Skema Mesin Virtual Ethereum

Dengan demikian, EVM memiliki status mesin yang sifatnya tidak stabil selama pemrosesan transaksi apa pun dan status global atau dunia yang berisi informasi mengenai berbagai akun yang dikelola di blockchain Ethereum. Semua tindakan diatur oleh kode EVM, yang dengan sendirinya telah melalui beberapa iterasi sejak peluncuran jaringan Ethereum pada tahun 2015, yang menyebabkan adanya implementasi berbeda dari EVM yang saat ini digunakan.

Faktanya, EVM bertanggung jawab untuk menjaga tingkat abstraksi antara ribuan node Ethereum dan kode pelaksana, bertindak sebagai fungsi yang memberikan hasil yang konsisten tanpa membocorkan banyak detail kepada klien atau node.

Apa tujuan dari Mesin Virtual Ethereum (EVM)?

EVM telah andal memberi daya pada semua aplikasi yang berjalan di jaringan Ethereum tanpa ada laporan downtime besar. Untuk pengembang, EVM bertindak sebagai program menyeluruh yang menjalankan program yang dapat dieksekusi lebih kecil yang dikenal sebagai kontrak pintar di Ethereum, sambil memberi mereka kebebasan untuk menulis kontrak pintar ini di berbagai bahasa pemrograman termasuk Solidity, Vyper, Python dan Yul, antara lain.

Karena fleksibilitas yang ditawarkan oleh EVM ini, blockchain Ethereum telah melahirkan ribuan DApps di dunia keuangan desentralisasi (DeFi) dan token yang tidak dapat dipertukarkan (NFT) ruang angkasa. Masing-masing DApps ini dan kontrak pintar yang dibuat diubah menjadi bytecode yang dimasukkan ke dalam EVM dan didistribusikan di antara semua node di jaringan Ethereum. Saat smart contract diterapkan, EVM bertanggung jawab untuk berkomunikasi dengan semua node dan memengaruhi perubahan status saat konsensus tercapai.

Dapat dikatakan bahwa EVM dimasukkan ke dalam setiap node Ethereum untuk mengeksekusi kontrak pintar menggunakan bytecode alih-alih bahasa pemrograman dasar, sehingga mengisolasi komputer host fisik dari kode mesin tempat Ethereum berjalan.

Manfaat Mesin Virtual Ethereum (EVM)

Karena cara EVM beroperasi, pengembang dapat mengeksekusi kode tanpa mengkhawatirkan dampaknya pada jaringan lainnya atau kemungkinan membolos dengan data atau file pribadi yang dihosting di salah satu komputer node. 

Selain itu, mereka dapat menjalankan kontrak pintar yang kompleks pada lingkungan komputasi yang berbeda dengan konsensus terdistribusi. Ini memastikan bahwa kegagalan satu node tidak berdampak negatif pada jalannya DApp atau smart contract, karena kode EVM tetap sama di semua node. Selain itu, karena data akun dipertahankan pada tingkat global di EVM, pengembang menganggapnya sempurna untuk menulis kode kontrak pintar khusus dan membuat DApp berbeda yang dapat mengakses kumpulan data global ini dan menghasilkan keluaran yang andal. 

Kesucian dari hasilnya adalah apa yang membuat EVM, khususnya, dan blockchain Ethereum secara umum sangat cocok untuk ekspansi berkelanjutan dari DApps dan ekosistem kontrak cerdas Ethereum. Tambahkan ke ini perpustakaan kode standar yang tersedia untuk dipilih pengembang, semakin banyak yang kompatibel dengan EVM blockchain lapisan-2 dan sejumlah besar kemungkinan kasus penggunaan EVM, dan mudah untuk melihat mengapa EVM adalah platform pilihan pengembangan web3.

Kelemahan Mesin Virtual Ethereum (EVM)

Terlepas dari banyak keuntungan yang ditawarkan oleh EVM, ada beberapa kelemahan yang perlu dipertimbangkan oleh pengembang dan pengusaha yang membangun Ethereum. Yang paling penting adalah tingginya biaya transaksi atau biaya bahan bakar yang terkait dengan menjalankan smart contract di jaringan Ethereum. 

Dibayar dalam ETH, biaya ini bervariasi tergantung pada kerumitan kontrak dan kemacetan jaringan pada saat pelaksanaan, sehingga sangat penting bagi pengembang dan pengusaha untuk harga layanan mereka sesuai. Selain itu, karena Solidity adalah bahasa yang paling disukai untuk pengkodean pada EVM, ini menyiratkan bahwa pengembang harus memiliki pengalaman yang memadai dengannya dan memiliki sedikit keahlian teknis untuk membuat kontrak cerdas yang efisien dengan menggunakannya. 

Yang terakhir ini penting karena setiap persyaratan perhitungan tambahan akan menyebabkan biaya gas yang lebih tinggi dan pada akhirnya terbukti merugikan keberhasilan proyek. Jika pengembang memilih untuk membuat kode menggunakan bahasa lain, mereka harus berhati-hati dalam menyelesaikan setiap pengulangan yang melekat dalam kode karena EVM akan terus mengompilasinya. Meskipun pemutakhiran kontrak pintar dimungkinkan pada tahap selanjutnya, ia memiliki risiko keamanan yang terkait dengan pembuatan kontrak pintar perantara yang mereferensikan alamat kontrak pintar asli.

Masa depan EVM

Terlepas dari perubahan revolusioner yang dibawa oleh EVM ke ekosistem blockchain, teknologi ini untuk membaca dan mengeksekusi kode sedang diperbaiki oleh sejumlah proyek blockchain. 

Dengan interoperabilitas lintas rantai menjadi aspek terpenting bagi pengembang, banyak blockchain yang kompatibel dengan EVM telah didukung, dengan sebagian besar menawarkan gas yang lebih rendah dan kecepatan transaksi yang lebih cepat daripada protokol Ethereum. Akibatnya, blockchain ini sekarang dapat berinteraksi dengan pengguna Ethereum secara mulus dan memfasilitasi transfer dana ke jaringan mereka sendiri menggunakan jembatan blockchain.

Namun, dengan protokol Ethereum berhasil menyelesaikan Penggabungan pada September 2022, sasaran berikutnya adalah untuk beralih dari EVM ke Ethereum WebAssembly (eWASM). Dirancang untuk menjadi sangat modular dan platform-independen, eWASM disebut-sebut sebagai game-changer berikutnya untuk protokol Ethereum dan dapat memotivasi blockchain lain untuk menggunakan lingkungan run-time ini untuk smart contract juga. Namun, apakah eWASM akan menggantikan EVM sebagai mekanisme paling tepercaya untuk kontrak pintar adalah pertanyaan yang hanya akan dijawab oleh waktu.