Keberadaan mata uang kripto (cryptocurrency) seperti Bitcoin membuka peluang digitalisasi dalam bidang finansial di masa depan. Jika mata yang fiat diterbitkan bank sentral, Bitcoin biasanya diterbitkan melalui block reward kepada penambang (miners) saat mereka memecahkan sebuah blok.
Untuk menjalankan praktiknya, penambang akan menggunakan hardware dan software khusus agar dapat memecahkan permasalahan komputasional kompleks hingga menghasilkan output 64 karakter yang susunannya terlihat acak.
Output inilah yang dinamakan hash. Apa itu hash? Secara garis besar, istilah tersebut merujuk pada proses matematis atau fungsi yang terdiri atas data berbagai ukuran yang disimpan ke dalam serangkaian operasi. Ukuran data-data tersebut bersifat tetap dan penting, terutama kalau berkaitan dengan transaksi dalam jumlah besar.
Daftar Isi
Bagaimana fungsi hash bekerja?
Sebelum mengetahui cara kerja fungsi hash, Anda perlu mengetahui perbedaannya dengan encryption dan encoding. Encryption atau enkripsi merupakan proses pengamanan yang dilakukan dengan membuat informasi yang dipakai jadi tak terlihat tanpa bantuan khusus. Kemudian, ada decryption atau deskripsi yang berfungsi untuk membaca pesan yang dienkripsi. Pemakaian encryption sendiri sudah dilakukan secara luas dan dibenamkan dalam sistem e-commerce, ATM, hingga jaringan telepon bergerak.
Kemudian, ada encoding (penyandian atau pengkodean), sebuah proses konversi informasi dari sumber atau objek diolah menjadi data untuk kemudian dikirimkan ke penerima seperti dalam sistem pemrosesan data. Seperti encryption, encoding juga memiliki kebalikan bernama decoding, yakni proses konversi data yang dikirimkan sumber menjadi informasi yang dipahami penerima.
Bagaimana dengan fungsi hash? Dalam ilmu kriptografi, hash adalah algoritma yang dipakai untuk mengubah informasi. Data yang dimasukkan nantinya diolah menjadi angka, huruf, atau karakter lain menjadi karakter terenkripsi tanpa mengubah ukuran. Data yang terenkripsi lewat fungsi hash tak bisa lagi Anda kembalikan. Hal ini pula yang membuat algoritma tersebut dikenal sebagai One Way Function atau encryption satu arah.
Cara kerja fungsi hash sebenarnya disesuaikan dengan kebutuhan Anda. Pasalnya, algoritma yang diaplikasikan pada pengubahan informasi dapat berbeda setelah disesuaikan dengan tujuan. Namun, ada beberapa kriteria yang harus dipenuhi, sehingga fungsi hash dapat bekerja dengan baik.
Dalam sebuah fungsi hash, algoritma yang dipakai harus terdiri atas dua buah key yang sama agar hasil hashing-nya tak berbeda, mempunyai tingkat kompleksitas rendah, hingga mampu mengurangi risiko collision atau tabrakan. Pada sebagian besar kasus, kompleksitas fungsi hash akan dianggap O(1), sehingga operasi read maupun update bekerja dalam O(1).
Baca juga: Apa Itu Mining Rig? Definisi, Cara Membuat, dan Fungsinya
Mengapa proses hash (hashing) dianggap penting?
Kompleksitas dan sensitivitas dalam penerapan fungsi hash membuatnya dimanfaatkan dalam sejumlah bidang. Anda yang kali pertama menjajal proses matematis atau algoritme tersebut mungkin akan mengalami kesulitan di awal. Namun, dengan memahami peran-perannya, fungsi hash dapat mudah dipelajari sesuai keperluan. Adapun alasan-alasan yang membuat proses hash penting, di antaranya:
1.Mampu menjaga integritas data
Seperti yang disinggung, fungsi hash sangat sensitif. Perubahan sedikit saja akan mengubah kode yang disusun. Di sisi lain, sifat tersebut membuat peluang munculnya hash yang sama lebih kecil. Oleh karena itu, hashing digunakan untuk menjaga integritas data yang sifatnya sangat rahasia, sebagai contoh password yang dipakai dalam ATM atau sistem lain yang melibatkan data personal. Semakin kompleks susunan yang dihasilkan dari fungsi hash, semakin kecil kemungkinan sistem ditembus oleh hacker.
2. Mempercepat proses pengiriman
Salah satu contoh yang bisa Anda lihat dari fungsi hash dalam hal ini adalah verifikasi salinan arsip dengan yang asli. Proses pengiriman akan merepotkan apabila salinan dokumen berada di lokasi yang jauh dari basis data arsip asli. Alih-alih mengirim salinan dokumen secara keseluruhan ke komputer pusat yang memerlukan waktu transmisi lama, manfaatkan fungsi hash yang tepat untuk mengirimkan message digest dari arsip. Jika message digest dari salinan cocok dengan message digest dari arsip asli, bisa dipastikan kedua dokumen tersebut sama.
Baca juga: Apa Itu Blockchain Wallet? Pengertian, Contoh, dan Cara Kerja
3. Menormalkan panjang data yang beragam
Ketika membuat akun di marketplace atau aplikasi, Anda pasti akan diminta membuat password dengan panjang minimal, misalnya dari 5 hingga 8 karakter dengan jenis berbeda. Password lantas akan disimpan dalam server untuk memudahkan proses otentikasi Anda sebagai pengguna laptop atau PC. Kemudian untuk menyeragamkan panjang field untuk password dalam basis data, karakter-karakter password tadi akan disimpan dalam nilai hash yang panjangnya tetap. Tampilan password yang sudah diolah fungsi hash biasanya berupa dot hitam (•).
4. Menjadi label dan identitas dari bukti digital
Dalam ranah hukum, penerapan proses hashing atau fungsi hash akan membantu dalam penyimpanan bukti digital. Hal ini disebabkan fungsi hash dapat digunakan sebagai label dan identitas pada bukti tersebut dan mempunyai probabilitas identik hingga 99,99%. Selain untuk kepentingan hukum, fungsi hash juga diandalkan untuk orang-orang yang bekerja di bidang forensik. Pasalnya, mereka harus menjaga barang bukti yang ditemukan memakai data-data yang diolah menjadi kode unik lewat proses hashing.
Baca juga: Ekonomi Digital Adalah: Pengertian, Manfaat, dan Contohnya
Apa saja jenis fungsi hash di dunia kripto?
Seperti yang disebutkan, hash yang dijumpai dalam dunia kripto terdiri atas algoritma matematika satu arah. Perannya adalah memetakan data dari berbagai ukuran ke dalam string bit. Setiap fungsi hash mempunyai keunikan yang membuatnya berbeda dari fungsi hash yang digunakan untuk bidang lain, misalnya komputer.
Sebagai contoh, skema tanda tangan digital untuk dokumen, kode, dan MIME email mengharuskan hasil kriptografi dihitung melalui pesan untuk dimasukkan menjadi tanda tangan. Perangkat lunak lalu akan menerimanya dan menghitung secara mandiri algoritma tersebut untuk proses verifikasi.
Selain itu, fungsi hash di dunia kripto kerap dipakai dalam protokol keamanan seperti SSL atau SSH serta aplikasi yang mengandalkan integritas data. Cryptocurrency pun memakai algoritma hashing saat akan memperbarui blockchain lama dengan yang baru supaya transaksi data berjalan aman dan bisa diverifikasi. Misalnya Bitcoin yang menggunakan SHA-2 untuk memverifikasi transaksi.
Baca juga: Apa itu Segwit: Pengertian dan Benefitnya
Jenis-jenis fungsi hash untuk kebutuhan di dunia kripto terbilang beragam, tetapi ada beberapa jenis yang paling umum dipakai, antara lain:
1. MD5
Kerap digunakan bersama hash value 128-bit, MD5 merupakan fungsi hash yang dimanfaatkan dalam sejumlah aplikasi keamanan, salah satunya Internet standar (RFC 1321). MD sendiri adalah singkatan dari message digest dan MD5 yang sekarang sering digunakan adalah pengganti MD4 yang dikembangkan Profesor Ronald Rovest dari MIT.
Lantas, bagaimana cara kerja MD5 sebagai salah satu jenis fungsi hash? Ketika mengunduh file maupun dokumen tertentu, ada kalanya proses terputus karena koneksi internet yang kurang stabil atau perangkat mati mendadak. Dalam situasi seperti ini, file hasil unduhan bisa saja tak dapat Anda akses karena terlanjur corrupt atau rusak. Namun, MD5 dapat menyelamatkan Anda dari risiko tersebut kalau diaplikasikan dengan tepat.
Caranya, Anda harus menghasilkan hash atau algoritma MD5 (MD5 check-sum) pada file yang dimaksud dalam server Anda. Setelah mengunduh file tersebut ke perangkat, akan ada hash MD5 yang dihasilkan. Jika kedua hash cocok, bisa dipastikan file yang Anda unduh tak kena corrupt atau kehilangan data. Algoritma MD5 biasanya terdiri atas 32 digit heksadesimal yang tersusun acak dan merupakan gabungan antara angka dengan huruf.
Mengikuti sifat hash, MD5 pada file yang Anda unduh dengan ukuran sama akan memiliki algoritma yang berbeda walau jenis dan ukurannya sama. Dengan begitu, Anda bisa mengidentifikasi file secara cepat dan mudah. MD5 pun bisa diandalkan untuk tujuan-tujuan lain seperti modifikasi file yang rusak akibat virus atau serangan hacker. Pastikan juga akan menempatkan file di folder khusus untuk memudahkan tahap identifikasi.
Baca juga: Apa itu Faucet Crypto? Berikut Definisi, Jenis dan Cara Kerjanya
2. SHA-1
Selanjutnya ada Secure Hash Algorithm 1 atau SHA-1, yakni fungsi hash kriptografi yang bekerja dengan mengambil input untuk menghasilkan nilai hash 20-bit. SHA-1 terdiri atas 40 digit heksadesimal dan dirancang khusus oleh NSA (Badan Keamanan Nasional Amerika Serikat) dan termasuk ke dalam Standar Pemrosesan Informasi Federal di negara tersebut.
Seperti MD5, SHA-1 yang berperan sebagai intisari pesan dipakai secara luas dan memiliki tingkat keamanan lebih baik. Dalam pengembangannya, SHA-1 sudah punya penerus bernama SHA-2 dan SHA-3. Meski begitu, SHA-1 berperan penting dalam menjaga keamanan saat Anda mengakses website dengan password. Algoritma nantinya akan mencocokkan password tersebut dengan password lain yang sudah dimasukkan. Jika ada yang sesuai, Anda akan diberikan akses masuk.
Contoh selanjutnya dari penggunaan SHA-1 adalah dalam proses verifikasi file. Sejumlah website menyediakan SHA-1 check-sum dari file pada laman-laman unduh. Dengan begitu, saat Anda akan mengunduh file tertentu, Anda bisa memeriksa check-sum yang sudah disisipkan algoritma SHA-1. Tujuannya adalah untuk memastikan file yang diperoleh sudah sama dengan file yang Anda inginkan untuk diunduh.
Anda yang kali pertama menggunakan SHA-1 mungkin akan bertanya-tanya di mana sebaiknya algoritma tersebut ditempatkan untuk memudahkan verifikasi file. Dalam hal ini, pertimbangkan cara Anda mengetahui check-sum SHA-1 dari file yang diperoleh lewat website pengembang. Lalu, bayangkan skenario di mana Anda ingin mengunduh versi sama dari sumber berbeda. Dari sini, Anda akan menghasilkan check-sum untuk membandingkan hasil unduhan.
Baca juga: Pengertian Keylogger, Cara Kerja, Dan Cara Menghindarinya
3. RIPEMD-160
Race Integrity Primitive Evaluation Message Digest atau RIPEMD-160 merupakan algoritma yang dikembangkan dari MD4. Fungsi hash yang satu ini disusun berdasarkan konstruksi Merkle-Damgård dan termasuk ke dalam standar Bitcoin. Selain itu, RIPEMD-160 adalah versi penguatan dari RIPEMDI yang mampu menghasilkan intisari pesan 160-bit.
Dengan pengembangan optimal, RIPEMD-160 memiliki performa yang lebih cepat sekaligus bertenaga. Hasilnya, algoritma tersebut dapat mengurangi pending data yang kerap menghambat transaksi. Bukan hanya itu, RIPEMD-160 dapat membuat alamat Bitcoin yang sudah diakumulasi sesuai kunci publik. Meski begitu, jenis fungsi tersebut mempunyai jumlah transaksi lebih kecil dibandingkan salah satu jenis SHA, yakni SHA-256.
Baca juga: Cara Mining Dogecoin untuk Pemula serta Keuntungannya
4. SHA-2 dan SHA-3
Berikutnya ada dua penerus SHA-1, yakni SHA-1 dan SHA-3, yang mendapatkan peningkatan optimal dari pengembang. SHA-2 kali pertama diterbitkan pada 2001, hanya selang beberapa tahun dari SHA-1. Jenis algoritma ini terdiri atas enam fungsi hash dengan macam-macam ukuran digest, di antaranya SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, serta SHA-512/256.
Kemudian, ada SHA-3 yang dikembangkan lembaga non-NSA dan dirilis NIST pada 2015. Jenis fungsi hash yang sebelumnya dinamakan Keccak merupakan anggota keluarga Algoritma Secure Hash. Kehadiran SHA-3 tidak ditujukan untuk menggantikan SHA-2. Berbeda dari SHA-2, SHA-3 dikembangkan untuk opsi alternatif untuk SHA-1 dan MD5. Jadi, Anda bisa memakainya saat fungsi utama tak memberikan hasil yang diharapkan.
Baca juga: Mengenal Jenis-Jenis Litecoin Mining dan Cara Investasinya
Macam-macam hash pada Monero
Selain Bitcoin, ada Monero yang juga memakai fungsi hash dalam transaksinya. Jenis mata uang kripto ini menggunakan sistem state tree yang perubahan variabelnya disimpan dalam struktur pohon. Pada sistem tersebut, nilai terakhir pada sebuah variabel akan diambil dengan cepat tanpa perlu menelusuri blok-blok sebelumnya.
Lalu, apa saja fungsi hash yang digunakan pada Monero? Beberapa algoritma yang dipakai mencakup Keccak (sekarang SHA-3), Grost1, Blake, serta Skein pada CryptoNote. Konsep pada Monero yang terbilang kompleks pun membuat mata uang kripto tersebut mempunyai sifat fully anonymous karena sulit dijebol.
Hal ini tak terlepas dari fakta bahwa Monero membutuhkan sistem keamanan ketat, sehingga mereka membutuhkan lebih dari satu jenis hash. Pengguna yang melakukan transaksi atau mengirimkan data tak bisa langsung diidentifikasikan oleh publik karena terdapat sejumlah kunci yang melindunginya. Anda yang menggunakan Monero pun tak akan mudah diintai dan data-data yang dimasukkan tetap aman saat masuk jaringan blockchain.
Baca juga: 6 Cara Mining ETH Mudah dan Lengkap yang Bisa Dicoba
Bagaimana hashing dipakai dalam proses mining?
Pemakaian hash berhubungan pula dengan kegiatan mining atau tambang yang dilakukan para miners mata uang kripto, termasuk Bitcoin. Ketika mata uang kripto ditambang, blok-blok yang sudah berisi transaksi yang terverifikasi harus melalui hashing terlebih dulu sebelum ditambahkan ke rantai blok. Pada proses ini, Anda akan mengenal sebuah istilah bernama hash rate, yakni pengukur yang akan menghitung jumlah jaringan Bitcoin yang berusaha memecahkan teka-teki matematika rumit setiap detiknya.
Hash rate menggunakan satuan hash per second atau H/s. Sejauh ini, hash rate yang terdapat di jaringan Bitcoin sudah mencapai 74 EH/s (per 2019). Seiring bertambahnya jaringan mata uang kripto tersebut, hash yang berlangsung per detik akan semakin cepat dan meningkatkan hash rate. Faktor lain yang mempengaruhi laju tersebut adalah pemakaian perangkat mining seperti ASIC (Application Spesific Integrated Circuit).
Baca juga: 5 VGA Mining Terbaik untuk Crypto, Dijamin Hash Rate Kencang
Melihat potensi tersebut, miners pun tak menyia-nyiakan kesempatan untuk meningkatkan hash rate dengan aplikasi tadi. Namun, saat hash rate semakin tinggi, miners Bitcoin akan mengalami kesulitan saat memecahkan teka-teki matematis dalam algoritma tersebut. Di sisi lain, kompleksitas algoritma dan peningkatan hash rate dalam kegiatan mining membuat jaringan pada mata uang kripto seperti Bitcoin dikenal sebagai salah satu yang teraman di dunia saat ini.
Selain menggunakan H/s, hash rate pada jaringan blockchain memakai beberapa satuan alternatif seperti kH/s untuk seribu hash per detik, MH/s untuk satu juta hash per detik, GH/s untuk satu miliar per detik, TH/s untuk satu triliun hash per derik, PH/s untuk satu quadrallion hash per detik, hingga ZH/s untuk satu sextillion hash per detik.
Demikian pembahasan apa itu hash, jenis-jenis fungsi, hingga aplikasinya dalam mining Bitcoin. Semoga setelah menyimak pemaparan di atas, Anda semakin termotivasi untuk mendalami peran hash dalam dunia kripto. Dengan demikian, Anda bisa memanfaatkannya dalam berbagai kebutuhan, dari menunjang sistem keamanan hingga mining mata uang kripto.
Baca juga: Cara Mining Bitcoin: Pengertian dan Metodenya, Wajib Simak!