Binance Live – We live everyday, dont forget follow us Click Here

Penjelasan Tentang Ethereum Virtual Mesin(EVM)

Penjelasan Tentang Ethereum Virtual Mesin(EVM)

Ethereum Virtual Machine dapat dianggap sebagai kuasi-Turing mesin lengkap. Kelengkapan Turing mengacu pada sistem aturan manipulasi data, dan dinamai menurut Alan Turing, pencipta mesin Turing.. Bahasa pemrograman dan unit pemrosesan pusat (CPU) adalah contoh sistem yang baik yang mengakses dan memodifikasi data. Jika aturan ini dapat digunakan untuk mensimulasikan mesin komputasi hipotetis Turing, aturan tersebut dianggap sebagai ‘Turing lengkap’. Sebuah sistem lengkap Turing dapat dibuktikan secara matematis memiliki kemampuan untuk melakukan perhitungan atau program komputer yang memungkinkan. Dengan kata lain, mesin lengkap Turing secara matematis mampu menyelesaikan masalah apa pun yang Anda berikan padanya. Mesin Virtual Ethereum hanya quasi-Turing yang lengkap karena komputasi yang dilakukan oleh mesin terikat oleh gas, yang berfungsi sebagai batasan jumlah komputasi yang dapat dilakukan.

Bytecode Gas dan EVM

Di Ethereum, gas dapat dianggap setara dengan biaya. Setiap transaksi tunggal yang dilakukan di jaringan Ethereum membutuhkan biaya yang melekat padanya, yang dibayarkan dalam bentuk gas. Konsep gas Ethereum dapat dibagi menjadi dua: harga gas dan gas

  • Gas – Berfungsi sebagai alat yang digunakan untuk mengukur biaya yang akan diperlukan untuk penghitungan tertentu yang akan dijalankan.
  • Harga Gas – Ini adalah jumlah Ether yang bersedia digunakan seseorang untuk setiap unit gas. Harga gas sering kali diukur dalam ‘Wei’, dan Wei adalah unit terkecil dari Ether, dimana 10 ^ 18 Wei mewakili satu Ether.

Jadi, agar seseorang dapat melakukan transaksi di jaringan Ethereuem, pengirim harus menetapkan batas gas dan harga gas yang melekat pada transaksi tersebut. Jika pengirim tidak memiliki gas yang dibutuhkan untuk melakukan transaksi, maka dikatakan ‘kehabisan gas’ dan tidak valid.

Gas dapat membatasi jumlah komputasi yang dapat dilakukan oleh Mesin Virtual Ethereum dengan beberapa cara, termasuk:

  • Blok yang ditambang di blockchain Ethereum memiliki batas gas yang menyertainya, sehingga jumlah gas yang digunakan oleh semua transaksi di dalam blok tidak boleh melebihi jumlah tertentu.
  • Harga gas melekat pada gas, terlepas dari apakah pembatasan batas gas dicabut dan mesin secara teoritis dapat menyelesaikan masalah yang diterimanya, beberapa transaksi mungkin terlalu rumit dan terbukti tidak praktis secara ekonomi.

Mesin Virtual Ethereum memiliki bahasa pemrogramannya sendiri, yang dikenal sebagai ‘bytecode EVM’. Ketika kode ditulis dalam bahasa pemrograman tingkat yang lebih tinggi seperti Solidity bahasa berorientasi kontrak Ethereum, kode ini kemudian dapat dikompilasi ke bytecode EVM, sehingga Mesin Virtual Ethereum dapat memahami apa yang telah ditulis.

Mesin Negara Berbasis Transaksi

Mesin Virtual Ethereum adalah elemen penting dari konstruksi Ethereum, karena bertanggung jawab untuk menangani keadaan internal dan perhitungan di jaringan. Mesin juga harus menangani informasi akun yang berkaitan dengan alamat, saldo, harga gas saat ini, dan informasi blok.

Seperti yang disebutkan sebelumnya, Mesin Virtual Ethereum bertanggung jawab untuk menangani keadaan internal di jaringan. Mesin harus melacak status sejumlah komponen agar berhasil mendukung transaksi. Ini penting karena status komponen inilah yang benar-benar mendorong tingkat perubahan dalam blockchain yang menyeluruh. Inilah sebabnya mengapa Ethereum sering digambarkan sebagai mesin negara berbasis transaksi. Sebelum kita melihat berbagai komponen yang harus dilacak oleh Mesin Virtual Ethereum, penjelasan singkat tentang konsep ‘keadaan’ semoga bermanfaat.

Dalam bidang ilmu komputer, mesin negara mengacu pada mesin yang mampu membaca serangkaian masukan dan, berdasarkan masukan tersebut, bertransisi ke keadaan baru. Demikian pula, mesin negara Ethereum juga berfungsi seperti ini. Sebelum input apa pun dibuat, atau sebelum transaksi apa pun di Ethereum dieksekusi, titik awalnya adalah sesuatu yang kosong. Saat transaksi di jaringan dilakukan, titik mana pun selama waktu ini menandakan keadaan Ethereum saat ini. Agar transisi status terjadi, transaksi yang dibuat harus valid, dan transaksi dianggap valid jika berhasil divalidasi melalui proses penambangan.

