Topics Tech Deep Dive

Apa Itu Mesin Virtual Ethereum (EVM)? Panduan Pemula

Lanjutan
Tech Deep Dive
17 лип 2022 р.

Mesin virtual Ethereum (EVM) sering disebut sebagai “jantung Ethereum” — yaitu apa adanya. Seperti halnya jantung memompa darah yang mendistribusikan oksigen dan nutrisi ke seluruh tubuh, EVM memberi pengembang kemampuan untuk membuat kontrak pintar dan DApp dalam bahasa pemrograman Solidity. Sebagian besar DApp dibuat saat ini, dan inilah yang membedakannya dari Bitcoin dan buku besar terdistribusi lainnya. Dalam artikel ini, kami akan terjun terlebih dahulu ke mesin virtual Ethereum dan menguraikan apa itu, cara kerjanya, dan peran mereka dalam pengembangan DApp, serta kemajuan Web 3.0.

Apa Itu EVM?

Mesin virtual Ethereum adalah platform perangkat lunak, atau “komputer virtual,” yang digunakan oleh pengembang untuk membuat aplikasi terdesentralisasi (DApp), serta untuk mengeksekusi dan menerapkan kontrak pintar pada sistem Ethereum.

Baik Anda seorang pemrogram yang memiliki minat pada DApp atau investor yang ingin mempelajari lebih lanjut tentang dunia kripto EVM yang terus berkembang, Anda mungkin pernah mendengar tentang Ethereum virtual machines.To.

Menurut Vitalik Buterin, pencipta Ethereum, BitTorrent adalah DApp yang pertama. Bram Cohen menciptakan protokol berbagi file pada tahun 2001, dan meskipun ada beberapa upaya untuk menghancurkannya, BitTorrent masih sangat hidup.

Untuk benar-benar menghentikan BitTorrent, setiap komputer di setiap rumah di seluruh dunia harus dimatikan. Ini adalah mesin virtual yang tidak terikat oleh kendala fisik. Hal yang sama juga berlaku untuk mesin virtual Ethereum. EVM menghilangkan kebutuhan akan perangkat keras superpowered, dan merupakan platform ideal untuk memulai programer. Namun, pengetahuan tentang konsep byte, tumpukan, dan blockchain seperti fungsi hash dan bukti kerja sangat membantu ketika mencoba mendapatkan pemahaman yang lebih dalam tentang kode yang kompatibel dengan EVM dan mesin virtual Ethereum secara umum.

Tujuan mesin virtual Ethereum adalah untuk menentukan kondisi setiap blok dalam blockchain Ethereum. Meskipun EVM serupa dengan jaringan berbasis blockchain lainnya, yaitu menggunakan buku besar terdistribusi untuk memelihara basis data untuk transaksi, EVM menambahkan lapisan fungsi lain karena kemampuan kontrak pintar mereka. Banyak yang menyebut lapisan kedua ini sebagai “mesin keadaan terdistribusi.”

Apa yang Dilakukan EVM?

Dalam bentuk yang paling dasar, mesin virtual Ethereum adalah basis data yang besar untuk menyimpan semua akun dan saldo Ethereum. Pada saat yang sama, ini juga merupakan keadaan mesin dengan kemampuan untuk mengeksekusi kode mesin dan mengubah setiap blok baru yang ditambahkan ke buku besar blockchain. Aturan spesifik yang menentukan bagaimana EVM akan berubah dengan setiap blok baru sebenarnya ditentukan oleh EVM itu sendiri.

Singkatnya, mesin virtual Ethereum adalah mesin pemrosesan dan platform perangkat lunak yang berfungsi seperti komputer terdesentralisasi. Mulai dari aplikasi kripto DeFi dan EVM hingga game dan pasar seperti OpenSea, pengembang menggunakan mesin virtual Ethereum untuk membuat DApp berdasarkan Ethereum dan bahasa pemrogramannya yang kompatibel dengan EVM, Solidity.

