Ethereum adalah sebuah jaringan blockchain terbuka bersifat terdesentralisasi yang menjadi wadah bagi ribuan software dan aplikasi. Hal tersebut mungkin terjadi karena hadirnya smart contract (kontrak pintar) yang secara otomatis bisa membuat keputusan sesuai dengan aturan programnya. Penasaran apa yang bisa menggerakkan fungsi kontrak pintar ini? Ethereum Virtual Machine (EVM) adalah mesin yang menjadi motor dalam blockchain besutan Vitalik Buterin ini.
Sebenarnya apa sih Ethereum Virtual Machine dan bagaimana cara kerjanya? Mari kita bahas lebih lanjut dalam artikel ini.
Exchange Terbaik untuk Trading Crypto
Beli Koin Crypto Pakai Kartu
Biaya Trading GratisDaftar dan Raih Bonus 1.000 USDT
Fitur Copy Trading CryptoTrading Crypto Tanpa KYC
Aplikasi copy trading terbaikApa itu Ethereum Virtual Machine?
Ethereum Virtual Machine (EVM) adalah komponen penting dari blockchain Ethereum. Mesin virtual ini bertanggung jawab untuk menjalankan smart contract dalam Solidity, yaitu bahasa pemrograman Ethereum. EVM adalah mesin virtual yang dapat menginterpretasikan bytecode, yaitu smart contract versi mesin yang bisa terbaca. EVM bertanggung jawab untuk mengelola status jaringan Ethereum dengan melacak saldo akun, penyimpanan kontrak dan kode.
Pembuatan EVM adalah untuk menjadi lingkungan terisolasi, yang berarti smart contract dapat berjalan tanpa memengaruhi jaringan Ethereum lainnya. Hal ini memastikan bahwa setiap kontrak pintar berjalan secara terisolasi, alias tidak ada interferensi dari smart contract lainnya.
EVM terdapat dalam perangkat lunak klien (misalnya, Geth, Nethermind, dan lain-lain) yang kamu butuhkan untuk menjalankan node pada Ethereum. Node-node di Ethereum menyimpan salinan data transaksi, yang EVM proses untuk memperbarui ledger terdistribusi. Umumnya, node-node di Ethereum secara alami mendukung EVM karena perangkat lunak klien mengimplementasikan fungsionalitas ini.
Cara Kerja Ethereum Virtual Machine
Pertama-tama, EVM menginterpretasikan bytecode untuk eksekusi oleh semua node dalam jaringan Etherium. EVM berpartisipasi dalam pembuatan blok dan eksekusi transaksi. Dalam pembuatan blok, EVM menetapkan standar untuk mengelola keadaan dari blok ke blok. Mesin ini beroperasi terus-menerus dan karena sifatnya tersebut, dia bisa menentukan status dari tiap blok dalam Ethereum.
Dalam eksekusi transaksi, EVM mengeksekusi tugas-tugas (misalnya, pemanggilan fungsi ke smart contract) dengan menginterpretasikan instruksi-instruksi dalam Opcodes (instruksi mesin pada level rendah). Namun, format data berbentuk bytecode. Untuk mendapatkan data ke dalam bytecode, pengembang dapat menggunakan bahasa pemrograman seperti Solidity (yaitu, bahasa pemrograman asli untuk smart contract). Tujuannya, untuk mengompilasi dan meluncurkan smart contract menggunakan bytecode.
Teknis Instruksi EVM
EVM dieksekusi sebagai mesin stack dengan kedalaman 1024 item. Setiap item adalah kata 256-bit, yang terpilih karena kemudahan penggunaannya dengan kriptografi 256-bit (seperti hash Keccak-256 atau tanda tangan secp256k1).
Selama eksekusi, EVM mempertahankan memori sementara (sebagai byte array alamat kata), yang tidak bertahan antara transaksi.
Kontrak berisi trie penyimpanan Merkle Patricia (sebagai larik kata alamat kata), yang terkait dengan akun yang bersangkutan dan bagian dari keadaan global.
Bytecode kontrak pintar yang dikompilasi dieksekusi sebagai beberapa opcode EVM, yang melakukan operasi stack standar seperti XOR, AND, ADD, SUB, dll. EVM juga mengimplementasikan sejumlah operasi stack khusus blockchain, seperti ADDRESS, BALANCE, BLOCKHASH, dll.
Bahasa pemrograman yang digunakan untuk Ethereum Virtual Machine (EVM) adalah Solidity, yaitu bahasa pemrograman khusus untuk kontrak pintar di Ethereum. Bytecode dari smart contract yang ditulis dalam Solidity kemudian diinterpretasikan oleh EVM untuk dijalankan dan memperbarui keadaan jaringan Ethereum. Selain itu, EVM juga dapat diimplementasikan dalam berbagai bahasa pemrograman seperti Python, C++, dan JavaScript.
Tujuan Ethereum Virtual Machine
Tujuan inti dari EVM adalah untuk menentukan ‘keadaan jaringan Ethereum’ – yaitu parameter operasional yang ada – dalam hubungannya dengan setiap blok jaringan individu. Sebagai penjelasan, Ethereum cukup mirip dengan sejumlah ekosistem blockchain lainnya. Secara umumnya, blockchain hadir dengan token native Ether (ETH) yang sangat berbeda serta sistem buku besar terdistribusi untuk memelihara setiap transaksi.
Namun demikian, jaringan Ethereum memiliki lapisan fungsi tambahan (Layer 2) berkat kompatibilitasnya dengan kontrak pintar. Lapisan kedua ini pada dasarnya bernama “distributed state machine,” tempat semua akun dan saldo asli ETH tersimpan.
Selain itu, karena jaringan Ethereum sangat dinamis dalam fungsionalitas keseluruhannya, ia mampu berubah dengan setiap blok baru yang muncul. Semua aturan ini menentukan keadaan jaringan dan kendalinya berada pada EVM itu sendiri.
COBA TRADING DI EXCHANGE POPULER
Kelebihan
Ethereum Virtual Machine tidak hanya menyediakan manfaat bagi pengguna, tetapi juga memungkinkan developer untuk menciptakan aplikasi terdesentralisasi (dApps). Contoh utamanya adalah pembuatan Non-fungible token (NFT), yaitu cryptocurrency spesial yang memanfaatkan kekuatan smart contract dan kompatibel dengan EVM. Karenanya, developer bisa membuat seni digital sekaligus menjual karya mereka di marketplace terdesentralisasi. Pada akhirnya, ini merupakan demokratisasi penjualan dan pembelian konten secara global.
Alasan mengapa EVM dan blockchain Ethereum cocok untuk mengembangkan ekosistem DApps dan smart contract Ethereum adalah karena keamanan hasilnya terjamin. Para pengembang dapat memilih dari berbagai kode standar yang tersedia, dan terdapat banyak cara untuk menggunakan EVM. Selain itu, semakin banyak blockchain layer-2 yang kompatibel dengan EVM yang tersedia, sehingga membuatnya menjadi platform yang menarik bagi pengembangan Web3.
Di samping itu, EVM juga memungkinkan peluncuran fungsi tambahan dalam sebuah ekosistem blockchain. Fungsi ini memastikan pengguna menghadapi seminimal mungkin kendala ketika beroperasi dalam sebuah ledger terdistribusi. Karena sifatnya yang terisolasi, bila ada smart contract yang menghadapi bug, malware atau gagal, protokol dasar masih tidak terdampak. Makanya, ini memungkinkan keamanan dan privasi tingkat tinggi.
BACA JUGA
Kelemahan
Di samping kekuatan, masih ada sejumlah kelemahan dari Ethereum Virtual Machine. Hal terpenting adalah biaya transaksi tinggi atau biaya gas yang berkaitan dengan berjalannya kontrak pintar di jaringan Ethereum. Biaya dalam denominasi Ether (ETH) ini sangat bergantung pada kerumitan kontrak dan kepadatan jaringan saat eksekusi. Sehingga, developer perlu menyesuaikan harga dari layanan mereka dengan gas fee Ethereum ini.
Kemudian, kelemahan yang EVM yang perlu developer pertimbangkan adalah penggunaan Solidity sebagai bahasa pemrograman yang mendukung coding di EVM. Ini mengharuskan developer punya pengalaman dan keahlian teknis untuk membuat kontrak pintar yang efisien.
Terakhir, jika pengembang menggunakan bahasa pemrograman lain, mereka perlu memastikan tidak ada bagian yang berulang dalam kode. Sebab, EVM tetap akan mengompilasi bagian yang berulang tersebut. Meski mungkin untuk memperbarui smart contract nanti, pengulangan ini menciptakan risiko masalah keamanan. Alasannya, smart contract tambahan mengacu pada alamat smart contract asli. Makanya, penting untuk menghindari pekerjaan komputasi yang berlebihan karena ini akan meningkatkan biaya dan mungkin merusak proyek.
BELI CRYPTO DI EXCHANGE POPULER
Kesimpulan
Secara keseluruhan, EVM adalah tulang punggung jaringan Ethereum, bertanggung jawab untuk menjalankan smart contract dan mengelola keadaan jaringan. Lingkungan terisolasi dan mekanisme konsensus EVM memastikan bahwa kontrak pintar berjalan dengan aman dan aman, menjadikan Ethereum sebagai platform yang kuat untuk membangun aplikasi terdesentralisasi.
Pertanyaan yang sering muncul
Apa itu Ethereum Virtual Machine?
Bagaimana cara kerja EVM Ethereum?
Apa keuntungan Ethereum virtual machine?
Apakah solana termasuk Ethereum EVM?
Apa bahasa pemrograman ethereum virtual machine?
Penyangkalan
Seluruh informasi yang terkandung dalam situs kami dipublikasikan dengan niat baik dan bertujuan memberikan informasi umum semata. Tindakan apa pun yang dilakukan oleh para pembaca atas informasi dari situs kami merupakan tanggung jawab mereka pribadi. Prioritas kami adalah menyediakan informasi berkualitas tinggi. Kami meluangkan waktu untuk mengidentifikasi, meriset, dan membuat konten edukasi yang sekiranya dapat bermanfaat bagi para pembaca. Kami menerima komisi dari para mitra kami untuk penempatan produk atau jasa mereka dalam artikel kami, supaya kami bisa tetap menjaga standar mutu dan terus memproduksi konten yang luar biasa. Meski demikian, pemberian komisi ini tidak akan memengaruhi proses kami dalam membuat konten yang tidak bias, jujur, dan bermanfaat.