Pada dasarnya, Ethereum adalah mesin status berbasis transaksi. Dalam ilmu komputer, mesin status dapat membaca serangkaian masukan, lalu mengubahnya menjadi status baru berdasarkan masukan tersebut.

Mesin status Ethereum dimulai dari status awal yang kosong (genesis state), lalu didorong oleh transaksi demi transaksi untuk berpindah dari satu status ke status lainnya.

Setiap status Ethereum memuat banyak informasi transaksi, yang semuanya dirangkai menjadi satu blok. Sebuah blok berisi serangkaian transaksi, dan setiap blok terhubung dengan blok sebelumnya.

Agar sebuah transaksi dianggap valid, transaksi tersebut harus dimasukkan ke dalam blok dan disepakati oleh jaringan melalui konsensus. Sebelum “The Merge” pada September 2022, Ethereum menggunakan Proof of Work (PoW) seperti Bitcoin, dengan penambang bersaing menggunakan daya komputasi untuk memasukkan blok. Setelah The Merge, Ethereum resmi beralih ke Proof of Stake (PoS).

Dalam mekanisme PoS, “penambang” yang menghabiskan daya komputasi sudah tidak ada dan digantikan oleh validator. Validator harus melakukan staking sebesar 32 Ether sebagai jaminan. Mereka dipilih menggunakan algoritma pseudorandom untuk mengusulkan blok baru, kemudian sebuah komite yang terdiri atas validator lain memberikan attestasi. Jika validator bertugas dengan jujur, mereka akan menerima Ether sebagai hadiah; jika berbuat curang atau luring, Ether yang mereka stake akan dipotong (slashing).

1.2 Pemilihan Fork dan Mekanisme Konsensus (Gasper)

Seperti yang telah disebutkan sebelumnya, Ethereum adalah mesin status yang digunakan bersama oleh node-node di seluruh dunia. Statusnya harus tunggal; memiliki banyak status (atau banyak rantai) akan merusak sistem. Jika rantai mengalami fork, Anda bisa saja memiliki 10 koin di satu rantai, 20 koin di rantai lain, dan 40 koin di rantai yang berbeda lagi. Dalam situasi seperti ini, tidak ada cara untuk menentukan rantai mana yang paling “valid”.

Setiap kali muncul beberapa jalur, terjadilah sebuah “fork”. Biasanya kita ingin menghindari fork karena dapat merusak sistem dan memaksa orang memilih rantai mana yang mereka percayai.

Pada era PoW, Ethereum menggunakan protokol GHOST (Greedy Heaviest Observed Subtree) untuk memilih jalur dengan jumlah komputasi terbanyak demi mencegah terbentuknya banyak rantai. Setelah “The Merge” pada 2022, tanggung jawab untuk menentukan rantai utama diserahkan kepada validator, dan Ethereum beralih ke mekanisme konsensus bernama Gasper.

Gasper terdiri atas dua bagian:

Aturan pemilihan fork LMD-GHOST: Node selalu memilih cabang dengan bobot suara validator terbanyak (yaitu jumlah stake tertinggi) sebagai rantai utama.

Mekanisme finalitas Casper FFG: Memastikan bahwa setelah sebuah blok dikonfirmasi secara final oleh jaringan, blok tersebut memiliki “finalitas absolut” dan tidak dapat dibatalkan atau diubah. Dengan demikian, risiko reorganisasi chain yang mungkin terjadi pada era PoW versi lama dapat dihilangkan.

2 Akun

Akun Ethereum adalah entitas yang memiliki saldo Ether (ETH) dan dapat mengirim transaksi di Ethereum. Akun dapat dikendalikan oleh pengguna atau diterapkan sebagai kontrak pintar.

Ada dua jenis akun Ethereum:

Akun eksternal: Dikendalikan oleh kunci privat dan tidak memiliki kode yang terkait dengannya.

Akun kontrak: Dikendalikan oleh kode kontraknya dan memiliki kode yang terkait dengannya.

Kedua jenis akun dapat menerima, menyimpan, dan mengirim ETH serta token, juga berinteraksi dengan kontrak pintar yang telah diterapkan.

