Fungsi Hash Kriptografi
Fungsi hash kriptografi menghasilkan nilai hash ukuran tetap dari input transaksi ukuran variabel.
Apa Itu Fungsi Hash Kriptografi?
Fungsi hash
kriptografi adalah sebuah algoritme, yaitu urutan tindakan tertentu yang dapat diulang, yang dapat digunakan untuk mengubah barisan data arbitrer dengan panjang variabel menjadi salah satu dengan panjang dan format tetap, yang disebut hash.
Salah satu contoh paling sederhana dari fungsi hash adalah menjumlahkan digit-digit dalam sebuah angka hingga hanya tersisa satu keluaran digit tunggal. Jika inputnya adalah 49, misalnya, maka penjumlahan 4 dan 9 menghasilkan 13, yang digit 1 dan 3-nya kemudian dijumlahkan lagi untuk menghasilkan keluaran 4. Berapa pun panjang nomor inputnya, keluarannya akan selalu angka tunggal.
Itu bukan algoritme yang baik, karena untuk menjalankan fungsinya dengan baik, fungsi hash harus memiliki beberapa karakteristik:
- Seharusnya mudah menghitung keluaran untuk setiap masukan yang diberikan, tetapi hampir tidak mungkin membalikkan proses dan menghitung input dari keluaran yang diketahui;
- Determinisme — memasukkan input tertentu ke dalam algoritme harus selalu menghasilkan keluaran yang sama;
- Resistansi tabrakan — dua input yang berbeda seharusnya sangat tidak mungkin menghasilkan keluaran yang sama;
- Efek longsoran — mengubah bahkan satu bit data dalam input akan menghasilkan keluaran yang sangat berbeda.
Fungsi hash diterapkan dalam banyak kasus penggunaan, misalnya, sebagai checksum untuk memverifikasi integritas fail komputer setelah transmisi penyimpanan lama, atau dalam fungsi pengacakan.
Mereka juga merupakan komponen kunci dalam
penambangan aset kripto proof-of-work, seperti Bitcoin (
BTC), yang menggunakan fungsi hash
SHA-256. Untuk menambahkan
blok baru ke
blockchain dan mengklaim
imbalan Bitcoin yang baru ditambang, penambang pertama-tama harus menghasilkan nilai hash yang berada di bawah ambang tertentu, yang disebut target.
Fakta bahwa hash bersifat pseudoacak dan tidak mungkin untuk memprediksi keluaran dari input apa pun sebelum benar-benar menjalankannya melalui fungsi hash memastikan bahwa penambang tidak dapat mencetak Bitcoin baru begitu saja dan perlu membuktikan pekerjaan yang telah mereka lakukan.