Keamanan Alamat EVM: Ethereum, Base, Polygon, dan Lainnya
Daftar Isi
Ethereum Virtual Machine telah menjadi platform smart contract dominan, dan format alamatnya meluas jauh melampaui Ethereum itu sendiri. Polygon, Arbitrum, Optimism, Base, BNB Chain, dan Avalanche semuanya berbagi sistem alamat yang sama. Universalitas ini kuat tetapi memperkenalkan nuansa keamanan yang perlu dipahami setiap pengguna.
Panduan ini mencakup cara kerja alamat EVM di balik layar, mengapa satu private key mengontrol aset di setiap chain EVM, bagaimana checksum melindungi Anda dari typo, dan kesalahan paling umum yang menyebabkan kehilangan dana.
Alamat EVM Bersifat Universal¶
Setiap blockchain yang kompatibel EVM menggunakan format alamat yang sama: string heksadesimal 40 karakter dengan awalan 0x. Alamat 0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18 valid di Ethereum, Polygon, Arbitrum, Optimism, Base, BNB Chain, Avalanche, dan setiap chain EVM lain yang ada atau akan ada.
Universalitas ini bukan kebetulan. Ini adalah konsekuensi langsung dari cara alamat EVM diturunkan. Prosesnya bekerja sama di mana-mana:
- Hasilkan private key acak 256 bit.
- Hitung public key menggunakan kurva eliptik secp256k1.
- Ambil hash Keccak-256 dari public key (tidak termasuk byte awalan 0x04).
- Simpan 20 byte terakhir (40 karakter hex) dari hash.
- Tambahkan awalan
0x.
Karena setiap chain EVM mengikuti derivasi yang persis sama, private key yang sama selalu menghasilkan alamat yang sama di setiap chain. Tidak ada elemen spesifik chain dalam alamat itu sendiri. Alamat murni merupakan fungsi dari private key dan kurva secp256k1.
Ini berbeda secara fundamental dari cara alamat Bitcoin bekerja. Bitcoin memiliki beberapa format alamat (Bech32, Base58Check, dll.) yang mengenkode version byte dan data spesifik chain. Alamat Bitcoin mainnet berbeda secara visual dan struktural dari alamat testnet. Chain EVM tidak memiliki perbedaan semacam itu, yang sekaligus merupakan kenyamanan dan sumber risiko.
Satu Private Key, Banyak Chain¶
Ketika Anda membuat dompet Ethereum, baik melalui MetaMask, dompet perangkat keras, atau Ethereum Seed Phrase Generator SafeSeed, seed phrase Anda memberi akses ke alamat yang sama di setiap chain EVM secara bersamaan. Ini adalah fitur, tetapi memiliki implikasi keamanan penting.
Keuntungan: Anda hanya perlu mengamankan satu seed phrase atau private key untuk mengontrol aset di semua chain EVM. Tidak perlu dompet terpisah untuk Polygon, Arbitrum, atau Base. Memahami seed phrase vs private key membantu memperjelas hubungan ini.
Risiko: Jika private key Anda dikompromikan, penyerang mendapat akses ke dana Anda di setiap chain EVM sekaligus. Satu seed phrase yang bocor berarti kehilangan ETH di Ethereum, MATIC di Polygon, ARB di Arbitrum, dan token apapun di chain EVM manapun di mana alamat itu menyimpan nilai. Radius ledakan dari kompromi jauh lebih besar dibanding kunci spesifik chain.
Model kunci bersama ini juga berarti derivation path penting. Derivation path Ethereum standar yang didefinisikan BIP44 adalah m/44'/60'/0'/0/0. Kebanyakan dompet menggunakan path yang sama untuk semua chain EVM, itulah mengapa alamat Anda tetap konsisten di seluruh jaringan. Jika Anda menggunakan derivation path non-standar, pastikan untuk mendokumentasikannya. Pembahasan mendalam tentang HD wallet dan derivation path mencakup detail teknisnya.
Implikasi praktis untuk pembuatan kunci: Ketika Anda membuat dompet Ethereum, Anda membuat dompet untuk seluruh ekosistem EVM. Perlakukan keamanan dompet itu sesuai. Gunakan entropy yang tepat dari sumber yang aman secara kriptografi, buat secara offline jika menyimpan nilai signifikan, dan ikuti praktik terbaik cold storage.
Checksum Huruf Campuran EIP-55¶
Salah satu aspek yang lebih halus dari keamanan alamat EVM adalah mekanisme checksum. Alamat Ethereum adalah heksadesimal, menggunakan karakter 0-9 dan a-f. Karena hex tidak sensitif huruf besar-kecil, 0xab12cd dan 0xAB12CD mewakili alamat yang sama. Ini menciptakan masalah: tidak ada cara bawaan untuk mendeteksi typo.
EIP-55, ditulis oleh Vitalik Buterin, menyelesaikan ini dengan mengenkode checksum dalam kapitalisasi alamat. Cara kerjanya:
- Ambil alamat huruf kecil (tanpa awalan
0x). - Hitung hash Keccak-256 dari alamat huruf kecil ini.
- Untuk setiap karakter di alamat: jika nibble yang sesuai dalam hash adalah 8 atau lebih tinggi, kapitalisasi karakter tersebut. Jika tidak, biarkan huruf kecil.
Hasilnya adalah alamat seperti 0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed di mana pola kapitalisasi berfungsi sebagai checksum. Jika Anda mengubah karakter apapun, pola kapitalisasi tidak akan lagi cocok, dan dompet yang mengimplementasikan dengan benar akan menandai alamat sebagai tidak valid.
Ini penting untuk keamanan karena:
- Malware pembajakan clipboard dapat mengganti alamat yang disalin dengan alamat penyerang. Jika alamat pengganti memiliki checksum yang salah, dompet yang baik akan memperingatkan Anda.
- Kesalahan transkripsi manual (memasukkan alamat secara manual) tertangkap sebelum dana dikirim ke lubang hitam.
- Serangan peracunan alamat, di mana penyerang mengirim transaksi kecil dari alamat yang mirip, sebagian dimitigasi karena checksum membuat lebih sulit menemukan alamat tabrakan.
Anda dapat memvalidasi bahwa alamat EVM memiliki checksum EIP-55 yang benar menggunakan Ethereum Address Validator SafeSeed. Selalu verifikasi alamat sebelum mengirim transaksi yang signifikan. Untuk pandangan lebih luas tentang perbedaan format alamat antar chain, lihat panduan tentang format alamat kripto.
Catatan kritis: Checksum EIP-55 ditegakkan oleh dompet, bukan oleh blockchain itu sendiri. Protokol Ethereum menerima transaksi ke alamat 20 byte manapun terlepas dari kapitalisasi. Jika perangkat lunak dompet Anda tidak mengimplementasikan validasi EIP-55, Anda kehilangan perlindungan ini. Selalu gunakan perangkat lunak dompet yang terawat dengan baik yang melakukan verifikasi checksum.
Kesalahan Cross-L2 Umum¶
Proliferasi jaringan Layer 2 dan sidechain EVM telah memperkenalkan kategori baru kesalahan pengguna. Memahami ini dapat menyelamatkan Anda dari kesalahan yang mahal.
Mengirim token di jaringan yang salah¶
Kesalahan paling umum: Anda bermaksud mengirim USDC di Arbitrum tetapi tidak sengaja mengirimnya di Ethereum mainnet (membayar biaya gas yang jauh lebih tinggi), atau lebih buruk, Anda mengirim ke alamat di jaringan di mana penerima tidak memiliki akses. Karena alamat identik di seluruh chain, dompet tidak selalu dapat mendeteksi kesalahan ini.
Pencegahan: Selalu konfirmasi pemilih jaringan di dompet Anda sebelum menandatangani transaksi. Periksa ulang chain ID, yang merupakan pengenal teknis yang membedakan jaringan EVM satu sama lain.
Mengirim ke alamat kontrak yang tidak ada di chain target¶
Smart contract yang di-deploy di Ethereum pada alamat 0xABC... mungkin tidak ada di Polygon. Jika Anda mengirim token langsung ke alamat kontrak di chain di mana tidak ada kontrak yang di-deploy, token Anda pergi ke alamat milik eksternal (EOA) yang tidak dikontrol siapa pun. Mereka hilang secara permanen.
Pencegahan: Jika mengirim ke kontrak, verifikasi bahwa kontrak di-deploy di chain spesifik yang Anda gunakan. Block explorer seperti Etherscan, Polygonscan, dan Arbiscan masing-masing mencakup chain-nya.
Kerugian terkait bridge¶
Memindahkan aset antar chain EVM memerlukan bridge, dan bridge telah menjadi sumber beberapa eksploitasi terbesar dalam sejarah kripto. Format alamat bersama membuat bridging terasa mulus, tetapi mekanisme di bawahnya sangat tidak sederhana.
Pencegahan: Gunakan bridge yang mapan dengan rekam jejak keamanan yang kuat. Jangan pernah melakukan bridge melalui tautan dalam email, DM, atau website yang tidak familiar. Verifikasi alamat kontrak bridge melalui dokumentasi resmi.
Serangan peracunan alamat¶
Penyerang memantau blockchain untuk transaksi Anda, lalu mengirim jumlah kecil dari alamat yang secara visual menyerupai milik Anda (cocok di beberapa karakter pertama dan terakhir). Kemudian, saat Anda menyalin alamat dari riwayat transaksi, Anda mungkin secara tidak sengaja menyalin alamat mirip milik penyerang.
Pencegahan: Jangan pernah menyalin alamat dari riwayat transaksi. Selalu gunakan buku alamat atau buat salinan baru dari dompet Anda. Validasi alamat apapun sebelum mengirim dengan alat seperti Ethereum Address Validator SafeSeed. Waspadai terutama alamat yang hanya cocok di empat karakter pertama dan terakhir. Memahami penipuan kripto umum yang melibatkan seed phrase membantu Anda mengenali pola serangan yang lebih luas.
Mengabaikan peringatan EIP-55¶
Beberapa pengguna, terutama yang berinteraksi dengan protokol DeFi melalui alat command-line atau transaksi mentah, melewati validasi checksum. Ini menghilangkan jaring pengaman kritis.
Pencegahan: Selalu gunakan alamat yang sudah di-checksum. Jika alat memberi Anda alamat huruf kecil, konversikan ke format ber-checksum sebelum menggunakannya.
Membuat Alamat EVM dengan Aman¶
Mengingat satu alamat EVM mengontrol aset di beberapa chain yang berpotensi bernilai signifikan, proses pembuatan layak mendapat perhatian serius.
Gunakan keacakan yang aman secara kriptografi¶
Keamanan setiap alamat EVM dimulai dari kualitas angka acak yang digunakan untuk menghasilkan private key. Ethereum Private Key Generator SafeSeed menggunakan Web Crypto API untuk mengambil keacakan dari generator angka acak kriptografi sistem operasi Anda, semuanya berjalan sepenuhnya di browser tanpa ada yang dikirim ke server manapun. Pelajari lebih lanjut tentang apa arti entropy dalam kripto dan mengapa itu penting untuk pembuatan kunci.
Buat offline untuk dompet bernilai tinggi¶
Jika Anda membuat dompet yang akan menyimpan nilai signifikan di beberapa chain EVM, buatlah secara offline. Unduh SafeSeed, putuskan internet, buat seed phrase, catat secara fisik, dan tutup browser sebelum terhubung kembali. Panduan langkah demi langkah untuk membuat dompet Ethereum secara offline memandu seluruh proses.
Turunkan alamat dengan benar¶
Saat membuat dari seed phrase BIP39, pastikan Anda menggunakan derivation path yang benar untuk Ethereum: m/44'/60'/0'/0/0. Menggunakan path yang salah akan menghasilkan alamat yang valid, tetapi yang mungkin tidak ditemukan perangkat lunak dompet Anda saat memulihkan dari seed phrase.
Validasi sebelum mendanai¶
Sebelum mengirim kripto apapun ke alamat yang baru dibuat, verifikasi dengan Ethereum Address Validator SafeSeed. Konfirmasi checksum EIP-55 benar. Pertimbangkan mengirim transaksi uji kecil terlebih dahulu, lalu verifikasi penerimaan sebelum mentransfer jumlah yang lebih besar.
Dokumentasikan setup Anda¶
Catat perangkat lunak dompet, derivation path, dan jaringan mana yang Anda gunakan. Jika Anda menyimpan aset di beberapa chain EVM dari seed phrase yang sama, dokumentasikan chain mana menyimpan aset apa. Informasi ini kritis untuk ahli waris atau untuk pemulihan Anda sendiri jika perlu memulihkan akses bertahun-tahun kemudian.
Model alamat bersama di seluruh chain EVM adalah salah satu kenyamanan terbesar ekosistem. Ini juga merupakan titik kegagalan terkonsentrasi. Dengan memahami cara kerjanya, menghormati validasi checksum, menghindari kesalahan cross-chain umum, dan membuat kunci Anda secara aman, Anda dapat memanfaatkan sepenuhnya dunia EVM multi-chain tanpa mengekspos diri pada risiko yang tidak perlu.