Proses penambangan ini dikenal sebagai bukti kerja (PoW), dan ini melibatkan node di jaringan Ethereum yang menghabiskan sumber daya komputer untuk menerima hak istimewa untuk membuat blok transaksi yang valid dan menambahkannya ke blockchain. Seorang penambang dapat menambahkan blok ke blockchain ketika mereka dapat memberikan ‘bukti’ matematis. Bukti yang valid memberi sinyal ke jaringan bahwa blok tersebut valid, yang kemudian menghasilkan blok yang diterima dan ditambahkan ke rantai. Seorang penambang yang berhasil memvalidasi blok, diberi hadiah dengan aset asli Ethereum, Ether, sebagai imbalan atas pengeluaran sumber daya komputasi selama proses PoW.

Komponen yang harus dilacak Mesin Virtual Ethereum meliputi: Status Akun, Status Dunia, Status Penyimpanan, Informasi Blokir, dan Informasi Lingkungan Waktu Proses.

Status Akun

Ethereum dapat dianggap terdiri dari banyak akun kecil yang mampu berinteraksi satu sama lain (ini dimungkinkan karena kerangka kerja penyampaian pesan Ethereum). Akun di Ethereum dapat dibagi lagi menjadi: akun yang dimiliki secara eksternal dan akun kontrak.

  • Akun yang dimiliki secara eksternal – Akun ini dikontrol oleh kunci pribadi dan tidak ada kode yang terkait dengannya.
  • Akun kontrak – Akun ini dikontrol oleh kode kontraknya dan memiliki kode yang terkait dengannya.

Akun yang dimiliki secara eksternal dapat mengirim pesan ke akun yang dimiliki secara eksternal, atau akun kontrak lainnya. Ini dilakukan dengan menandatangani transaksi secara digital dengan menggunakan kunci pribadi. Komunikasi antara dua akun yang dimiliki secara eksternal dapat dianggap sebagai transfer nilai. Namun, pesan antara akun yang dimiliki secara eksternal dan akun kontrak memiliki efek mengeksekusi kode akun kontrak. Hal ini memungkinkan akun kontrak untuk melakukan tindakan yang diatur dalam kode, yang dapat mencakup: transfer token, pembuatan token baru, dll. Penting untuk dicatat bahwa akun kontrak tidak dapat memulai transaksi baru sendiri (tidak seperti akun yang dimiliki secara eksternal).

Ada empat elemen yang membentuk status akun, yang meliputi:

  • Nonce – Jika akun dimiliki secara eksternal, nilai ini mewakili jumlah transaksi yang dikirim dari alamat akun. Namun, jika ini adalah akun kontrak, maka nonce menandakan jumlah kontrak yang dibuat oleh akun tersebut.
  • Saldo – Jumlah Wei yang dimiliki oleh alamat akun.
  • CodeHash – Ini adalah nilai hash yang tidak berubah dari kode Mesin Virtual Ethereum untuk akun yang sesuai.

Negara Dunia

Status global Ethereum secara efektif terdiri dari pemetaan antara pengidentifikasi alamat 160-bit dan status akun. Semua informasi pemetaan ini disimpan dalam struktur data yang dikenal sebagai Pohon Merkle Patricia. Struktur data ini terdiri dari sekumpulan node dengan:

  • Sejumlah besar simpul daun di bagian bawah pohon yang menampung data yang mendasarinya.
  • Sekumpulan node perantara, di mana setiap node adalah hash dari dua node turunan.
  • Sebuah hash root tunggal juga terbentuk dari hash dari dua node turunan sebelumnya, yang merepresentasikan bagian atas struktur pohon.

Status Penyimpanan

Ini adalah informasi status khusus akun yang dipertahankan saat runtime di Mesin Virtual Ethereum.

Blokir Informasi

Ini adalah nilai negara bagian yang diperlukan untuk mendukung transaksi, informasi blok meliputi:

  • Blockhash – Hash dari blok yang terakhir diselesaikan
  • Coinbase – Alamat penerima
  • Timestamp – Stempel waktu blok saat ini
  • Nomor – Jumlah blok saat ini
  • Kesulitan – Kesulitan blok saat ini
  • Gaslimit – Batas gas yang terpasang pada blok arus

Informasi Lingkungan Waktu Proses

Ini adalah informasi yang digunakan untuk melakukan transaksi, yang meliputi:

  • Harga gas – Harga gas saat ini seperti yang ditentukan oleh pemrakarsa transaksi
  • Codesize – Ukuran basis kode transaksi
  • Penelepon – Alamat akun yang menjalankan transaksi
  • Asal – Alamat pengirim asli transaksi

Informasi lebih lanjut tentang Mesin Virtual Ethereum dapat ditemukan di Ethereum Github ( Tutorial Pengembangan Ethereum ). Lihat juga Kertas Kuning Ethereum .

Ikuti Cryptoiz Telegram group | Telegram Channel | Twitter/X

Penafian : Setiap keputusan investasi ada di tangan pembaca. Pelajari dan analisa sebelum membeli dan menjual Crypto. cryptoizresearch.com tidak bertanggung jawab atas keuntungan dan kerugian yang timbul dari keputusan investasi.

Related News