Apa Itu Kesalahan Checksum? Panduan Deteksi Kriptografi

Apa Itu Kesalahan Checksum? Panduan Deteksi Kriptografi

Kesalahan checksum berarti data gagal dalam uji matematika. Dalam kripto, uji tersebut jauh lebih lemah daripada yang diasumsikan sebagian besar pengguna. EIP-55 Ethereum mendeteksi sekitar satu kesalahan ketik dalam empat ribu. Base58Check Bitcoin sekitar seribu kali lebih kuat. Bech32 bahkan lebih kuat lagi. Namun, tidak satu pun dari checksum tersebut melindungi dompet dari serangan yang benar-benar menguras $713 juta dari dompet pribadi pada tahun 2025, karena alamat berbahaya yang tersimpan di clipboard atau riwayat transaksi itu sendiri merupakan string yang valid dan lolos uji checksum. Inilah yang dimaksud dengan kesalahan checksum, mengapa dompet kripto menampilkannya, dan mengapa lolos uji tanpa kesalahan bukanlah bukti keamanan.

Jawaban singkat tentang kesalahan checksum dalam kriptografi

Kesalahan checksum memberi tahu pengguna bahwa alamat, file, atau frasa kunci tidak sesuai dengan uji integritas bawaannya. Dompet, bursa, atau penginstal menolak untuk bertindak karena ada bit yang berubah, karakter yang salah diketik, atau data yang telah dirusak. Dalam kripto, kesalahan ini mendeteksi kesalahan ketik dan kerusakan yang tidak disengaja. Namun, kesalahan ini tidak mendeteksi alamat yang diketik dengan sempurna yang dikendalikan oleh penyerang. Kerugian dompet terbesar yang tercatat pada tahun 2025, sebesar $50 juta dalam USDT pada bulan Desember, berasal dari korban yang menyalin alamat dengan checksum yang sepenuhnya valid, dan alamat tersebut ternyata milik seorang penipu.

Apa sebenarnya checksum itu (dan bukan checksum)

Anggaplah checksum sebagai tanda terima kecil untuk paket yang jauh lebih besar, sebuah blok data yang di-hash menjadi beberapa byte oleh perhitungan yang diketahui. Pengirim melampirkan checksum asli. Penerima menjalankan perhitungan yang sama, mendapatkan checksum baru, dan membandingkannya. Kecocokan berarti integritas data terjaga. Ketidakcocokan berarti kerusakan data di suatu tempat: bit yang terbalik di RAM, unduhan terputus lebih awal, karakter yang salah ketik. Ketidakcocokan inilah yang ditandai oleh dompet dan penginstal sebagai kesalahan checksum. Nilai checksum yang dihitung gagal cocok dengan nilai yang diharapkan yang dilampirkan pada data asli (nilai tersimpan yang dipublikasikan pengirim). Tidak ada kesalahan data yang lolos, karena deteksi kesalahan dasar dan pemeriksaan integritas telah dijalankan.

Secara mekanis, checksum klasik adalah aritmatika, bukan kriptografi. Varian paling sederhana membagi data menjadi kata-kata dan menjalankan penjumlahan komplemen satu (trik "komplemen 1" yang digunakan dalam checksum TCP/IP internet yang terkenal sejak tahun 1988). Yang sedikit lebih canggih adalah paritas longitudinal, algoritma Fletcher, dan CRC (pemeriksaan redundansi siklik), semuanya merupakan kerabat dekat satu sama lain. Pemeriksaan redundansi siklik cepat dan baik untuk kesalahan transmisi. Untuk integritas file modern, pilihan dominan adalah Adler-32 (cepat, tanpa kriptografi) atau MD5 atau SHA (lebih lambat, jauh lebih kuat). Alat perangkat lunak seperti `sha256sum`, `md5sum`, dan HashCheck adalah cara sebagian besar pengguna menjalankan verifikasi.

Inilah batasannya. Sebuah checksum dapat membuktikan bahwa data tidak sengaja rusak atau diubah pada tingkat byte. Tidak lebih dari itu. Checksum tidak dapat membuktikan siapa yang membuat data tersebut. SHA-256, sebuah hash kriptografi, jauh lebih kuat daripada CRC. Namun, SHA-256 tetap tidak membuktikan kepemilikan; untuk itu penerbit menandatangani hash dengan kunci pribadi. Pengguna kripto seringkali mencampuradukkan keduanya. "Alamat lolos validasi checksum" tidak sama dengan "alamat tersebut milik orang yang tepat." Siapa pun dapat membuat alamat Ethereum atau Bitcoin yang valid. Hanya pemegang kunci pribadi yang mengontrol dana. Verifikasi checksum mengkonfirmasi bahwa alamat tersebut terbentuk dengan benar. Dompet siapa yang ditunjuknya? Itu pertanyaan yang berbeda, dengan jawaban yang berbeda pula.

