Poin-Poin Penting
Hashing adalah proses mengubah setiap input menjadi output berukuran tetap menggunakan fungsi matematis, dan merupakan dasar bagi teknologi kriptokurensi dan blockchain.
Fungsi hash kriptografis harus memenuhi tiga sifat inti: ketahanan terhadap tabrakan, ketahanan terhadap preimage, dan ketahanan terhadap second-preimage.
Bitcoin menggunakan SHA-256 untuk penambangan, verifikasi transaksi, dan pembuatan alamat, sementara Ethereum menggunakan Keccak-256 untuk manajemen state dan operasi smart contract.
Fungsi hash modern seperti SHA-256 dan SHA-3 tetap aman terhadap ancaman komputasi kuantum yang diketahui, hanya memerlukan ukuran output yang lebih besar, bukan algoritma yang benar-benar baru.
Pendahuluan
Hashing mengacu pada proses menghasilkan output berukuran tetap dari input yang berukuran bervariasi. Proses ini dilakukan melalui rumus matematika yang dikenal sebagai fungsi hash, yang diimplementasikan sebagai algoritma hashing.
Meskipun tidak semua fungsi hash melibatkan kriptografi, fungsi hash kriptografis berada di inti teknologi blockchain dan keamanan siber modern. Berkat fungsi-fungsi ini, blockchain dan sistem terdistribusi lainnya dapat mencapai tingkat integritas data dan keamanan yang tinggi. Memahami cara kerja hashing bermanfaat bagi siapa pun yang ingin memahami bagaimana kriptokurensi berfungsi.
Cara Kerja Fungsi Hash
Berbagai fungsi hash menghasilkan output dengan ukuran yang berbeda, tetapi setiap algoritma selalu menghasilkan output panjang tetap apa pun ukuran inputnya. Misalnya, SHA-256 selalu menghasilkan output 256-bit (heksadesimal 64 karakter), sementara SHA-1 menghasilkan ringkasan 160-bit.
Penting untuk dicatat bahwa hashing tidak sama dengan enkripsi. Enkripsi adalah proses dua arah di mana data bisa dienkripsi lalu didekripsi kembali ke bentuk aslinya menggunakan kunci. Hashing adalah fungsi satu arah: Anda dapat menghasilkan hash dari sebuah input, tetapi Anda tidak dapat secara praktis membalik proses tersebut untuk memulihkan input asli hanya dari hash itu saja.
Sebagai ilustrasi, menjalankan kata "Binance" dan "binance" melalui SHA-256 menghasilkan output yang benar-benar berbeda:
"Binance" menghasilkan: f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191
"binance" menghasilkan: 59bba357145ca539dcd1ac957abc1ec5833319ddcae7f5e8b5da0c36624784b2
Perubahan kecil (huruf pertama dalam huruf besar/kecil) menghasilkan nilai hash yang benar-benar berbeda. Sifat ini disebut efek avalanche, dan merupakan hal yang mendasar untuk keamanan. Selain itu, kedua output tersebut akan selalu sama apa pun berapa kali kata-kata diproses melalui algoritma, yang menunjukkan sifat deterministik dari fungsi hash.
Keluarga algoritma SHA (Secure Hash Algorithms) mencakup beberapa generasi. SHA-0 dan SHA-1 sudah tidak lagi dianggap aman karena tabrakan telah ditemukan. Saat ini, hanya keluarga SHA-2 (yang mencakup SHA-256 dan SHA-512) serta keluarga SHA-3 (berbasis pada algoritma Keccak) yang dianggap aman secara kriptografis.
Fungsi Hash Kriptografis
Fungsi hash kriptografis adalah fungsi hash yang memenuhi persyaratan keamanan tambahan, sehingga cocok untuk aplikasi seperti tanda tangan digital, verifikasi integritas data, dan konsensus blockchain. Memecahkan fungsi seperti ini membutuhkan jumlah upaya brute-force yang sangat besar.
Agar sebuah fungsi hash kriptografis dianggap aman, ia harus memenuhi tiga sifat utama: ketahanan terhadap tabrakan, ketahanan terhadap preimage, dan ketahanan terhadap second-preimage.
Ketahanan terhadap tabrakan
Terjadi tabrakan saat dua input berbeda menghasilkan output hash yang sama. Sebuah fungsi hash dianggap tahan terhadap tabrakan ketika menemukan tabrakan seperti itu tidak layak secara komputasi, meskipun secara matematis tabrakan pasti ada (karena himpunan input yang mungkin tak terbatas sementara output berukuran tetap).
Dalam praktiknya, ketahanan terhadap tabrakan berarti dibutuhkan jutaan tahun komputasi untuk menemukan dua input yang menghasilkan hash yang sama. SHA-256 memerlukan sekitar 2 kali hingga pangkat 128 operasi untuk menemukan tabrakan (birthday bound), jauh melampaui kemampuan komputasi saat ini.
Ketahanan terhadap preimage
Ketahanan terhadap preimage berarti bahwa dengan diberikan output hash, tidak layak secara komputasi untuk menemukan input apa pun yang menghasilkan output tersebut. Inilah yang membuat fungsi hash bersifat "satu arah". Penyerang yang melihat sebuah hash tidak bisa menentukan data apa yang menghasilkannya.
Sifat ini penting untuk aplikasi seperti penyimpanan kata sandi: sebuah layanan dapat menyimpan hash kata sandi, bukan kata sandinya sendiri, dan bahkan jika database hash terekspos, kata sandi asli tetap terlindungi.
Ketahanan terhadap second-preimage
Ketahanan terhadap second-preimage berarti bahwa dengan satu input spesifik dan hash-nya, tidak layak (tidak memungkinkan secara praktis) untuk menemukan input lain yang menghasilkan hash yang sama. Meski terkait dengan ketahanan terhadap tabrakan (collision resistance), sifat ini membahas skenario serangan yang lebih terarah.
Setiap fungsi hash yang tahan tabrakan juga tahan second-preimage, karena menemukan second preimage berarti menemukan tabrakan. Namun, sebuah fungsi bisa tahan terhadap preimage tanpa harus tahan terhadap tabrakan.
Hashing dalam Blockchain
Fungsi hash digunakan secara luas dalam sistem blockchain. Pada Bitcoin, SHA-256 mengamankan jaringan melalui proof of work, di mana para penambang (miners) harus menemukan output hash yang berada di bawah nilai target tertentu. Proses ini membutuhkan usaha komputasi yang sangat besar untuk diselesaikan, tetapi mudah untuk diverifikasi, sehingga tercipta model keamanan asimetris.
Hashing juga digunakan untuk membangun pohon Merkle: struktur data di mana transaksi di-hash berpasangan sampai satu root hash merangkum seluruh blok transaksi. Ini memungkinkan klien berdaya rendah untuk memverifikasi bahwa transaksi tertentu termasuk dalam sebuah blok tanpa mengunduh semua data transaksi.
Bitcoin juga menggunakan hashing untuk pembuatan alamat. Kunci publik diproses melalui SHA-256 lalu RIPEMD-160 untuk menghasilkan format alamat yang lebih pendek dan lebih mudah dikelola. Pendekatan ini menambah lapisan keamanan dan mengurangi ukuran data yang diperlukan untuk transaksi.
Ethereum menggunakan varian bernama Keccak-256 (sangat terkait dengan standar SHA-3) untuk manajemen state, pemilih fungsi (smart contract function selectors), pencatatan event, dan penurunan alamat (address derivation). Setiap platform blockchain memilih fungsi hash berdasarkan model keamanan dan kebutuhan performanya masing-masing.
Penambangan dan Hash Rate
Dalam penambangan Bitcoin, tantangan utamanya adalah menemukan sebuah input (dengan mengubah nilai nonce di header blok) yang menghasilkan hash SHA-256 di bawah ambang batas target. Target disesuaikan setiap 2.016 blok untuk menjaga waktu rata-rata blok tetap 10 menit, terlepas dari seberapa besar daya komputasi yang dimiliki jaringan. Inilah yang membuat blockchain tetap aman.
Hash rate merepresentasikan total daya komputasi yang dialokasikan untuk penambangan. Pada awal 2026, jaringan Bitcoin beroperasi pada kisaran sekitar 800 hingga 900 exahashes per detik (EH/detik), artinya para penambang secara kolektif melakukan ratusan kuintiliun perhitungan hash setiap detik.
Para penambang tidak perlu menemukan tabrakan. Mereka hanya perlu menemukan input apa pun yang menghasilkan hash di bawah target kesulitan (difficulty) saat ini. Karena banyak kemungkinan output valid yang tersedia, tugas ini lebih tentang throughput komputasi daripada mengeksploitasi kelemahan pada SHA-256 itu sendiri.
Karena penambangan mahal secara komputasi, para penambang memiliki insentif ekonomi yang kuat untuk mengikuti aturan daripada mencoba menyerang jaringan. Semakin banyak penambang yang ikut berpartisipasi, semakin aman blockchain.
Hashing di Era Pascakuantum
Kekhawatiran yang umum adalah apakah komputer kuantum bisa memecahkan fungsi hash yang digunakan dalam blockchain. Jawaban singkatnya: fungsi hash jauh lebih tahan terhadap serangan kuantum dibanding kriptografi kunci-publik.
Algoritma Grover, serangan kuantum yang paling relevan terhadap fungsi hash, hanya memberikan percepatan secara kuadratik. Artinya, fungsi hash 256-bit akan memberikan sekitar 128 bit keamanan terhadap penyerang kuantum, yang masih dianggap tidak layak secara komputasi untuk dipecahkan. Sebagai perbandingan, algoritma kunci-publik yang digunakan dalam blockchain (ECDSA, EdDSA) sepenuhnya rusak oleh algoritma Shor pada komputer kuantum yang cukup kuat.
Pada Agustus 2024, NIST menerbitkan FIPS 205 (SLH-DSA), standar tanda tangan digital berbasis hash yang diturunkan dari SPHINCS+. Skema ini membangun keamanannya sepenuhnya dari kekuatan fungsi hash, yang menjadi dukungan institusional kuat bahwa SHA-2 dan SHA-3 tetap dipercaya di dunia pascakuantum.
Konsensus di NIST, UE, dan badan standar lainnya pada 2025 adalah jelas: tidak perlu algoritma baru "hash pascakuantum". SHA-256 dan SHA-3 dengan output 256-bit atau lebih besar diharapkan tetap aman untuk masa mendatang. Upaya migrasi darurat pascakuantum berfokus pada mengganti kriptografi kunci-publik, bukan fungsi hash.
Hashing Kata Sandi dan Derivasi Kunci
Meski SHA-256 dan SHA-3 adalah fungsi hash kriptografis serbaguna yang sangat baik, keduanya tidak cocok untuk penyimpanan kata sandi. Alasannya adalah kecepatan: fungsi-fungsi ini dirancang cepat, sehingga penyerang yang mendapat akses ke database kata sandi yang bocor bisa menguji miliaran tebakan kata sandi per detik menggunakan GPU atau perangkat keras khusus.
Fungsi khusus untuk hashing kata sandi menyelesaikan masalah ini dengan sengaja dibuat lambat dan membutuhkan banyak memori. Standar yang saat ini direkomendasikan adalah Argon2id, yang memenangkan Password Hashing Competition pada 2015. Opsi lain yang banyak digunakan termasuk bcrypt dan scrypt.
Fungsi-fungsi ini juga menggunakan "salt" acak unik untuk setiap kata sandi, sehingga mencegah penyerang memakai tabel pencarian yang sudah dihitung sebelumnya (rainbow tables). Kombinasi biaya komputasi, kebutuhan memori, dan proses salting membuat serangan brute-force menjadi tidak masuk akal secara ekonomi bahkan ketika database hash dibobol.
FAQ
Apa perbedaan hashing dan enkripsi?
Hashing adalah fungsi satu arah yang menghasilkan output berukuran tetap dan tidak bisa dibalik. Enkripsi adalah proses dua arah di mana data diubah menggunakan kunci dan dapat didekripsi kembali ke bentuk aslinya menggunakan kunci yang sesuai. Hashing digunakan untuk verifikasi integritas dan autentikasi, sedangkan enkripsi digunakan untuk kerahasiaan.
Bisakah dua input berbeda menghasilkan hash yang sama?
Ya, ini secara teoretis mungkin dan disebut collision (tabrakan). Namun, untuk fungsi hash yang aman seperti SHA-256, menemukan tabrakan seperti itu memerlukan sekitar 2 hingga pangkat 128 operasi (birthday bound), yang tidak layak secara komputasi dengan teknologi saat ini atau yang diperkirakan ke depan. Fungsi hash yang tabrakannya telah dibuktikan secara praktis, seperti MD5 dan SHA-1, dianggap rusak dan sebaiknya tidak digunakan untuk tujuan keamanan.
Mengapa Bitcoin menggunakan SHA-256 secara spesifik?
SHA-256 dipilih untuk Bitcoin karena memberikan ketahanan tabrakan yang kuat, telah dianalisis dengan baik oleh komunitas kriptografi, menghasilkan output dengan ukuran yang sesuai untuk penyesuaian kesulitan proof-of-work, dan sudah banyak digunakan saat Bitcoin diluncurkan pada 2009. SHA-256 tetap aman tanpa serangan praktis yang diketahui yang mampu memecahnya.
Bisakah komputer kuantum memecahkan hashing blockchain?
Komputer kuantum menimbulkan risiko minimal terhadap fungsi hash. Algoritma Grover dapat mempercepat pencarian hash brute-force, tetapi hanya sebesar faktor akar kuadrat: hash 256-bit tetap memberikan 128 bit keamanan kuantum, yang dianggap aman. Ancaman kuantum nyata terhadap blockchain adalah skema tanda tangan kunci-publik (ECDSA), bukan fungsi hash.
Fungsi hash apa yang digunakan Ethereum?
Ethereum menggunakan Keccak-256, yang berhubungan erat dengan standar NIST SHA-3 tetapi menggunakan padding yang sedikit berbeda. Fungsi ini digunakan untuk penurunan alamat, pembuatan kunci state trie, pemilih fungsi pada smart contract, dan hashing topik event. Seperti SHA-256, Keccak-256 tidak memiliki serangan praktis yang diketahui dan dianggap aman secara kriptografis.
Pemikiran Penutup
Fungsi hash adalah komponen dasar yang penting dalam ilmu komputer modern dan keamanan siber. Saat digabungkan dengan sifat kriptografis seperti ketahanan terhadap tabrakan dan ketahanan terhadap preimage, fungsi hash memungkinkan jaminan keamanan yang membuat jaringan blockchain menjadi mungkin.
Dari penambangan Bitcoin hingga smart contract Ethereum hingga skema tanda tangan pascakuantum, hashing tetap menjadi teknologi dasar. Memahami cara kerja fungsi hash, sifat keamanan intinya, dan penerapannya di dunia nyata membantu siapa pun yang tertarik pada teknologi blockchain memahami mengapa sistem-sistem ini dianggap aman.
Bacaan Lanjutan
Apa Itu Algoritma Konsensus Blockchain?
Apa Itu Bitcoin dan Bagaimana Cara Kerjanya?
Proof of Work (PoW) vs. Proof of Stake (PoS)
Prinsip Keamanan Umum
Pengenalan ke Bitcoin Script
Penafian: Konten ini disediakan untuk Anda dalam bentuk "apa adanya" untuk tujuan informasi umum dan edukasi saja, tanpa pernyataan atau jaminan dalam bentuk apa pun. Konten ini tidak boleh ditafsirkan sebagai nasihat keuangan, hukum, atau nasihat profesional lainnya, dan juga tidak dimaksudkan untuk merekomendasikan pembelian produk atau layanan tertentu. Anda sebaiknya mencari nasihat Anda sendiri dari penasihat profesional yang sesuai. Jika konten disumbangkan oleh pihak ketiga, harap dicatat bahwa pandangan yang dinyatakan adalah pandangan dari pihak ketiga tersebut, dan tidak selalu mencerminkan pandangan Binance Academy. Harga aset digital dapat bergejolak. Nilai investasi Anda dapat naik atau turun, dan Anda mungkin tidak mendapatkan kembali jumlah yang diinvestasikan. Anda sepenuhnya bertanggung jawab atas keputusan investasi Anda, dan Binance Academy tidak bertanggung jawab atas kerugian apa pun yang mungkin Anda alami. Untuk informasi lebih lanjut, lihat Ketentuan Penggunaan kami, Peringatan Risiko, dan Ketentuan Binance Academy.
