Kamus Crypto

Apa Itu Keystore File? Cara Lama Simpan Private Key Ethereum

Keystore file adalah private key Ethereum terenkripsi dalam format JSON. Populer di era MetaMask awal, tapi lebih rentan dibanding seed phrase modern.

WalletKeamananEthereum

Keystore file adalah file JSON berisi private key Ethereum yang dienkripsi dengan password — format ini distandarisasi Ethereum Foundation pada 2015 lewat spesifikasi Web3 Secret Storage Definition dan sempat menjadi cara utama menyimpan akses wallet sebelum era MetaMask modern.

Format keystore file (disebut juga UTC/JSON file) menggunakan algoritma enkripsi AES-128-CTR dengan kunci turunan dari password via scrypt atau PBKDF2 — standar yang sama dipakai Geth, Parity, dan MetaMask versi 2017–2020.

Cara Kerja Keystore File

Saat membuat keystore file, aplikasi wallet melakukan tiga langkah:

  1. Derivasi kunci dari password — password yang kamu masukkan diproses lewat fungsi KDF (key derivation function) seperti scrypt atau PBKDF2 untuk menghasilkan kunci enkripsi. Proses ini sengaja dibuat lambat (scrypt default: N=262144 iterasi) agar brute force lebih sulit.
  2. Enkripsi private key — private key asli dienkripsi menggunakan kunci dari langkah pertama dengan algoritma AES-128-CTR.
  3. Penyimpanan dalam JSON — hasilnya disimpan dalam file teks berformat JSON yang berisi ciphertext, parameter KDF, IV (initialization vector), dan MAC untuk verifikasi integritas.

Untuk membuka file, proses dibalik: masukkan password → derivasi kunci → dekripsi → dapat private key asli.

Isi file terlihat seperti ini (disederhanakan):

{
  "version": 3,
  "crypto": {
    "cipher": "aes-128-ctr",
    "kdf": "scrypt",
    "kdfparams": { "n": 262144, "r": 8, "p": 1 },
    "ciphertext": "...",
    "mac": "..."
  }
}

Mengapa Keystore File Dipakai di Era Awal

Sebelum BIP-39 (seed phrase 12-24 kata) menjadi standar universal, tidak ada cara mudah untuk merepresentasikan private key yang bisa diingat manusia. Pilihan yang ada:

  • Raw private key — string hex 64 karakter, mudah salah salin, tidak ada enkripsi bawaan
  • Keystore file — private key terenkripsi, bisa disimpan di USB atau email, dibuka dengan password yang sudah diingat

MetaMask antara 2016–2019 masih menawarkan opsi ekspor/impor keystore file sebagai backup utama. Geth (client Ethereum resmi) sampai sekarang masih menggunakan direktori keystore/ untuk menyimpan akun dalam format ini.

Kelemahan Keystore File Dibanding Standar Modern

Keystore file punya tiga kelemahan struktural yang membuatnya ditinggalkan:

1. Keamanan bergantung 100% pada password Jika password lemah (misalnya “crypto123”), file bisa dibobol dengan serangan kamus dalam hitungan menit menggunakan tools seperti hashcat. Tidak ada lapisan keamanan lain.

2. Satu file = satu akun Keystore file hanya menyimpan satu private key untuk satu alamat. Seed phrase modern bisa menurunkan ribuan akun dari satu frasa lewat HD wallet (BIP-32/BIP-44).

3. Tidak ada standar recovery lintas wallet File keystore dari Geth bisa tidak kompatibel dengan format dari wallet lain. Seed phrase BIP-39 sebaliknya bisa dipakai di MetaMask, Ledger, hardware wallet mana saja.

AspekKeystore FileSeed Phrase (BIP-39)
Jumlah akun1 per fileRibuan dari 1 frasa
Keamanan tanpa password kuatRendahTinggi (entropi 128–256 bit)
Recovery lintas walletTerbatasUniversal
Standar industri saat iniLegacyYa

⚠️ Jika kamu masih menyimpan dana di wallet yang hanya bisa diakses lewat keystore file, segera pindahkan ke wallet baru dengan seed phrase dan simpan frasa tersebut secara offline di dua lokasi terpisah.

Risiko Tambahan yang Perlu Diketahui

Phishing keystore — scammer sering membuat situs palsu yang meminta upload keystore file + password dengan dalih “import wallet” atau “verify wallet”. Begitu keduanya diunggah, akun langsung dikuras. Tidak pernah ada alasan legitimate untuk upload keystore file ke website.

Penyimpanan tidak aman — karena berbentuk file teks biasa, banyak pengguna era awal menyimpan keystore file di email, Google Drive, atau Telegram. Jika layanan tersebut dikompromikan, file bisa dicuri dan dibrute-force secara offline tanpa batasan percobaan.

Tidak ada multi-device sync aman — berbeda dari password manager modern yang punya enkripsi end-to-end untuk sync, menyinkronkan keystore file antar perangkat memaksa kamu menyimpannya di cloud yang tidak kamu kendalikan sepenuhnya.

Kesimpulan

Keystore file adalah solusi penyimpanan private key dari era awal Ethereum yang sudah digantikan oleh standar seed phrase BIP-39. Meski secara teknis masih berfungsi, keamanannya bergantung sepenuhnya pada kekuatan password dan rentan terhadap phishing maupun brute force. Jika kamu menemukan keystore file lama di komputer, prioritas pertama adalah periksa apakah masih ada dana di alamat terkait, lalu pindahkan ke wallet modern dengan seed phrase atau hardware wallet sebelum file tersebut jatuh ke tangan yang salah.

💡 Mau belajar lebih dalam? Kelas WhaleX mengajarkan strategy dan eksekusi nyata, bukan hanya teori. Lihat kelas tersedia →

Belajar DeFi Langsung — Bukan Hanya Teori

WhaleX Masterclass 2 Hari: dari setup wallet sampai LP DeFi aktif menghasilkan. Praktik langsung, dipandu mentor berpengalaman.

Lihat Jadwal Kelas →

Pertanyaan Umum

Apa itu keystore file?

Keystore file adalah file JSON yang menyimpan private key Ethereum dalam bentuk terenkripsi menggunakan password. Format ini distandarisasi oleh Ethereum Foundation sejak 2015 dan dipakai di MetaMask versi awal sebelum seed phrase menjadi standar utama.

Apakah keystore file lebih aman dari seed phrase?

Tidak. Keystore file lebih rentan karena keamanannya sepenuhnya bergantung pada kekuatan password — jika password lemah, brute force bisa membobol file dalam hitungan jam. Seed phrase 12-24 kata memiliki entropi jauh lebih tinggi dan menjadi standar industri sejak BIP-39 diadopsi luas.

Bagaimana cara membuka keystore file jika lupa password?

Tidak ada cara memulihkan keystore file jika password hilang. Tidak ada reset, tidak ada recovery — private key di dalamnya terkunci permanen. Ini berbeda dari seed phrase yang bisa dipakai langsung tanpa password tambahan.