Memahami Fungsi Hash dalam Mata Uang Kripto

Hashing adalah proses yang menghasilkan output berukuran tetap dari input berukuran variabel menggunakan rumus matematika yang dikenal sebagai fungsi hash. Meskipun tidak semua fungsi hash melibatkan kriptografi, fungsi hash kriptografi sangat penting bagi cryptocurrency, memungkinkan blockchain dan sistem terdistribusi lainnya untuk mencapai tingkat integritas dan keamanan data yang signifikan.

Baik fungsi hash biasa maupun fungsi hash kriptografi bersifat deterministik, yang berarti bahwa selama data input tetap tidak berubah, algoritma hash akan selalu menghasilkan hasil yang sama ( juga dikenal sebagai digest atau hash ).

Algoritma hash cryptocurrency biasanya dirancang sebagai fungsi satu arah, membuatnya sulit untuk dibalik tanpa waktu dan sumber daya komputasi yang substansial. Dengan kata lain, relatif mudah untuk menghasilkan output dari input, tetapi cukup menantang untuk pergi ke arah sebaliknya. Secara umum, semakin sulit untuk menemukan input, semakin aman algoritma hash dianggap.

Bagaimana Cara Kerja Fungsi Hash?

Berbagai fungsi hash menghasilkan hasil dengan ukuran yang bervariasi, tetapi ukuran output yang mungkin untuk setiap algoritma hash selalu konstan. Misalnya, algoritma SHA-256 hanya dapat menghasilkan hasil 256-bit, sementara SHA-1 selalu menghasilkan digest 160-bit.

Untuk menggambarkan, mari kita lewati kata-kata "Gate" dan "Gate" melalui algoritma hash SHA-256 (yang digunakan dalam Bitcoin).

SHA-256

Keluaran

Output (256 bits)

Gerbang

7f43e4e2c9d9e6249ba0df8a911b46400f6fd5e9993a5f1ea65e4633e2de5a6c

Gerbang

9c6b057a2b9d96746c38a3f4e466678e1b4c4425ff8fe9659e96c903e7a1f3cc

Perhatikan bahwa perubahan kecil ( pada huruf pertama) menghasilkan nilai hash yang sama sekali berbeda. Namun, karena kita menggunakan SHA-256, keluaran akan selalu memiliki ukuran tetap 256 bit ( atau 64 karakter) terlepas dari ukuran input. Selain itu, tidak peduli berapa kali kita menjalankan kedua kata melalui algoritma, kedua keluaran akan tetap konstan.

Dan jika kita melewati input yang sama melalui algoritma hash SHA-1, kita mendapatkan hasil berikut:

SHA-1

Keluaran

Output (160 bit)

Gerbang

f8e4eba8d46e2b1079e6a1a8abf0a0d8c3a81d73

Gerbang

b7e23ec29af22b0b4e41da31e868d57226121c84

Menariknya, SHA adalah singkatan dari Secure Hash Algorithms. Ini adalah sekumpulan fungsi hash kriptografi yang mencakup algoritma SHA-0 dan SHA-1, serta kelompok SHA-2 dan SHA-3. SHA-256 adalah bagian dari keluarga SHA-2, bersama dengan SHA-512 dan varian lainnya. Saat ini, hanya kelompok SHA-2 dan SHA-3 yang dianggap aman.

Mengapa Teknologi Ini Penting?

Fungsi hash konvensional memiliki berbagai macam penggunaan, termasuk pencarian basis data, analisis file besar, dan manajemen data. Di sisi lain, fungsi hash kriptografi banyak digunakan dalam aplikasi keamanan informasi, seperti otentikasi pesan dan sidik jari digital. Ketika datang ke Bitcoin, fungsi hash kriptografi merupakan bagian integral dari proses penambangan dan juga berperan dalam menghasilkan alamat dan kunci baru.