Akun eksternal dapat mengirim pesan ke akun eksternal lain atau akun kontrak. Pesan yang dikirim di antara dua akun eksternal hanya berupa transfer nilai sederhana. Namun, pesan dari akun eksternal ke akun kontrak akan mengaktifkan kode akun kontrak dan memungkinkannya melakukan berbagai tindakan (seperti mentransfer token, menulis ke penyimpanan internal, mencetak token baru, melakukan komputasi, membuat kontrak baru, dan sebagainya). Akun kontrak tidak dapat memulai transaksi sendiri. Karena itu, setiap tindakan di Ethereum selalu dimulai oleh transaksi yang dipicu akun eksternal.

Akun Ethereum memiliki empat bidang:

nonce: Penghitung jumlah transaksi yang dikirim dari akun, untuk memastikan setiap transaksi hanya diproses satu kali. Pada akun kontrak, angka ini menunjukkan jumlah kontrak yang dibuat oleh akun tersebut.

balance: Jumlah Wei yang dimiliki alamat ini. Wei adalah satuan Ether; 1 Ether = 10^18 Wei.

storageRoot: Juga disebut hash penyimpanan, yaitu hash simpul akar pohon Merkle Patricia.

codeHash: Hash kode EVM akun ini. Untuk akun kontrak, kodenya di-hash dan disimpan sebagai codeHash. Untuk akun eksternal, bidang codeHash adalah hash dari string kosong.

Selama bertahun-tahun, Ethereum membedakan secara ketat antara akun eksternal (EOA) dan akun kontrak. Namun, hal ini menjadi hambatan besar bagi pengguna: mereka harus menjaga kunci privat dengan baik dan memiliki ETH untuk membayar biaya Gas. Standar ERC-4337 yang diterapkan pada 2023 menghadirkan “abstraksi akun”, sehingga akun pengguna dapat berupa kontrak pintar sejak awal.

Hal ini menghadirkan peningkatan pengalaman yang revolusioner: mendukung pemulihan sosial (kunci privat yang hilang dapat dipulihkan melalui teman), memungkinkan pembayaran biaya Gas menggunakan token seperti USDT, bahkan memungkinkan pemrosesan transaksi secara massal (otorisasi dan penukaran selesai dengan sekali klik). Upgrade Pectra pada Mei 2025 semakin memperluas kemampuan ini melalui EIP-7702, yang memungkinkan EOA tradisional menetapkan delegasi kode sementara dan menjalankan logika seperti kontrak pintar, sehingga kemampuan abstraksi akun tersedia bagi akun lama. Abstraksi akun semakin mengaburkan batas antara EOA dan akun kontrak, serta menjadi infrastruktur penting bagi Ethereum untuk mendorong adopsi Web3 secara massal.

3 Blok

Semua transaksi dikelompokkan ke dalam sebuah “blok”. Sebuah blockchain terdiri atas serangkaian blok yang saling terhubung seperti ini.

3.1 Header Blok

Setiap blok memiliki “header” blok yang memuat bidang-bidang berikut:

parentHash: Hash header blok induk (inilah yang menjadikan blok sebagai blockchain)

beneficiary (kini lebih sering disebut feeRecipient): alamat akun yang menerima biaya prioritas dari blok ini

stateRoot: Hash simpul akar pohon status

transactionsRoot: Hash simpul akar pohon Merkle yang memuat semua transaksi dalam blok ini

receiptsRoot: Hash simpul akar pohon Merkle yang memuat semua resi transaksi dalam blok ini

logsBloom: Filter Bloom yang terdiri atas informasi log

prevRandao: Nilai acak yang disediakan oleh Beacon Chain (menggantikan mixHash dari era PoW setelah The Merge)

number: Nomor urut blok saat ini (nomor blok genesis adalah 0, dan nomor setiap blok berikutnya bertambah 1)

gasLimit: Batas gas saat ini untuk setiap blok

gasUsed: Jumlah total gas yang digunakan oleh transaksi dalam blok ini

timestamp: Stempel waktu Unix saat blok ini dibuat

baseFeePerGas: Biaya dasar per unit gas untuk blok ini (diperkenalkan melalui upgrade London / EIP-1559 pada 2021)