Kesalahan Checksum

Cara kerja algoritma checksum kriptografi: EIP-55, Base58Check, Bech32

Tiga skema nyata mendominasi pasar kripto ritel, dan masing-masing dirancang dengan prioritas yang berbeda.

EIP-55 adalah checksum huruf besar-kecil campuran Ethereum. Vitalik Buterin dan Alex Van de Sande mengusulkannya pada 14 Januari 2016. Cara kerjanya adalah dengan mengubah alamat menjadi huruf kecil, melakukan hashing pada string huruf kecil tersebut dengan Keccak-256, dan kemudian mengubah huruf heksadesimal (A–F) menjadi huruf besar sesuai dengan bit dari hash tersebut. Hanya 15 huruf heksadesimal dalam alamat tipikal yang dapat diubah hurufnya, sehingga skema ini memiliki sekitar 15 bit checksum efektif. EIP-1191, yang diusulkan pada Maret 2018, memperluas EIP-55 dengan ID rantai sehingga checksum alamat di Ethereum dan di rantai fork seperti Rootstock tidak bertabrakan.

Base58Check adalah skema lama Bitcoin. Skema ini menambahkan checksum 4 byte ke akhir alamat yang dikodekan, yang dihitung sebagai 4 byte pertama dari double-SHA-256 dari byte versi ditambah payload. Awalan "1" pada alamat P2PKH sesuai dengan byte versi 0x00; awalan "3" pada alamat P2SH sesuai dengan 0x05. Alfabet Base58 sendiri menghilangkan angka 0, O, I, dan l yang membingungkan secara visual. Implementasi logika checksum untuk Base58Check adalah satu panggilan SHA-256 diikuti oleh perbandingan 4 byte.

Bech32 (BIP-173) adalah skema alamat SegWit dari Pieter Wuille dan Greg Maxwell, tertanggal 2017. Kode BCH 6 karakternya menjamin deteksi setiap kesalahan yang memengaruhi hingga empat karakter dan menjaga tingkat kesalahan yang tidak terdeteksi di bawah satu per satu miliar untuk kerusakan yang lebih panjang. Temuan halus tahun 2020 (bahwa memasukkan atau menghapus 'q' sebelum 'p' terakhir dapat mempertahankan checksum) memotivasi BIP-350 Bech32m, yang sekarang digunakan oleh Taproot (versi saksi 1).

Skema Tahun Contoh alamat Periksa ukuran Deteksi kesalahan ketik standar
EIP-55 / EIP-1191 Tahun 2016/2018 `0xAbCd...EfGh` ~15 bit ~99,97% (1 dari 4.000 kesalahan)
Base58Check (P2PKH) Tahun 2009 `1A1zP1...` 32 bit ~99,99999998%
Base58Check (P2SH) Tahun 2012 `3J98t1...` 32 bit ~99,99999998%
Bech32 (SegWit v0) Tahun 2017 `bc1q...` ~30 bit ≥99,999999999% pada kesalahan 4 karakter
Bech32m (Taproot) Tahun 2020 `bc1p...` ~30 bit sama, memperbaiki penyisipan qp

Tabel tersebut berisi dua angka terpenting dalam artikel ini. Anggaplah angka-angka tersebut sebagai anggaran desain, bukan jaminan keamanan.

Mengapa EIP-55 hanya mendeteksi 1 kesalahan ketik dari 4.000

Spesifikasi EIP-55 secara eksplisit menyebutkan tingkat kegagalan: probabilitas bahwa kesalahan ketik acak dalam alamat Ethereum lolos pemeriksaan checksum adalah 0,0247 persen, atau sekitar satu dari 4.049. Itu bukan bug. Itulah yang didapatkan dari 15 bit pemeriksaan efektif. Skema ini merupakan modifikasi tahun 2016, dirancang agar kompatibel dengan format alamat heksadesimal 40 karakter yang sudah ada. Kompatibilitas mengorbankan kekuatan deteksi.

