Apa itu Hashing dan Bagaimana Cara Kerjanya?

Update 21 Feb 2023 • Waktu Baca 3 Menit
Gambar Apa itu Hashing dan Bagaimana Cara Kerjanya?
Reading Time: 3 minutes

Kita sudah belajar sekilas tentang bagaimana cara kerja Bitcoin. Tetapi bagaimana sih proses mining yang lebih terperinci? Pada dasarnya proses mining Bitcoin adalah cara yang dilakukan untuk mengolah dan mengamankan data, sehingga data tersebut permanen dan tidak dapat diubah. Cara ini dilakukan agar dalam menjalankan transaksi Bitcoin, tidak diperlukan pihak ketiga maupun otoritas sentral. Untuk memahami cara kerja Bitcoin, kita harus mengupasnya dari hal paling mendasar yaitu hash dan hashing.

Apa Itu Hash?

Sebelum masuk ke pengertian hashing, kita perlu memahami definisi hash terlebih dahulu. Hash adalah kode alfanumerik dengan panjang tetap yang digunakan untuk mewakili kata, pesan, atau data. Hash adalah sidik jari atau rangkuman dari data digital. Perbedaan antara hash dan enkripsi adalah hash merupakan kriptografi satu arah, sementara enkripsi berjalan dua arah. Hash pada dasarnya mempunyai dua karakteristik: a) satu input yang sama akan selalu menghasilkan output yang sama, dan b) tidak ada fungsi atau cara untuk membalikkan output kembali menjadi input.

Hashing adalah proses menghasilkan fixed-size output, dari variable-sized input yang dilakukan melalui penggunaan rumus matematika yang dikenal sebagai hash function. Setiap aset kripto menggunakan berbagai algoritma hashing yang berbeda untuk membuat berbagai jenis kode hash – algoritma ini bertugas untuk menghasilkan alfanumerik acak. Kode alfanumerik ini sebenarnya adalah angka yang ditulis di dalam notasi hexadecimal yang penulisannya adalah sebagai berikut:

hexadecimal & decimal

Sebagai contoh Bitcoin menggunakan algoritma hashing bernama SHA-256. Melalui algoritma hashing ini, maka satu nilai input akan selalu menghasilkan output atau nilai hash yang sama.

Mari kita lihat contoh hashing sebagai berikut:

contoh hashing
  • Jika kita memasukkan kata ‘pintu’ ke dalam algoritma hash SHA-256, hasilnya setiap kali akan selalu menjadi 24d52030496d5935c5929564269fae1194db553c0ca3e2ede7a4ecc836f134d3
contoh hashing 2
  • Namun jika kita mengubah kata tersebut menjadi ‘p1ntu’ maka hashnya akan berubah total menjadi 9324c6f589fcaccd7c1b93aa2055d638d22cd89893cde131ca91956c69647600.
  • Tidak ada fungsi algoritma yang dapat mengembalikan ’24d52030496d5935c5929564269fae1194db553c0ca3e2ede7a4ecc836f134d3′ kembali menjadi kata ‘pintu’.

Kamu dapat mencoba sendiri fungsi SHA256 menggunakan website seperti https://emn178.github.io/online-tools/sha256.html. Cobalah menulis kata pintu seperti contoh di atas dan lihat apakah hash yang kamu dapatkan serupa.

Dengan menjalankan algoritma hashing maka data yang di input akan selalu menghasilkan output yang sama, namun kita tidak dapat menebak data input dengan memasukkan output.

Dalam proof-of-work, hash akan dimasukkan ke dalam blok dan blok yang valid harus memiliki kriteria tertentu, yaitu hash dari blok tersebut harus memiliki nilai kecil setelah menjalani algoritma hashing. Dalam kata lain mining adalah proses untuk menghasilkan hash dengan target spesifik dengan cara merubah satu parameter. Miner dapat merubah parameter yang disebut sebagai nonce. Dalam kata lain untuk mendapatkan hash sesuai dengan target maka miner harus mencoba lagi dan lagi dengan merubah parameter dan menjalankan algoritma.

Kesimpulan

Bitcoin menggunakan kriptografi untuk mengamankan data yang di dalam jaringan Bitcoin. Fungsi hash berjalan satu arah. Satu input akan menghasilkan satu output yang sama. Dengan fungsi hash kita tidak dapat menerka input hanya melalui outputnya saja. Apabila ada data yang berubah sedikit saja maka nilai dari hash akan berubah total. Sehingga data atau transaksi di dalam Block chain tidak dapat diubah atau dipalsukan. Ini menjadikan data di dalam hash aman dari pemalsuan atau perubahan data.

Penulis:Dea Rezkitha

Bagikan