withdrawalsRoot: Hash simpul akar pohon Merkle yang memuat data penarikan stake validator (diperkenalkan melalui upgrade Shanghai pada 2023)

blobGasUsed / excessBlobGas: Mencatat penggunaan data Blob (diperkenalkan melalui upgrade Cancun pada 2024)

parentBeaconBlockRoot: Hash akar blok Beacon induk, yang memungkinkan EVM mengakses status Beacon Chain (diperkenalkan melalui upgrade Cancun)

requestsHash: Hash berbagai permintaan lapisan eksekusi (deposit, penarikan, dan konsolidasi validator) (diperkenalkan melalui upgrade Pectra pada 2025)

extraData: Data tambahan yang terkait dengan blok ini

Catatan: Setelah The Merge, beberapa bidang dari era PoW sudah tidak digunakan lagi—mixHash digantikan oleh prevRandao; ommerHash, difficulty, dan nonce tetap ada sebagai placeholder dalam protokol, tetapi nilainya telah ditetapkan sebagai konstanta dan tidak lagi memiliki fungsi praktis. Diagram header blok klasik di bawah ini masih menggunakan tata letak lama dan belum mencerminkan perubahan tersebut.

Setiap blok memuat tiga struktur pohon, yang masing-masing mewakili:

Status (stateRoot)

Transaksi (transactionsRoot)

Resi (receiptsRoot)

3.2 Pohon MPT

Ethereum menggunakan struktur data Merkle Patricia Tree (MPT) untuk menyimpan data. MPT adalah struktur data yang telah disempurnakan dengan menggabungkan keunggulan pohon Merkle dan pohon prefiks. Di Ethereum, MPT merupakan struktur data penting untuk mengelola data akun dan menghasilkan hash kumpulan transaksi.

Efisiensi penyimpanan informasi dalam MPT sangat berguna bagi “klien ringan” dan “node ringan” Ethereum. Secara umum, Ethereum memiliki dua jenis node: node penuh dan node ringan.

Node penuh melakukan sinkronisasi dengan mengunduh seluruh rantai, dari blok genesis hingga blok terkini, lalu mengeksekusi semua transaksi di dalamnya. Validator biasanya menjalankan node penuh karena validasi dan pembuatan blok memerlukan data status yang lengkap.

Alih-alih mengunduh dan menyimpan seluruh rantai serta mengeksekusi semua transaksinya, node ringan hanya mengunduh header rantai, dari blok genesis hingga blok terkini, tanpa mengeksekusi transaksi apa pun atau mengambil status terkait. Karena node ringan dapat mengakses header blok, yang memuat hash akar dari ketiga pohon MPT, node ringan tetap dapat dengan mudah membuat dan menerima jawaban terverifikasi tentang transaksi, peristiwa, saldo, dan sebagainya.

Hal ini dapat berjalan karena hash dalam pohon MPT merambat ke atas. Jika pengguna jahat mencoba mengganti transaksi di bagian bawah pohon MPT dengan transaksi palsu, hash simpul di atasnya akan berubah. Perubahan nilai simpul tersebut juga akan mengubah hash simpul di atasnya lagi, dan seterusnya hingga mencapai simpul akar pohon.

Singkatnya, keunggulan penggunaan pohon MPT adalah hash simpul akarnya bergantung pada data yang tersimpan di dalam pohon, sehingga hash akar tersebut dapat berfungsi sebagai identitas data yang aman. Karena header blok memuat hash akar pohon status, pohon transaksi, dan pohon resi, setiap node dapat memverifikasi sebagian kecil status Ethereum tanpa harus menyimpan seluruh status, yang ukurannya bisa sangat besar.

Meskipun pohon MPT telah bekerja dengan sangat baik selama beberapa tahun terakhir, seiring membengkaknya data status Ethereum hingga ratusan GB, ukuran bukti MPT menjadi terlalu besar dan persyaratan perangkat keras untuk menjalankan node penuh pun semakin tinggi. Untuk mengatasi masalah ini, tahap “The Verge” dalam peta jalan Ethereum berencana memigrasikan struktur data dari MPT ke Verkle Trees.

