Hash: elemen kunci dalam koin

Proses hashing terdiri dari menghasilkan output berukuran tetap dari input yang bervariasi. Ini dicapai melalui rumus matematika yang disebut fungsi hash, yang diimplementasikan sebagai algoritma.

Dalam bidang cryptocurrency, fungsi hash kriptografi sangat penting. Berkat mereka, blockchain dan sistem terdesentralisasi lainnya mencapai tingkat integritas dan keamanan data yang tinggi.

Baik fungsi hash konvensional maupun kriptografis bersifat deterministik. Ini berarti bahwa, jika input tidak berubah, algoritma akan selalu menghasilkan output yang sama ( juga disebut digest atau hash).

Umumnya, algoritma hash dalam cryptocurrency dirancang sebagai fungsi satu arah, yang berarti bahwa mereka tidak dapat dengan mudah dibalik tanpa sejumlah besar waktu dan sumber daya komputasi. Dengan kata lain, mudah untuk mendapatkan keluaran dari masukan, tetapi sangat kompleks untuk melakukan sebaliknya. Semakin sulit menemukan masukan, semakin aman algoritma tersebut.

Cara kerja fungsi hash

Setiap fungsi hash menghasilkan hasil dengan ukuran tertentu, yang konstan untuk setiap algoritma. Misalnya, SHA-256 selalu menghasilkan keluaran 256 bit, sementara SHA-1 menghasilkan digest 160 bit.

Untuk mengilustrasikannya, mari kita terapkan algoritma SHA-256 ( yang digunakan di Bitcoin) pada kata-kata "Gate" dan "Gate":

SHA-256

Masuk

Salida (256 bits)

Gate

8a83f205f3c314f629e3a0128f5f404cfd44b9a95da6d9f1a7b9f50d1f1b3b34

Gerbang

7f7e4cf2eb50a0ea9d71edc37d6a1e74cf5e9348f7f9a0321b95e0a8e4097b3e

Mari kita perhatikan bahwa perubahan minimum (huruf kapital pertama) menghasilkan hash yang sepenuhnya berbeda. Namun, saat menggunakan SHA-256, keluaran akan selalu memiliki 256 bit (64 karakter), terlepas dari ukuran input. Selain itu, tidak akan masalah berapa kali kita memproses kata-kata ini, hasilnya akan tetap konstan.

Sebaliknya, jika kita menerapkan algoritma SHA-1 pada input yang sama, kita akan mendapatkan:

SHA-1

Masuk

Keluar (160 bits)

Gerbang

3e2a7fe40ac63dbe0a46a6931c74c1d4e6b7447d

Gerbang

c1b7368da4b8ef83dbf7ca3d3c3d17e65d799708

Penting untuk dicatat bahwa SHA berarti Secure Hash Algorithms, yang merujuk pada sekumpulan fungsi hash kriptografis yang mencakup SHA-0, SHA-1, dan kelompok SHA-2 serta SHA-3. SHA-256 termasuk dalam kelompok SHA-2, bersama dengan SHA-512 dan variasi lainnya. Saat ini, hanya kelompok SHA-2 dan SHA-3 yang dianggap aman.

Pentingnya hashing

Fungsi hash konvensional memiliki berbagai kegunaan, seperti pencarian dalam basis data, analisis file besar, dan manajemen informasi. Di sisi lain, fungsi hash kriptografi digunakan secara luas dalam keamanan komputer, autentikasi pesan, dan pembuatan sidik jari. Dalam Bitcoin, mereka sangat penting untuk proses penambangan dan pembuatan alamat serta kunci baru.

Potensi sebenarnya dari hashing terwujud saat menangani volume data yang besar. Misalnya, adalah mungkin untuk memproses file atau kumpulan data yang luas melalui fungsi hash dan menggunakan keluaran tersebut untuk memverifikasi dengan cepat akurasi dan integritas informasi. Ini dimungkinkan berkat sifat deterministik dari fungsi hash: masukan yang sama akan selalu menghasilkan keluaran terkompresi yang identik. Teknik ini menghilangkan kebutuhan untuk menyimpan dan "mengingat" jumlah informasi yang besar.