Kekuatan sejati dari hashing terungkap ketika bekerja dengan jumlah informasi yang besar. Misalnya, Anda dapat menjalankan file besar atau dataset melalui fungsi hash dan kemudian menggunakan hasilnya untuk dengan cepat memverifikasi akurasi dan integritas data. Ini dimungkinkan karena sifat deterministik dari fungsi hash: input selalu menghasilkan output yang terkompresi dan disederhanakan (hash). Metode ini menghilangkan kebutuhan untuk menyimpan dan "mengingat" volume data yang besar.

Hashing sangat berguna dalam konteks teknologi blockchain. Blockchain Bitcoin memiliki beberapa operasi terkait hash, sebagian besar dilakukan dalam proses penambangan. Sebenarnya, hampir semua protokol cryptocurrency bergantung pada hashing untuk menghubungkan dan menggabungkan kelompok transaksi menjadi blok dan untuk membuat tautan kriptografi antara setiap blok, sehingga menciptakan rantai blok.

Fungsi Hash Kriptografi

Sekali lagi, fungsi hash yang menggunakan teknik kriptografi dapat didefinisikan sebagai fungsi hash kriptografi. Umumnya, untuk mendekripsi fungsi hash kriptografi memerlukan banyak usaha brute force. Untuk "menguraikan" fungsi hash kriptografi, perlu memilih input melalui percobaan hingga output yang sesuai diperoleh. Namun, ada juga kemungkinan bahwa input yang berbeda menghasilkan hasil yang sama, dalam hal ini "tabrakan" akan terjadi.

Secara teknis, fungsi hash kriptografi harus memenuhi tiga sifat agar dianggap aman. Kita dapat menggambarkannya sebagai: ketahanan terhadap tabrakan dan ketahanan terhadap serangan preimage pertama dan kedua.

Sebelum menjelaskan setiap properti, mari kita ringkaskan logika mereka dalam tiga kalimat singkat.

  • Resistensi tabrakan: ketidakmungkinan menemukan dua input berbeda yang menghasilkan hash yang sama.

  • Ketahanan terhadap preimage pertama: ketidakmampuan untuk "membalikkan" fungsi hash ( menemukan input melalui output yang diberikan ).

  • Ketahanan terhadap citra kedua: ketidakmampuan untuk menemukan input kedua yang memiliki hash yang sama dengan input pertama.

Ketahanan Tabrakan

Seperti yang disebutkan sebelumnya, kolisi terjadi ketika input yang berbeda menghasilkan hash yang sama. Fungsi hash kemudian dianggap tahan kolisi hingga seseorang menemukan kolisi semacam itu. Perlu dicatat bahwa kolisi akan selalu ada untuk setiap fungsi hash karena jumlah input yang tidak terbatas dan jumlah output yang terbatas.

Oleh karena itu, fungsi hash dianggap tahan tabrakan ketika probabilitas mendeteksi tabrakan sangat kecil sehingga akan memerlukan jutaan tahun perhitungan. Untuk alasan ini, meskipun fungsi hash bebas tabrakan tidak ada, beberapa begitu kuat sehingga dapat dianggap stabil (e.g., SHA-256).

Di antara berbagai algoritma SHA, grup SHA-0 dan SHA-1 tidak lagi aman karena kolisi telah terdeteksi. Saat ini, hanya grup SHA-2 dan SHA-3 yang dianggap tahan kolisi.

Ketahanan Preimage Pertama

Properti ini sangat terkait dengan konsep fungsi searah. Sebuah fungsi hash dianggap kuat untuk menemukan preimage pertama selama ada kemungkinan yang sangat rendah bahwa seseorang dapat menemukan input menggunakan output yang dihasilkan.

Perhatikan bahwa sifat ini berbeda dari yang sebelumnya karena penyerang perlu menebak input berdasarkan output tertentu. Jenis tabrakan ini terjadi ketika seseorang menemukan dua input berbeda yang menghasilkan output yang sama, terlepas dari input tertentu mana yang digunakan.

Properti ketahanan preimage pertama sangat berharga untuk keamanan data, karena hash sederhana dari sebuah pesan dapat membuktikan keasliannya tanpa perlu mengungkapkan informasi tambahan. Dalam praktiknya, banyak penyedia layanan web dan aplikasi menyimpan dan menggunakan hash yang dihasilkan dari kata sandi alih-alih menggunakannya dalam format teks.