Yang terpenting, mesin virtual Ethereum adalah bagian dari jaringan Ethereum yang bertanggung jawab atas eksekusi dan peluncuran kontrak pintar. Di sinilah kontrak pintar dan jutaan DApp berdasarkan blockchain Ethereum hidup dan bernapas.

Anggap blockchain Ethereum sebagai struktur P2P dari node individu yang berbeda. Satu node terhubung ke node berikutnya, membuat setiap node bertanggung jawab atas keamanan dan stabilitas seluruh ekosistem. Untuk melakukannya dan mempertahankan konsensus di seluruh blockchain Ethereum, setiap node menggunakan EVM.

EVM dan Kesamaannya dengan CPU

Untuk lebih memperjelas konsep EVM, Anda dapat kembali ke dasar dengan memikirkan cara kerja program komputer. Semua perangkat lunak mereka ditulis dalam bahasa pemrograman, seperti Java atau C++. Namun, karena CPU tidak dapat membaca Java atau C++, kode dikompilasi dan diterjemahkan ke dalam kode byte.

Ethereum bukan CPU — Ethereum adalah jaringan terdistribusi di seluruh dunia dengan 100 CPU yang secara bersamaan menjalankan EVM. Namun, EVM berfungsi sebagai CPU virtual atau “mesin” virtual yang berjalan di dalam program Go Ethereum, atau “Geth”.

Serupa dengan program perangkat lunak lain, pengembang membuat DApp dan menulis kontrak pintar dalam bahasa pemrograman. Alih-alih Java atau C++, bahasa untuk Ethereum disebut Solidity. Kode soliditas dikompilasi menjadi kode byte dan didistribusikan ke setiap komputer (node) yang menjalankan Geth di jaringan.

Ketika kontrak pintar diluncurkan, setiap node menerima salinannya, menjalankan kode bitnya, dan memberikan kode kepada siapa pun yang meminta peluncuran, yang menghasilkan “perubahan status.” Ini berarti keadaan blockchain saat ini telah diubah, yang hanya dapat dilakukan dengan konsensus setiap node.

Oleh karena itu, EVM sering disebut sebagai “mesin keadaan terdistribusi.” Ini melacak status blockchain saat berubah dalam setiap transaksi.

Bagaimana Cara Kerja EVM?

Jika Anda pernah mengunduh lagu, film, atau perangkat lunak dari BitTorrent, maka Anda tahu apa yang dapat dilakukan oleh jaringan terdesentralisasi. Bahkan, otoritas terkuat di dunia tidak dapat menghapusnya karena hal tersebut akan memerlukan penutupan setiap komputer yang terhubung ke jaringan.

Salah satu cara terbaik untuk meningkatkan jaringan terdesentralisasi adalah dengan menggunakan mesin virtual. Bertindak sebagai lapisan antara mesin dan kode yang dieksekusi, mesin virtual dapat dijalankan di berbagai perangkat keras dan sistem operasi dari mana saja di seluruh dunia.

Mesin virtual seperti EVM berfungsi serupa dengan mesin fisik dengan CPU, memori, dan penyimpanan, tetapi berfungsi hanya sebagai kode. Menurut teori, siapa pun dapat menjalankan mesin virtual, memberikan fleksibilitas dan portabilitas yang dibutuhkan oleh jaringan terdesentralisasi.

Mesin virtual Ethereum menggunakan jaringan nodus terdesentralisasi untuk mengeksekusi kontrak pintar. Ini adalah tumpukan virtual sandbox dinamis, yang tertanam di dalam setiap node Ethereum untuk mengeksekusi kode bit kontrak pintar yang kompatibel dengan EVM.

Kontrak Pintar, Node, dan P2P

Ketika mempelajari apa itu EVM dan apa yang mereka lakukan untuk kripto dalam kasus seperti peminjaman DeFi, perlu diingat bahwa kontrak pintar ditulis dalam Solidity dan bahasa lain yang lebih tinggi, dan kemudian mereka diterjemahkan ke kode bit dan dikompilasi ke EVM. Ini berarti kode mesin diisolasi dari sistem file, proses, dan jaringan komputer host.