Hashing sangat berguna dalam teknologi blockchain. Rantai blok Bitcoin melibatkan banyak operasi hash, terutama dalam proses penambangan. Sebenarnya, hampir semua protokol cryptocurrency bergantung pada hashing untuk menghubungkan dan mengkondensasi kelompok transaksi ke dalam blok, serta untuk membuat tautan kriptografis antara blok, yang secara efektif membentuk sebuah rantai.

Fungsi hash kriptografi

Fungsi hash yang menerapkan teknik kriptografi disebut fungsi hash kriptografi. Secara umum, meretas salah satu fungsi ini memerlukan upaya brute force yang tak terhitung jumlahnya. Untuk "membalikkan" fungsi hash kriptografi, diperlukan untuk menebak input melalui percobaan dan kesalahan hingga mendapatkan output yang sesuai. Namun, ada kemungkinan bahwa input yang berbeda menghasilkan hasil yang persis sama, yang dikenal sebagai "tabrakan".

Secara teknis, fungsi hash kriptografis harus memenuhi tiga sifat untuk dianggap efektif aman: tahan kolisi, tahan preimage, dan tahan preimage kedua.

Mari kita ringkaskan sifat-sifat ini dalam tiga kalimat singkat:

  • Ketahanan terhadap tabrakan: tidak mungkin menemukan dua input berbeda yang menghasilkan hash yang sama sebagai output.

  • Ketahanan terhadap prabentuk: tidak mungkin "membalikkan" fungsi hash ( menemukan input dari output tertentu ).

  • Ketahanan terhadap preimage kedua: tidak mungkin menemukan input kedua yang bertabrakan dengan input tertentu.

Ketahanan terhadap tabrakan

Sebuah tabrakan terjadi ketika berbagai input menghasilkan hash yang persis sama. Sebuah fungsi hash dianggap tahan terhadap tabrakan sampai seseorang menemukannya. Penting untuk dicatat bahwa akan selalu ada tabrakan untuk fungsi hash mana pun, karena input yang mungkin tidak terbatas, sementara outputnya terbatas.

Dalam praktiknya, sebuah fungsi hash dikatakan tahan terhadap tabrakan ketika probabilitas untuk menemukannya sangat rendah sehingga memerlukan jutaan tahun perhitungan. Dengan demikian, meskipun tidak ada fungsi hash yang bebas dari tabrakan, beberapa cukup kuat untuk dianggap tahan (misalnya, SHA-256).

Di antara algoritma SHA, grup SHA-0 dan SHA-1 tidak lagi dianggap aman karena telah ditemukan kolisi. Saat ini, grup SHA-2 dan SHA-3 dianggap tahan terhadap kolisi.

Resistensi terhadap preimage

Sifat resistensi terhadap preimage terkait dengan konsep fungsi satu arah. Sebuah fungsi hash dianggap tahan terhadap preimage ketika ada kemungkinan yang sangat rendah bahwa seseorang menemukan input yang menghasilkan output tertentu.

Properti ini berbeda dari yang sebelumnya, karena di sini seorang penyerang akan mencoba menebak masukan dengan mengamati keluaran tertentu. Sebuah kolisi, di sisi lain, terjadi ketika dua masukan berbeda ditemukan yang menghasilkan keluaran yang sama, terlepas dari masukan mana yang digunakan.

Resistensi terhadap preimage sangat berharga untuk melindungi data, karena hash sederhana dari sebuah pesan dapat membuktikan keasliannya tanpa mengungkapkan informasi asli. Dalam praktiknya, banyak penyedia layanan dan aplikasi web menyimpan dan menggunakan hash yang dihasilkan dari kata sandi daripada kata sandi dalam teks biasa.