Pohon Verkle menggabungkan keunggulan komitmen vektor (Vector Commitments) dan pohon Merkle, sehingga ukuran bukti kriptografis (witness) dapat dipangkas lebih dari satu orde besaran. Hal ini memungkinkan ponsel atau komputer dengan spesifikasi sangat rendah menjalankan “klien tanpa status” Ethereum (Stateless Clients) dengan mudah, sehingga desentralisasi dapat diwujudkan secara maksimal. Perlu dicatat bahwa hingga 2026, migrasi Verkle masih dalam tahap pengembangan dan belum masuk ke dalam rencana hard fork yang telah dikonfirmasi.

3.3 Waktu Pembuatan Blok dan Irama (Slots & Epochs)

Pada era Proof of Work (PoW), waktu pembuatan blok bersifat probabilistik (rata-rata sekitar 13–15 detik) dan disesuaikan secara dinamis berdasarkan tingkat kesulitan penambangan. Namun, dalam mekanisme Proof of Stake (PoS) saat ini, waktu di Ethereum berjalan setepat jam.

Ethereum membagi waktu menjadi satuan tetap:

Slot: Setiap slot berlangsung tepat 12 detik. Ini adalah jendela waktu ketika sistem berupaya membuat blok baru. Dalam setiap slot, sistem memilih satu validator secara pseudorandom untuk mengusulkan blok, sementara validator lainnya memberikan attestasi terhadap blok tersebut.

Epoch: Setiap epoch terdiri atas 32 slot, yaitu 6,4 menit. Epoch adalah siklus dasar bagi sistem untuk menghitung hadiah dan penalti validator, mengacak ulang (mendistribusikan kembali tugas validator), serta mencapai “finalitas” blok.

Rancangan dengan irama tetap ini membuat operasi jaringan Ethereum lebih mudah diprediksi: tugas validator yang bergiliran, waktu konfirmasi transaksi, serta penghitungan hadiah dan slashing semuanya memiliki ritme yang jelas.

4 Gas dan Biaya

Salah satu konsep penting di Ethereum adalah biaya. Setiap komputasi yang dilakukan oleh transaksi di jaringan Ethereum akan dikenai biaya. Biaya ini dibayar menggunakan Gas.

Gas adalah satuan untuk mengukur biaya yang diperlukan oleh suatu komputasi. Wei adalah satuan terkecil Ether, 1 Ether = 10^18 Wei; harga gas biasanya diukur dalam gwei, 1 gwei = 10^9 Wei.

Setelah upgrade London pada 2021 (EIP-1559), mekanisme biaya Ethereum mengalami perubahan mendasar. Kini, biaya transaksi terdiri atas dua bagian:

Biaya dasar (Base Fee): Dihitung secara otomatis oleh protokol berdasarkan tingkat kepadatan blok sebelumnya dan berlaku sama untuk semua transaksi dalam blok yang sama. Biaya ini tidak dibayarkan kepada validator, melainkan langsung dimusnahkan oleh jaringan (burned).

Biaya prioritas (Priority Fee / Tip): Tip tambahan yang secara sukarela dibayarkan pengguna kepada pengusul blok (validator) untuk mendorong mereka memasukkan transaksi pengguna lebih dahulu.

Karena itu, saat mengirim transaksi, pengguna tidak lagi menetapkan satu nilai gasPrice saja, melainkan maxFeePerGas (harga total tertinggi yang bersedia dibayar per unit gas) dan maxPriorityFeePerGas (tip tertinggi yang bersedia dibayarkan). Setiap transaksi tetap harus menetapkan gasLimit, yang menunjukkan jumlah maksimum gas yang bersedia dibayar pengirim untuk mengeksekusi transaksi.

Misalnya, pengirim menetapkan gasLimit sebesar 50,000 dan maxFeePerGas sebesar 20 gwei. Artinya, pengirim bersedia membayar paling banyak 50,000 × 20 gwei = 1,000,000,000,000,000 Wei = 0.001 Ether untuk mengeksekusi transaksi ini.

Harga aktual yang dibayar untuk transaksi adalah min(maxFeePerGas, Base Fee + maxPriorityFeePerGas). Jika saldo akun pengguna cukup untuk membayar biaya maksimum tersebut, tidak ada masalah. Setelah transaksi selesai, gas yang tidak terpakai akan dikembalikan kepada pengirim.