Setiap node dalam jaringan Ethereum harus menyetujui node berikutnya untuk mengeksekusi instruksi yang sama. Hal ini membuat Turing mesin virtual Ethereum Selesai, yang berarti dapat melakukan langkah-langkah logis untuk fungsi komputasi.

Untuk setiap instruksi yang diimplementasikan EVM, biaya ditetapkan padanya, memungkinkan sistem untuk melacak biaya eksekusi. Biaya melakukan transaksi kripto EVM dan mengeksekusi instruksi lain diukur dalam unit yang kompatibel dengan EVM yang dikenal sebagai gas.

Dengan mengaktifkan ekonomi berdasarkan biaya untuk instruksi yang dieksekusi daripada transaksi keuangan yang dieksekusi, seperti Bitcoin, Kelengkapan Turing tercapai. Ini berarti mesin virtual Ethereum adalah komputer peer-to-peer yang terhubung secara global, mampu membuat kontrak pintar, acara crowdfunding P2P, ekonomi berbagi file, dan masih banyak lagi.

Tidak seperti internet di awal tahun 1990-an, masa depan ada untuk diambil.

Opcode

Saat ini, ada sekitar 150 opcode berbeda yang dapat dijalankan oleh EVM. Jadi, apa sebenarnya opcode itu — dan mengapa opcode penting dalam memahami EVM?

Alasan mesin virtual Ethereum disebut sebagai Turing Complete sebagian besar karena kemampuannya untuk mengeksekusi instruksi tingkat mesin yang dikenal sebagai opcode.

Ocode yang kompatibel dengan EVM membantu EVM menyelesaikan tugas spesifik terkait dengan transaksi kripto EVM atau kontrak pintar. Namun, opcode digunakan untuk berbagai operasi, mulai dari aritmatika dan pencatatan data hingga memori dan pengambilan informasi blok.

Namun, opcode tidak ditulis langsung ke dalam EVM. Karena kemampuan mereka untuk memungkinkan pengembang dengan mudah membuat dan berinteraksi dengan kontrak pintar, EVM ditulis dalam bahasa pemrograman Solidity. Namun, bahasa asli ini harus dikonversi menjadi opcode agar dapat ditafsirkan oleh EVM.

Setiap opcode diberikan satu bita. Artinya, maksimum 256 opcode dapat digunakan.

Kontrak Pintar

Ketika mencoba memahami apa itu EVM, pengetahuan dasar tentang kontrak pintar dan peran mereka dalam kripto EVM, DeFi, dan fungsi blockchain lainnya diperlukan.

Terkadang disebut sebagai “Aplikasi EVM,” kontrak pintar adalah lini kode yang kompatibel dengan EVM yang digunakan oleh para pihak untuk bertransaksi satu sama lain tanpa menggunakan pihak ketiga, atau gangguan dari otoritas pusat.

Dalam setiap kontrak pintar adalah daftar operasi yang ditentukan yang akan dieksekusi ketika kondisi on-chain atau off-chain tertentu terpenuhi. Operasi ini dapat berkisar dari transfer dana ke alamat tertentu, hingga pembuatan kontrak pintar baru dan komunikasi antara kontrak yang sudah ada. Alih-alih membutuhkan pihak ketiga, siapa pun dapat mengirim dana ke alamat kontrak pintar untuk memulai operasi ini.

Ethereum mengambil konsep Bitcoin dan meningkatkannya dengan memungkinkan pengembang untuk membangun kontrak pintar selain blockchain mereka. Langkah selanjutnya adalah menciptakan lingkungan di mana kontrak pintar dapat hidup dan berinteraksi dengan satu sama lain. Di sinilah mesin virtual Ethereum berperan.