Resistencia terhadap preimage kedua

Menyederhanakan, kita dapat mengatakan bahwa resistensi terhadap pre-image kedua terletak di titik tengah antara dua sifat lainnya. Serangan pre-image kedua terjadi ketika seseorang berhasil menemukan input spesifik yang menghasilkan output yang sama dengan input lain yang sudah diketahui.

Dengan kata lain, serangan pre-image kedua melibatkan menemukan tabrakan, tetapi alih-alih mencari dua input acak yang menghasilkan hash yang sama, mencari input yang menghasilkan hash yang sama yang dihasilkan oleh input tertentu lainnya.

Oleh karena itu, setiap fungsi hash yang tahan terhadap tabrakan juga akan tahan terhadap serangan preimage kedua, karena yang terakhir selalu akan melibatkan tabrakan. Namun, serangan preimage masih dapat dilakukan pada fungsi yang tahan terhadap tabrakan, karena ini melibatkan menemukan satu entri dari satu keluaran.

Penambangan

Proses penambangan di Bitcoin melibatkan banyak langkah yang menggunakan fungsi hash, seperti memverifikasi saldo, menghubungkan input dan output transaksi, dan mengkondensasi transaksi ke dalam satu blok untuk membentuk pohon Merkle. Namun, salah satu alasan utama mengapa blockchain Bitcoin aman adalah karena para penambang harus melakukan sejumlah besar operasi hash untuk menemukan solusi yang valid untuk blok berikutnya.

Secara spesifik, seorang penambang harus mencoba berbagai input saat membuat nilai hash untuk blok kandidatnya. Mereka hanya dapat memvalidasi blok mereka jika mereka menghasilkan hash output yang dimulai dengan sejumlah nol tertentu. Jumlah nol menentukan kesulitan penambangan dan bervariasi tergantung pada hash rate yang didedikasikan untuk jaringan.

Dalam konteks ini, hash rate mewakili seberapa banyak daya komputasi yang diinvestasikan dalam penambangan Bitcoin. Jika hash rate jaringan meningkat, protokol Bitcoin secara otomatis akan menyesuaikan kesulitan penambangan untuk mempertahankan waktu rata-rata yang diperlukan untuk menambang sebuah blok mendekati 10 menit. Sebaliknya, jika beberapa penambang berhenti menambang, menyebabkan penurunan signifikan dalam hash rate, kesulitan penambangan akan disesuaikan, mempermudah penambangan ( hingga waktu rata-rata blok kembali ke 10 menit ).

Penting untuk dicatat bahwa para penambang tidak perlu menemukan tabrakan, karena ada banyak hash yang dapat mereka hasilkan sebagai output yang valid ( yang dimulai dengan sejumlah nol ). Oleh karena itu, ada beberapa solusi yang mungkin untuk blok tertentu, dan para penambang hanya perlu menemukan salah satu dari solusi tersebut, sesuai dengan ambang batas yang ditetapkan oleh kesulitan penambangan.

Karena penambangan Bitcoin adalah tugas yang mahal, para penambang tidak memiliki insentif untuk menipu sistem, karena ini akan menyebabkan kerugian finansial yang signifikan. Semakin banyak penambang yang bergabung dengan blockchain, semakin besar dan kuat blockchain tersebut.

Renungan Akhir

Tidak diragukan lagi bahwa fungsi hash adalah alat dasar dalam komputer, terutama ketika berhadapan dengan volume data yang besar. Ketika digabungkan dengan kriptografi, algoritma hash menjadi serbaguna dan menawarkan keamanan serta autentikasi dengan berbagai cara. Oleh karena itu, fungsi hash kriptografi sangat penting untuk hampir semua jaringan cryptocurrency, dan memahami sifat serta mekanisme kerjanya pasti bermanfaat bagi siapa saja yang tertarik dengan teknologi blockchain.

EL-1.77%
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)