Jika pengirim tidak menyediakan gas yang cukup untuk mengeksekusi transaksi, eksekusi akan mengalami “kehabisan gas” dan transaksi dianggap tidak valid. Dalam situasi ini, pemrosesan transaksi dihentikan dan semua perubahan status dibatalkan. Hasilnya, sistem kembali sepenuhnya ke status sebelum transaksi—seolah-olah transaksi itu tidak pernah terjadi. Karena mesin telah melakukan upaya komputasi sebelum kehabisan gas, secara teori tidak ada gas yang dikembalikan kepada pengirim.

Lalu, ke mana sebenarnya uang Gas ini pergi?

Biaya dasar: Dimusnahkan secara permanen (burned) dan dihapus dari total suplai ETH. Ketika aktivitas on-chain sedang tinggi, jumlah ETH yang dimusnahkan bahkan dapat mendorong ETH ke kondisi deflasi.

Biaya prioritas: Dibayarkan kepada validator yang berhasil mengusulkan blok tersebut (dahulu disebut “penambang”). Pengusul menerima hadiah ini sebagai kompensasi atas biaya komputasi dan bandwidth yang dikeluarkan untuk memasukkan, mengeksekusi, dan memvalidasi transaksi.

Biasanya, semakin tinggi biaya prioritas yang bersedia dibayar pengirim, semakin besar nilai yang diperoleh validator dari transaksi tersebut, sehingga mereka lebih terdorong untuk memasukkannya lebih dahulu. Validator bebas memilih transaksi mana yang akan mereka validasi atau abaikan; biaya prioritas adalah tawaran untuk memperoleh hak tersebut.

Apa manfaat biaya Ethereum?

Pertama, salah satu aspek penting yang memungkinkan Ethereum beroperasi adalah setiap operasi yang dijalankan jaringan juga dijalankan ulang oleh semua node penuh. Namun, operasi komputasi sangat mahal di Ethereum Virtual Machine. Karena itu, kontrak pintar Ethereum sebaiknya digunakan untuk tugas-tugas sederhana, seperti menjalankan logika bisnis sederhana atau memverifikasi tanda tangan dan objek kriptografis lainnya, bukan untuk tugas kompleks seperti penyimpanan berkas, email, atau pembelajaran mesin yang dapat membebani jaringan. Dengan mengenakan biaya, jaringan dapat dicegah agar tidak bekerja melampaui kapasitasnya.

Kedua, bahasa kontrak pintar Ethereum bersifat Turing-complete (sederhananya, mesin Turing adalah mesin yang dapat menyimulasikan algoritma komputer apa pun). Artinya, kode dapat memuat perulangan. Tanpa biaya, pelaku jahat dapat melumpuhkan jaringan dengan menjalankan transaksi yang berisi perulangan tak terbatas. Karena itu, biaya juga melindungi jaringan dari serangan yang disengaja.

Ketiga, Gas tidak hanya digunakan untuk membayar komputasi, tetapi juga biaya penyimpanan. Total biaya penyimpanan sebanding dengan ukuran data, sehingga mendorong pengguna untuk mengurangi jumlah data yang disimpan sebisa mungkin. Perluasan kapasitas penyimpanan akan memperbesar basis data status Ethereum di semua node, dan biaya ini harus ditanggung oleh seluruh jaringan.

5 Transaksi dan Pesan

Ethereum adalah mesin status berbasis transaksi. Dengan kata lain, transaksi yang terjadi di antara berbagai akun menyebabkan status global Ethereum berpindah dari satu keadaan ke keadaan lainnya.

Transaksi adalah instruksi bertanda tangan kriptografis yang dibuat dan diserialisasi oleh akun eksternal, lalu dikirimkan ke blockchain. Transaksi terbagi menjadi dua jenis: panggilan pesan (message calls) dan pembuatan kontrak (contract creations).

Semua transaksi mencakup komponen-komponen berikut, apa pun jenisnya:

nonce: Penghitung jumlah transaksi yang dikirim oleh pengirim