Untuk alur dompet praktis, biasanya itu tidak masalah. Pengguna yang mengetik atau menempelkan alamat sekali saja kemungkinan besar akan ketahuan jika mereka melakukan kesalahan. Pengguna yang menempelkan alamat yang sama yang telah dimanipulasi sepuluh kali berturut-turut akan lolos pemeriksaan checksum setiap kali, karena alamat tersebut valid. Perbedaan ribuan kali lipat dengan Base58Check Bitcoin, dan langkah selanjutnya ke Bech32, adalah alasan mengapa UX dompet yang serius memperlakukan verifikasi alamat Ethereum sebagai tanggung jawab pengguna, bukan protokol.

Kesalahan checksum di luar kriptografi: WinRAR, BIOS, firmware, hard drive

Kebanyakan orang yang mengetik "checksum error" di Google bukanlah pengguna kripto. Mereka sedang menatap WinRAR, atau layar boot PC yang macet, atau NAS yang bermasalah. Kosakata yang sama. Taruhannya sangat berbeda.

WinRAR adalah contoh klasiknya. Anda mengunduh file .rar, mengekstraknya, lalu muncul pop-up ketidakcocokan CRC. Arsip tersebut rusak. Biasanya penyebabnya sederhana: unduhan terputus, peralihan Wi-Fi yang tidak stabil, sektor yang rusak pada disk, atau terkadang malware yang menyentuh file saat proses pengunduhan. Unduh ulang dari sumbernya. Jalankan CHKDSK. Jika Anda benar-benar harus menyelamatkan apa yang ada di sana, opsi "simpan file yang rusak" di WinRAR akan mengekstrak salinan sebagian dari isinya.

Kesalahan checksum BIOS atau CMOS saat booting PC hampir selalu disebabkan oleh baterai koin CR2032 pada motherboard yang habis. Terkadang pembaruan firmware yang gagal merusak NVRAM. Terkadang pengguna mencabut satu keping RAM dan sidik jari perangkat keras yang tersimpan tidak lagi cocok. Ganti baterai. Muat pengaturan default. Komputer pun booting.

ZFS dan Btrfs menimbulkan kesalahan checksum ketika hard drive mengembalikan blok yang tidak sesuai dengan hash yang tersimpan. Kesalahan tersebut memang merupakan tujuan desainnya: kerusakan data yang terjadi secara diam-diam akhirnya terungkap.

Hal yang seharusnya membuat pengguna kripto khawatir adalah kesalahan checksum firmware pada dompet perangkat keras. Bootloader Trezor memverifikasi ulang tanda tangan firmware setiap kali perangkat dinyalakan. Elemen keamanan Ledger melakukan hal yang sama. Pesan "Tanda tangan tidak valid" atau "Kesalahan tidak dikenal (0x6984)" dari Ledger saat instalasi adalah cara perangkat memberi tahu Anda, dengan lantang, bahwa firmware yang dilihatnya tidak sesuai dengan apa yang diharapkan oleh kunci root-nya. Berhenti. Cabut perangkat. Unduh ulang dari URL vendor yang dapat Anda ingat. Siapa pun yang mengabaikan peringatan itu baru saja memasuki pintu depan serangan rantai pasokan.

Kapan kesalahan checksum berarti adanya manipulasi — dan kapan tidak.

Inti dari artikel ini adalah: Checksum dapat mendeteksi kerusakan acak dengan baik. Namun, checksum tidak berguna melawan penyerang yang sengaja memilih alamat yang valid.

Laporan Kejahatan Kripto Chainalysis 2026 memperkirakan total pencurian kripto pada tahun 2025 mencapai $3,4 miliar, dengan $1,5 miliar berasal dari satu peretasan Bybit. Dompet pribadi kehilangan $713 juta dari sekitar 80.000 korban dalam sekitar 158.000 insiden. Hampir tidak ada kerugian tersebut yang berasal dari checksum tidak valid akibat kesalahan pengetikan, karena bursa dan dompet menolak checksum tersebut di kolom input. Kerugian tersebut berasal dari dua serangan yang tidak dapat dihentikan oleh checksum yang valid.