EVM menggabungkan sumber daya bukan hanya satu tetapi ribuan CPU yang terhubung ke jaringan Ethereum. Selain memverifikasi transaksi, ini juga menerjemahkan opcode kontrak pintar yang ditulis dalam Solidity menjadi kode byte, sehingga instruksi dapat dibaca dan operasi dapat dieksekusi. Untuk bagian terakhir ini, Anda membutuhkan gas.

Buffer Gas

Gas adalah bahan bakar yang menggerakkan mesin virtual Ethereum. Baik Anda mentransfer kripto EVM atau berinvestasi dalam NFT, gas diperlukan untuk membayar pelaksanaan operasi. Gas bertindak sebagai biaya komputasi yang diperlukan untuk mengeksekusi kontrak pintar.

Setiap opcode diberi biaya gas. Semakin rumit opcode, semakin tinggi pula biaya gasnya. Saat ini, biaya awal setiap transaksi adalah 21.000 gas.

Biaya gas dibebankan untuk memberikan kompensasi kepada validator yang bertanggung jawab untuk memeriksa guna memastikan informasi transaksi valid, dan bahwa tidak ada pengecualian atau kesalahan dari EVM.

Yang lebih penting lagi, biaya gas membantu mencegah serangan DDoS dan menjaga keamanan jaringan. Karena penerapan kontrak rumit dalam skala besar akan memerlukan penghitungan yang panjang dan mahal, penyerang secara moneter tidak disarankan untuk melakukan upaya jahat. Serangan itu terlalu mahal untuk dijalankan.

Apa Itu Blockchain yang Kompatibel dengan EVM?

Interoperabilitas antar blockchain telah terbukti menjadi masalah yang signifikan. Karena masalah dengan Ethereum — seperti biaya gas yang tinggi dan transaksi yang lambat — terus berlanjut, pengembang mulai membuat DApp dan kontrak pintar berdasarkan blockchain tanpa izin lainnya untuk menawarkan transaksi yang lebih cepat dan biaya gas yang lebih rendah. Sayangnya, banyak dari blockchain ini sangat terbatas dan tidak memiliki interoperabilitas dengan blockchain lainnya.

Blockchain yang kompatibel dengan EVM telah terbukti menjadi cara mudah untuk menyelesaikan masalah ini. Daripada memulai dari awal dan menciptakan lingkungan yang mirip dengan EVM melalui penggunaan jembatan lintas rantai, pengembang dapat menyalin bagian-bagian tertentu dari jaringan Ethereum, dan membuat DApp yang memungkinkan pengguna untuk mentransfer aset dengan cepat dan mudah antar jaringan EVM mana pun.

Dengan interoperabilitas ini, banyak blockchain yang paling banyak digunakan saat ini mengikuti model yang kompatibel dengan EVM ini. Contohnya meliputi beberapa nama besar di ruang kripto EVM, seperti:

• Rantai Pintar Binance

• Longsoran

• Fantom

• Kardano

• Poligon

• Besi

Terlepas dari alasan Anda ingin memahami EVM, penting untuk mengetahui bahwa semua sidechain ini kompatibel dengan EVM.  Produk ini menawarkan semua keuntungan dan jangkauan blockchain Ethereum, tetapi dengan kecepatan yang lebih tinggi, kapasitas yang lebih tinggi, dan biaya transaksi yang lebih rendah.

Pada akhirnya, ketika membahas blockchain yang kompatibel dengan EVM, semuanya bergantung pada pengoptimalan dan menciptakan pengalaman pengguna terdesentralisasi yang terbaik. Namun, ada juga keuntungan lain.

Interoperabilitas Ekosistem Ethereum

Salah satu keuntungan terbesar EVM adalah interoperabilitasnya dalam ekosistem Ethereum. Ethereum adalah blockchain yang paling banyak digunakan di dunia. Berkat mesin virtual Ethereum, DApp berdasarkan blockchain Ethereum dapat berkomunikasi dan berinteraksi satu sama lain, sehingga memungkinkan pengalaman pengguna yang lebih cepat dan lancar.

Dengan menggunakan jembatan blockchain, interoperabilitas antar blockchain dapat dicapai. Pengguna dapat dengan bebas mengirim aset di seluruh jaringan EVM dari satu DApp ke DApp berikutnya.

