Belajar Solidity - Layer 2, Pectra & EVM Modern
Episode 20 of 23

Belajar Solidity - Layer 2, Pectra & EVM Modern

Menjelajahi ekosistem Layer 2: perbandingan optimistic rollup seperti Optimism dan Base dengan ZK rollup seperti zkSync dan Polygon zkEVM, konsep bridge dan rollup, serta evolusi EVM melalui upgrade Pectra, Fusaka, dan Amsterdam dengan EIP-7843 block.slotnum

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Setelah di episode 19 kalian menguasai optimasi gas, pada episode ini kita memperluas pandangan: di mana kontrak kalian akan benar-benar berjalan — bukan hanya mainnet Ethereum, tetapi ekosistem Layer 2 (L2) yang kini menjadi rumah mayoritas aktivitas EVM.

Mengapa episode ini penting? Karena biaya transaksi mainnet seringkali terlalu mahal untuk aplikasi massal. L2 memecahkan masalah ini, dan hampir semua proyek baru men-deploy ke L2 terlebih dahulu. Menjadi developer Solidity yang baik berarti memahami di mana kontrak kalian berjalan, bagaimana biayanya berbeda, dan fitur EVM baru apa saja yang tersedia.

Mengapa Layer 2 Diperlukan

Ethereum mainnet memproses sekitar belasan transaksi per detik — terlalu sedikit dan terlalu mahal untuk skala global. Layer 2 adalah jaringan di atas Ethereum yang memindahkan eksekusi transaksi keluar dari mainnet, mem-posting ringkasannya kembali ke mainnet agar tetap aman. Pengguna menikmati biaya jauh lebih rendah dengan keamanan yang mewarisi Ethereum.

100%

Optimistic vs ZK Rollup

Dua arsitektur dominan dengan filosofi berbeda:

AspekOptimistic RollupZK Rollup
Verifikasi transaksiAsumsi valid, tantangan 7 hariBukti kriptografik instan
ContohOptimism, Base, ArbitrumzkSync Era, Polygon zkEVM, Scroll
Kecepatan finalityLambat (jendela challenge)Cepat (bukti ZK diverifikasi)
Kompatibilitas EVMSangat tinggi (sama seperti mainnet)Tinggi, kadang butuh penyesuaian
BiayaSangat murahSangat murah
Kasus penggunaanMayoritas DApp umumYang butuh finality cepat / privasi

Optimistic rollup mengasumsikan semua transaksi valid dan memberikan jendela waktu (biasanya 7 hari) bagi siapa pun untuk menantang transaksi curang — inilah mengapa penarikan dana dari L2 ke L1 bisa memakan waktu.

ZK rollup membuktikan validitas seluruh batch dengan zero-knowledge proof — tidak perlu jendela challenge, finality lebih cepat. Trade-off-nya: EVM zk lebih rumit, dan beberapa fitur Solidity butuh kompilasi khusus.

Bridge dan Semantik Rollup

Bridge menghubungkan L1 dan L2 — memungkinkan aset pindah antar lapisan:

  • Deposit: aset dikunci di L1, versi minted muncul di L2.
  • Withdrawal: aset di-burn di L2, versi asli dirilis di L1 (setelah jendela challenge untuk optimistic).

Semantik penting untuk developer: alamat kontrak kalian di L2 berbeda dari L1, saldo tidak otomatis sinkron, dan "harga" aset sama karena didukung oleh bridge. Jangan pernah men-deploy kontrak ke L2 tanpa menguji bridge dan fee structure-nya.

Note

Meski kontrak Solidity kalian sering bisa di-deploy tanpa perubahan ke L2, jangan abaikan detail: gas price yang jauh lebih rendah, block time yang berbeda, dan behavior tx.gasprice/block.basefee yang bisa bergeser. Selalu jalankan suite test di L2 tujuan.

Upgrade EVM: Pectra, Fusaka, dan Amsterdam

Ethereum terus berevolusi — dan setiap upgrade EVM memengaruhi kontrak kalian:

  • Pectra — upgrade yang menjadi dasar maintenance rilis Solidity 0.8.30.
  • Fusaka — didukung mulai 0.8.31; memperkenalkan EIP-7843: block.slotnum, dan menjadikan EVM osaka sebagai default.
  • Amsterdam — upgrade berikutnya di mana EIP-7843 block.slotnum tersedia penuh untuk dipakai.

block.slotnum adalah angka slot pada jaringan berbasis proof-of-stake — melengkapi block.number dan block.timestamp yang sudah ada. Memakai slot (daripada block number) memberi resolusi lebih akurat untuk logika yang bergantung waktu/urutan.

solidity
// Tersedia penuh setelah Amsterdam
uint256 public currentSlot = block.slotnum;
 
// Kompatibel lintas versi: tetap berjalan sebelum slotnum tersedia
uint256 public currentBlock = block.number;

Sebagai developer, pantau default EVM version kompiler: kontrak baru di 0.8.31+ dikompilasi menargetkan osaka secara default. Untuk kompatibilitas lintas chain yang belum menerapkan upgrade terbaru, kalian bisa menetapkan evmVersion secara eksplisit di konfigurasi.

hardhat.config.js
module.exports = {
  solidity: {
    version: "0.8.36",
    settings: { evmVersion: "osaka" },
  },
};

Kapan Men-deploy ke L2

Pertimbangan praktis:

  • L2 untuk produk massal — game, NFT marketplace, social, DeFi ritel: biaya rendah, UX nyaman.
  • Mainnet untuk aset dan settlement — kontrak sistemik bernilai besar yang butuh keamanan L1 penuh.
  • Gunakan SDK/alur bridge resmi — jangan menulis bridge sendiri kecuali kalian memahami risikonya.

Peta L2 Populer

Untuk mempermudah orientasi, berikut peta L2 yang paling sering dipakai developer:

L2TipeSorotan
ArbitrumOptimisticEkosistem DeFi terbesar di L2
OptimismOptimisticOP Stack, banyak fork memakainya
BaseOptimisticDibangun Coinbase di atas OP Stack
zkSync EraZKEVM zk, native account abstraction
Polygon zkEVMZKKompatibilitas EVM tinggi

Semua chain di atas mengeksekusi Solidity — kontrak kalian biasanya bisa di-deploy tanpa perubahan berarti. Perbedaannya ada di detail: gas price, block time, ketersediaan tooling, dan dukungan standar. Sebelum memilih L2 untuk proyek, uji suite test kalian di chain tersebut dan bandingkan biaya deploy serta per transaksi.

Penutup

Inti yang harus dibawa pulang:

  • L2 memindahkan eksekusi keluar mainnet demi biaya rendah dengan keamanan warisan L1.
  • Optimistic rollup (Optimism/Base/Arbitrum) vs ZK rollup (zkSync/Polygon zkEVM) — beda di mekanisme verifikasi dan finality.
  • Bridge menghubungkan L1-L2: deposit kunci/mint, withdrawal burn/lepas.
  • EVM terus berevolusi: Pectra → Fusaka → Amsterdam; EIP-7843 block.slotnum tersedia penuh di Amsterdam, didukung sejak 0.8.31 dengan default EVM osaka.

Di episode 21 selanjutnya kita akan membahas advanced: assembly (Yul) & meta-programming — inline assembly untuk level opcode, optimasi storage read/write, pola Diamond EIP-2535, account abstraction ERC-4337, dan token-bound accounts ERC-6551. Sampai jumpa di episode 21!