Yang pertama adalah peracunan alamat. Penyerang mengirimkan transaksi kecil dari alamat yang baru dibuat dan direkayasa agar memiliki kesamaan beberapa karakter pertama dan terakhir dari alamat yang sering digunakan korban. Saat korban menyalin alamat dari riwayat transaksi, alamat palsu tersebut akan berada di urutan teratas daftar. Alamat tersebut memiliki checksum yang valid. Dompet menunjukkan saldo positif. Dana masuk ke penyerang. Sebuah angka dari Chainalysis yang dikutip oleh Carnegie Mellon memperkirakan jumlah upaya peracunan alamat pada tahun 2025 mencapai 270 juta, dengan target 17 juta calon korban. Insiden pada 20 Desember 2025 di mana seorang pedagang kehilangan $50 juta dalam USDT terjadi sekitar 26 menit setelah korban mengirimkan transaksi uji coba kecil; uji coba tersebut tidak menyelamatkan mereka, karena alamat yang diracuni telah dimasukkan ke dalam riwayat transaksi.

Yang kedua adalah pembajak clipboard. Malware seperti kampanye GitVenom yang didokumentasikan oleh Kaspersky secara diam-diam mengganti alamat kripto apa pun yang disalin ke clipboard dengan alamat yang dikendalikan oleh penyerang. Perkiraan kerugian dari GitVenom saja mencapai sekitar $485.000 pada akhir tahun 2024 di antara para korban di Brasil, Turki, dan Rusia. Sekali lagi, alamat pengganti memiliki checksum yang valid. Dompet tidak memiliki apa pun untuk ditandai. Data penting, tujuan transfer besar, lolos dari lapisan integritas karena tidak pernah diubah atau dirusak; data tersebut diganti dengan sesuatu yang sama validnya.

serangan tahun 2025 Mekanisme Apakah checksum menghentikannya?
Peracunan alamat ($50 juta USDT, 20 Desember 2025) Alamat palsu yang menyerupai alamat asli dalam riwayat transaksi. Tidak — alamat palsu tersebut memiliki checksum EIP-55 yang valid.
Pembajak papan klip (GitVenom, ~$485 ribu) Malware menggantikan alamat yang disalin. Tidak — alamat pengganti tetap valid.
Penipuan bot MEV bertema ChatGPT (>30 ETH, >100 korban) Kontrak yang direkomendasikan AI menguras dompet. Tidak — checksum tidak memiliki apa pun untuk memverifikasi maksud kontrak.
Penipuan yang dibantu AI secara luas 4,5 kali lebih menguntungkan daripada skema tradisional Tidak — ini bergantung pada rekayasa sosial, bukan kesalahan pengetikan alamat.

Checksum berwarna hijau berarti alamat tersebut valid. Namun, itu tidak berarti alamat tersebut milik Anda. Perbedaan inilah yang menjadi hal terpenting yang dapat dipahami oleh pengguna kripto dari artikel ini.

Frasa kunci BIP-39: mengapa kata-kata yang valid masih gagal dalam pemeriksaan checksum

Frasa seed BIP-39 juga memiliki checksum, dan ini mengejutkan orang selama proses pemulihan. Skema ini mengkodekan beberapa bit terakhir dari SHA-256 di atas entropi dompet ke dalam kata terakhir dari frasa tersebut. Seed 12 kata hanya membawa 4 bit checksum. Seed 24 kata membawa 8 bit. Untuk 12 kata, itu berarti hanya sekitar satu pilihan kata terakhir secara acak dari enam belas yang akan lolos validasi. "Saya yakin seed saya benar tetapi dompet menolaknya" sebagian besar adalah kesalahan ketik di awal frasa, atau kata yang salah dari daftar BIP-39 yang terdiri dari 2.048 kata.

Sisi perangkat kerasnya lebih ketat. Trezor dan Ledger memverifikasi ulang tanda tangan firmware pada setiap booting melalui kode elemen aman, bukan di host. Ketidakcocokan tanda tangan dianggap sebagai upaya perusakan dan firmware akan menolak untuk berjalan. Itu adalah perilaku yang benar. Siapa pun yang melihat kesalahan checksum atau tanda tangan firmware dari dompet perangkat keras harus menganggapnya sebagai peringatan, bukan kesalahan kecil.

Kesalahan Checksum

Cara memverifikasi dan memperbaiki kesalahan checksum: praktik terbaik

Daftar periksanya singkat. Sama di sebagian besar dompet dan bursa.

Alamat Ethereum. Salin dari saluran terverifikasi pihak lawan (profil yang dipublikasikan, bukan pesan pribadi Telegram). Tempel. Biarkan dompet memvalidasi. Kirim $1 sebagai transaksi uji. Tunggu konfirmasi. Kemudian kirim jumlah penuh. Kraken menyimpan setiap alamat ETH yang tersimpan dalam format EIP-55 secara default. Binance dan Coinbase menolak input checksum yang tidak valid pada langkah pengiriman, sebelum siaran apa pun mencapai blockchain. MetaMask secara default menggunakan EIP-55 dan menampilkan peringatan pada alamat yang diedit secara manual; secara historis, MetaMask juga menerima semua huruf kecil, yang dikeluhkan oleh beberapa masalah GitHub selama bertahun-tahun.