Mudah untuk Dipotong Dapp

Mesin virtual Ethereum memudahkan Anda untuk bermigrasi dan memperluas DApp ke rantai baru tanpa harus menulis ulang kode apa pun. Menggunakan jenis mesin virtual lain, seperti Move-VM atau Wasm, membutuhkan lebih banyak sumber daya dan membuat porting DApp jauh lebih sulit.

Hambatan Masuk Rendah untuk Pengembang Ethereum

EVM juga memiliki entri penghalang rendah untuk pengembang Ethereum. Tidak perlu khawatir tentang sifat EVM, atau apakah kodenya kompatibel dengan EVM. Tidak perlu mempelajari bahasa pemrograman lain, karena pengembang dapat menggunakan alat Ethereum yang dikenal seperti Waffle dan MetaMask.

Kasus Penggunaan EVM

Sekarang setelah kita membahas apa itu EVM dan cara kerjanya, mari kita lihat bagaimana semuanya bersatu untuk mendukung kripto EVM dan proyek berbasis Ethereum lainnya.

Token ERC-20

Beberapa proyek DApp dan Ethereum memberikan insentif kepada pengguna dengan token ERC-20, yang secara khusus dirancang agar mudah ditransfer antar alamat dan mempertahankan nilai yang sama di seluruh jaringan.

Token ERC-20 dibuat oleh kontrak pintar dengan mengikuti struktur data yang ditentukan. Struktur data ini bertanggung jawab untuk menamai, mendistribusikan, dan memantau token.

Token ini digunakan lebih dari sekadar kripto EVM. Nexus Mutual, yang menyediakan asuransi pada kontrak pintar, menggunakan token NXM ERC-20 untuk memberi pengguna kemampuan untuk membuat klaim dan membeli pertanggungan. Contoh lainnya adalah Livepeer . Meskipun ini bukan contoh yang paling populer saat membahas EVM, jaringan streaming video terdesentralisasi ini menggunakan token ERC-20 Livepeer untuk memberikan insentif kepada pengguna untuk memasok jaringan dengan sumber daya. Ini hanyalah dua dari banyak DApp yang menangani token ERC-20.

AMM dan DEX

Bursa terdesentralisasi (DEX) memungkinkan pertukaran token ERC-20 melalui peluncuran kontrak pintar. Kontrak pintar ini memungkinkan pengguna untuk memanfaatkan kumpulan likuiditas token tanpa gangguan pihak ketiga, sehingga memberi mereka judul pembuat pasar otomatis (AMM). SushiSwap, Uniswap, dan beberapa bursa populer lainnya sebenarnya adalah aplikasi dari model AMM terdesentralisasi ini.

Penambangan NFT

Token populer lainnya adalah ERC-721 yang tidak dapat dipertukarkan. Kontrak pintar dengan token ini sering digunakan untuk mencetak token yang tidak dapat dipertukarkan (NFT), yaitu token yang memiliki nilai unik di seluruh blockchain Ethereum.

Tak terpikirkan beberapa tahun lalu, sebuah kode kini memiliki kemampuan untuk mendemokratisasikan akses virtual ke pasar seni. Proyek game seperti Gods Unchained dan Axie Infinity juga menggunakan token ini untuk item dan koleksi dalam game.

Peminjaman DeFi

AdaSwap adalah bursa terdesentralisasi berbasis Cardano dengan AMM. Baru-baru ini, mereka mengumumkan kerja sama dengan Milkomeda. Menggunakan solusi Lapisan 2 untuk sidechain, Milkomeda memberikan blockchain non-EVM seperti kompatibilitas Cardano EVM. Dengan sidechain ini, pengguna dapat mentransfer aset dan menjalankan DApp Cardano di Ethereum, dan sebaliknya.

AdaSwap dan Milkomeda menggunakan kolaborasi ini untuk mengintegrasikan mesin virtual Ethereum ke dalam ekosistem Cardano. Ada beberapa platform DeFi lain yang mengikuti petunjuk Cardano.

