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.
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:
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:
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.
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.
Bagikan