Alamat Bitcoin. Lebih disukai menggunakan Bech32 (`bc1...`) daripada format lama `1...` dan `3...` jika pihak lawan mendukungnya. Kekuatan deteksi kesalahannya jauh lebih tinggi dan format alamat lebih sulit untuk salah dibaca.

Unduh file. Biner dompet, citra firmware dompet perangkat keras, ISO Linux. Hitung hash SHA-256 secara lokal. Bandingkan dengan nilai yang ditandatangani oleh penerbit, bukan salinan yang tercetak di samping tautan unduhan. Penyerang perantara yang mengontrol halaman unduhan dapat menukar keduanya. Simpan cadangan file terverifikasi apa pun yang benar-benar Anda andalkan. Mendeteksi kesalahan di kemudian hari jauh lebih mudah jika salinan yang diketahui baik tersimpan di USB flash drive atau cetakan kertas.

Kesalahan checksum atau tanda tangan firmware dompet perangkat keras. Jangan melakukan bypass. Unduh ulang dari URL yang didokumentasikan oleh vendor. Coba kabel yang berbeda. Coba port USB yang berbeda. Mulai ulang Ledger Live atau Trezor Suite. Jika kesalahan tetap terjadi, kirim email ke dukungan vendor. Pencarian "perbaiki Ledger 0x6984" di forum pihak ketiga adalah tempat penyerang menunggu.

Satu kalimat yang perlu diingat. Checksum yang berhasil membuktikan bahwa data tidak rusak secara tidak sengaja. Namun, itu tidak membuktikan bahwa data tersebut adalah data yang ingin Anda kirim.

Ada pertanyaan?

Tidak. Serangan peracunan alamat menggunakan alamat valid yang baru dibuat dan lolos setiap pemeriksaan checksum yang relevan. Dompet menunjukkan status hijau, transaksi dikonfirmasi, dan dana masuk ke penyerang. Perlindungan didapatkan dari verifikasi alamat tujuan karakter demi karakter (terutama bagian tengah string), dan dari pengiriman transaksi uji kecil sebelum transfer besar apa pun.

EIP-55 adalah checksum Ethereum yang menggunakan huruf besar dan kecil, yang ditambahkan ke format alamat heksadesimal 40 karakter yang sudah ada pada tahun 2016. Ia memiliki sekitar 15 bit pemeriksa dan tingkat kesalahan pengetikan sebesar 0,0247%. Base58Check adalah checksum tambahan 4-byte Bitcoin yang lebih lama, sekitar seribu kali lebih kuat. Perbedaan batasan desain menghasilkan kekuatan yang berbeda.

Ada sedikit perubahan di suatu tempat antara pengirim dan penerima. Penyebab umum: unduhan sebagian, bit yang terbalik di RAM, sektor yang rusak pada hard drive, pembaruan firmware yang gagal, kesalahan pengetikan pada alamat manual, atau perusakan yang disengaja. Pemeriksaan ini tidak dapat memberi tahu Anda mana yang terjadi, hanya bahwa hal itu memang terjadi.

Salin ulang dari sumber yang terverifikasi. Tempelkan ke kolom baru. Biarkan dompet memvalidasi. Kirim transaksi uji kecil untuk mengkonfirmasi tujuan. Jika alamat berulang kali ditolak, Anda mungkin berada di jaringan yang salah (misalnya, alamat Bitcoin yang ditempelkan ke dompet Ethereum).

Pada unduhan atau pengaturan BIOS, biasanya ini menunjukkan masalah yang dapat diperbaiki: unduhan yang rusak, baterai CMOS yang mati, sektor disk yang buruk. Pada dompet perangkat keras, ini dapat mengindikasikan adanya manipulasi firmware, jadi hentikan hingga firmware diverifikasi bersih. Pada kolom alamat kriptografi, kesalahan tersebut menunjukkan bahwa proteksi sedang bekerja.

Kesalahan checksum berarti sepotong data (alamat, unduhan, seed, citra firmware) gagal dalam pemeriksaan matematika bawaan. Pengirim melampirkan sidik jari kecil. Penerima menghitung ulang, mendapatkan angka yang berbeda, dan dompet atau penginstal menolak untuk melanjutkan.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.