gasPrice: Jumlah Wei per gas yang bersedia dibayar pengirim untuk mengeksekusi transaksi. Setelah EIP-1559, parameter ini secara bertahap digantikan oleh maxFeePerGas dan maxPriorityFeePerGas (lihat Bagian 4)

gasLimit: Jumlah maksimum gas yang bersedia dibayar pengirim untuk mengeksekusi transaksi. Nilai ini dipotong terlebih dahulu sebelum komputasi apa pun dilakukan

to: Alamat penerima. Dalam transaksi pembuatan kontrak, alamat akun kontrak belum ada, sehingga nilai ini dibiarkan kosong

value: Jumlah Wei yang ditransfer dari pengirim ke penerima. Dalam transaksi pembuatan kontrak, value menjadi saldo awal akun kontrak yang baru dibuat

v, r, s: Nilai yang digunakan untuk menghasilkan tanda tangan guna mengidentifikasi pengirim transaksi

init: Hanya ada dalam transaksi pembuatan kontrak. Ini adalah potongan kode EVM untuk menginisialisasi akun kontrak baru. Nilai init dijalankan satu kali, lalu dibuang. Saat pertama kali dijalankan, init mengembalikan isi kode akun, yaitu kode yang selanjutnya dikaitkan secara permanen dengan akun kontrak

data: Bidang opsional yang hanya ada dalam komunikasi pesan; berisi data masukan (yaitu parameter) untuk pesan tersebut. Misalnya, jika kontrak pintar merupakan layanan pendaftaran nama domain, pemanggilan kontrak mungkin mengharapkan parameter masukan berupa nama domain dan alamat IP

Baik berupa komunikasi pesan maupun pembuatan kontrak, transaksi dipicu oleh akun eksternal dan dikirimkan ke blockchain. Dengan kata lain, transaksi adalah jembatan antara dunia luar dan status internal Ethereum.

Namun, ini bukan berarti sebuah kontrak tidak dapat berkomunikasi dengan kontrak lain. Kontrak di dalam cakupan status global Ethereum dapat berkomunikasi dengan kontrak lain dalam cakupan yang sama. Komunikasi ini berlangsung melalui “pesan” atau “transaksi internal”. Saat sebuah kontrak mengirim transaksi internal ke kontrak lain, kode yang terkait dengan akun kontrak penerima akan dijalankan.

Satu hal penting yang perlu diperhatikan adalah transaksi internal atau pesan tidak mencakup gasLimit. Hal ini karena batas gas ditentukan oleh pembuat transaksi eksternal yang asli (yaitu akun eksternal). Batas gas yang ditetapkan akun eksternal harus cukup tinggi untuk menyelesaikan transaksi, termasuk semua “eksekusi turunan” yang dihasilkan oleh transaksi tersebut, seperti pesan antarkontrak.

Seiring Ethereum menetapkan jalur penskalaan yang berpusat pada Rollup (jaringan lapisan kedua), Layer 2 perlu menerbitkan banyak data ke mainnet untuk memastikan keamanan. Sebelumnya, data ini hanya dapat dimasukkan ke dalam transaksi biasa yang mahal (menggunakan calldata).

Upgrade Cancun pada Maret 2024 memperkenalkan jenis transaksi baru, yaitu transaksi Blob (Type 3 Transaction). Blob (Binary Large Object) adalah ruang penyimpanan sementara yang dirancang khusus untuk membawa data berukuran besar. Keunggulan utamanya: data hanya disimpan di chain selama sekitar 18 hari, lalu dihapus secara otomatis oleh node sehingga tidak menambah beban status Ethereum secara permanen. Inovasi ini memangkas biaya transaksi Layer 2 hingga lebih dari 90%, menandai masuknya Ethereum ke era aplikasi berbiaya rendah.

Upgrade Fusaka pada Desember 2025 kemudian memperkenalkan PeerDAS (pengambilan sampel ketersediaan data peer-to-peer), yang meningkatkan kapasitas data Blob sekitar satu orde besaran lagi dan semakin menurunkan biaya Layer 2.

6 Ethereum Virtual Machine

Protokol Ethereum sendiri hanya bertujuan untuk memastikan mesin status khusus ini terus berjalan secara berkesinambungan dan tidak dapat diubah.