DAO

Mesin virtual Ethereum diatur oleh organisasi otonom terdesentralisasi, atau DAO. DAO adalah entitas komunal yang tidak memiliki otoritas pusat. Ini memberi komunitas kendali atas jaringan.

DAO bukan hanya DAO yang sepenuhnya otonom, tetapi juga transparan. Kontrak pintar menguraikan aturan dan mengeksekusi keputusan berdasarkan instruksi tertulis kode, tetapi setiap saat, pemungutan suara dan proposal dapat dilakukan melalui konsensus. Bahkan kode itu sendiri dapat terbuka untuk audit publik.

Pada akhirnya, DAO sepenuhnya diatur oleh anggota individu yang secara bersama-sama membuat keputusan penting terkait proyek. Aturan DAO ditetapkan oleh anggota komunitas inti dan diterapkan melalui kontrak pintar. Karena semua ini terlihat, dapat diverifikasi, dan terbuka untuk audit publik, setiap anggota DAO dapat memahami bagaimana protokol berfungsi di setiap langkah.

Batasan EVM

Saat mencoba memahami apa itu EVM, penting untuk mempertimbangkan pro dan kontra mereka. Terlepas dari banyak keuntungannya, teknologi EVM juga memiliki keterbatasan tertentu. Pertama, menggunakan mesin virtual Ethereum memerlukan beberapa tingkat pengalaman teknis. Pengetahuan tentang Solidity, Java, dan bahasa pemrograman lainnya adalah suatu keharusan.

Kedua, EVM terkenal dengan biaya gas mereka yang tinggi. Tidak peduli seberapa pintar EVM, EVM tidak dapat menghindari popularitasnya sendiri dan kemacetan data yang menyertainya, sehingga menghasilkan biaya transaksi yang lebih tinggi dibandingkan dengan rantai lain.

Terakhir, mesin virtual Ethereum tidak sepenuhnya terdesentralisasi. Faktanya, sekitar 25 persen node Ethereum benar-benar berjalan di Layanan Web Amazon. Jika AWS mengalami pemadaman besar atau menghentikan layanannya, EVM dan DApp yang mereka gunakan akan sangat terpengaruh.

Masa Depan EVM

Ketika berbicara tentang blockchain Ethereum dan EVM, kami baru saja memulai. Dalam waktu dekat, kecepatan, kompleksitas, dan kemampuan mesin virtual Ethereum hanya akan meningkat, sama seperti PC tahun 1990-an yang berkembang menjadi pusat pemrosesan yang digunakan saat ini.

Namun, EVM tidaklah sempurna. Tantangan terkait throughput jaringan dan kecepatan transaksi terus menjadi masalah yang mengganggu sistem. Saat ini, masalah ini adalah titik fokus bagi komunitas pengembangan Ethereum, dan penyelesaiannya adalah peta jalan untuk penggunaan dan kesuksesan berkelanjutan Ethereum.

Jika Ethereum memenuhi janjinya untuk merevolusi cara kita berinteraksi dan bertransaksi dengan satu sama lain, maka Ethereum akan menjadi hasil dari peningkatan yang dilakukan pada EVM.

Kesimpulan

Dalam artikel ini, kami telah menjelajahi mesin virtual Ethereum, mengeksplorasi eksekusi kontrak pintar, dan melihat bagaimana EVM mengeksekusi kode bit. Kita juga telah membahas gGas, mekanisme akuntansi untuk EVM, dan berbicara tentang bagaimana gGas memfasilitasi transaksi dan melindungi Ethereum dari serangan DDoS. Pada akhirnya, EVM adalah jantung dan jiwa dari penerapan dan eksekusi kontrak pintar. Mendapatkan pemahaman yang lebih dalam tentang mesin virtual Ethereum sangat penting bagi siapa saja yang ingin mengembangkan DApp dan terjun ke dunia terdesentralisasi kita di masa depan.