Resistensi Preimage Kedua

Jenis stabilitas ini berada di antara kedua sifat sebelumnya. Serangan preimage kedua terdiri dari menemukan input tertentu dengan mana mungkin untuk menghasilkan output yang telah dihasilkan menggunakan input lain yang sebelumnya diketahui.

Dengan kata lain, serangan preimage kedua melibatkan deteksi tabrakan, tetapi alih-alih menemukan dua input acak yang menghasilkan hash yang sama, serangan ini bertujuan untuk menemukan input yang dapat mereproduksi hash yang telah dihasilkan oleh input lain.

Oleh karena itu, setiap fungsi hash yang tahan tabrakan juga tahan terhadap serangan preimage kedua, karena yang terakhir selalu memerlukan tabrakan. Namun, masih mungkin untuk melakukan serangan preimage pertama pada fungsi yang toleran terhadap tabrakan, karena ini melibatkan pencarian input dengan output.

Penambangan

Ada banyak langkah dalam penambangan Bitcoin yang dilakukan menggunakan fungsi hash. Ini termasuk memverifikasi saldo, menghubungkan input dan output transaksi, dan menggabungkan semua transaksi dalam sebuah blok untuk membentuk pohon Merkle. Namun salah satu alasan utama mengapa blockchain Bitcoin aman adalah karena penambang harus melakukan sebanyak mungkin operasi hash untuk akhirnya menemukan solusi yang benar untuk blok berikutnya.

Seorang penambang harus menggunakan beberapa input yang berbeda saat menghasilkan hash untuk blok kandidat mereka. Blok tersebut hanya dapat diverifikasi jika output yang dihasilkan dengan benar dalam bentuk hash dimulai dengan sejumlah nol tertentu. Jumlah nol tersebut menentukan kesulitan penambangan dan bervariasi sesuai dengan hashrate jaringan.

Dalam hal ini, hashrate adalah ukuran daya komputasi yang Anda investasikan dalam penambangan Bitcoin. Jika hashrate mulai meningkat, protokol Bitcoin secara otomatis akan menyesuaikan tingkat kesulitan penambangan sehingga rata-rata waktu yang dibutuhkan untuk menambang sebuah blok adalah sekitar 10 menit. Jika beberapa penambang memutuskan untuk berhenti menambang, yang mengakibatkan penurunan hashrate yang signifikan, tingkat kesulitan penambangan akan disesuaikan untuk sementara memfasilitasi perhitungan ( hingga rata-rata waktu pembentukan blok kembali ke 10 menit ).

Perhatikan bahwa penambang tidak perlu mencari tabrakan karena ada beberapa hash yang dapat mereka hasilkan sebagai output yang valid ( yang dimulai dengan sejumlah nol ). Oleh karena itu, ada beberapa solusi yang mungkin untuk sebuah blok tertentu, dan penambang hanya perlu menemukan salah satunya, sesuai dengan ambang yang ditentukan oleh kesulitan penambangan.

Karena penambangan Bitcoin adalah tugas yang mahal, para penambang tidak memiliki alasan untuk menipu sistem, karena hal ini akan mengakibatkan kerugian finansial yang signifikan. Oleh karena itu, semakin banyak penambang yang bergabung dengan blockchain, semakin besar dan kuat itu akan menjadi.

Kesimpulan

Tidak diragukan lagi bahwa fungsi hash adalah salah satu alat utama dalam komputasi, terutama saat bekerja dengan jumlah data yang besar. Ketika digabungkan dengan kriptografi, algoritma hash bisa sangat berguna, karena mereka menyediakan keamanan dan otentikasi dengan berbagai cara. Oleh karena itu, fungsi hash kriptografi sangat penting bagi hampir semua jaringan cryptocurrency, dan memahami sifat serta mekanisme operasinya tentu saja berguna bagi siapa saja yang tertarik dengan teknologi blockchain.

IN10.25%
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • Komentar
  • Posting ulang
  • Bagikan
Komentar
0/400
Tidak ada komentar
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)