Ethereum Virtual Machine adalah lingkungan tempat semua akun dan kontrak pintar Ethereum beroperasi. Pada blok tertentu di dalam chain, Ethereum hanya memiliki satu status “kanonis”. Ethereum Virtual Machine menetapkan aturan untuk menghitung status valid baru dari satu blok ke blok berikutnya.

Blockchain seperti Bitcoin biasanya digambarkan dengan analogi “buku besar terdistribusi”. Ethereum juga memiliki mata uang kripto asli sendiri (ETH) yang mengikuti aturan yang hampir sama, tetapi juga mendukung fungsi yang lebih canggih, yaitu kontrak pintar. Jadi, Ethereum bukan sekadar buku besar terdistribusi, melainkan lebih tepat disebut mesin status terdistribusi.

Status Ethereum adalah struktur data sangat besar yang disebut pohon MPT. Struktur ini tidak hanya menyimpan semua akun dan saldonya, tetapi juga status mesin yang dapat berubah di antara blok berdasarkan serangkaian aturan yang telah ditentukan serta menjalankan kode mesin apa pun. Aturan khusus untuk mengubah status di dalam blok ditetapkan oleh EVM.

EVM beroperasi sebagai mesin tumpukan dengan kedalaman 1024 item. Setiap item berupa kata 256 bit; kriptografi 256 bit dipilih demi kemudahan penggunaan.

EVM memiliki memori yang menyimpan entri sebagai larik byte beralamat kata (word-addressed byte arrays). Memori bersifat volatil dan tidak bertahan di antara transaksi.

EVM juga memiliki penyimpanan. Tidak seperti memori, penyimpanan bersifat nonvolatil dan dipertahankan sebagai bagian dari status sistem. EVM menyimpan kode program secara terpisah dalam ROM virtual, yang hanya dapat diakses melalui instruksi khusus. Inilah yang membedakan EVM dari arsitektur von Neumann yang lazim, tempat kode program disimpan di dalam memori atau penyimpanan.

EVM juga memiliki bahasanya sendiri, yaitu bytecode EVM. Saat menulis kontrak pintar di Ethereum, programmer biasanya menggunakan bahasa tingkat tinggi seperti Solidity. Kode tersebut kemudian dapat dikompilasi menjadi bytecode EVM agar dapat dipahami dan dijalankan oleh EVM.

Bytecode kontrak pintar yang telah dikompilasi dijalankan sebagai serangkaian opcode EVM, yang melakukan operasi tumpukan standar seperti XOR, AND, ADD, SUB, dan sebagainya. EVM juga menerapkan sejumlah operasi tumpukan khusus blockchain, seperti ADDRESS, BALANCE, dan BLOCKHASH.

Meskipun EVM sangat sukses, format bytecode dasarnya hampir tidak mengalami optimasi struktural sejak awal kemunculannya. Akibatnya, penguraian kode kurang efisien dan rentan menimbulkan kerentanan. Para pengembang Ethereum tengah mengupayakan upgrade EOF (EVM Object Format), yang akan memperkenalkan struktur “wadah” yang jelas untuk kontrak pintar serta memisahkan segmen kode, segmen data, dan informasi tipe. Upgrade ini tidak hanya dapat mengurangi biaya Gas untuk penerapan kontrak, tetapi juga menghilangkan secara mendasar jenis kerentanan tertentu yang berkaitan dengan lompatan, sehingga audit menjadi lebih aman. Namun, karena cakupannya luas, EOF yang semula direncanakan meluncur bersama upgrade Fusaka pada akhir 2025 akhirnya dikeluarkan karena risiko jadwal. Hingga 2026, EOF belum diluncurkan dalam hard fork mana pun.

Selain itu, meskipun Solidity masih menjadi bahasa utama, ekosistem EVM semakin beragam. Bahasa Vyper yang mengutamakan keamanan serta eksplorasi penggunaan arsitektur RISC-V untuk menjalankan kode hasil kompilasi Rust/C++ terus memperluas cakupan Ethereum Virtual Machine.

Ikuti saya agar tidak ketinggalan ringkasan pasar berikutnya.