Kekuatan hashing di dunia koin

Hashing adalah proses fundamental di bidang koin yang mengubah data dengan ukuran berapa pun menjadi hasil dengan panjang tetap. Proses ini dilakukan melalui rumus matematika yang dikenal sebagai fungsi hash, yang diimplementasikan sebagai algoritma.

Meskipun tidak semua fungsi hash melibatkan kriptografi, fungsi hash kriptografi yang disebutkan sangat penting dalam ekosistem koin. Berkat fungsi-fungsi ini, blockchain dan sistem terdesentralisasi lainnya mencapai tingkat integritas dan keamanan data yang signifikan.

Fungsi hash, baik yang konvensional maupun yang kriptografis, bersifat deterministik. Ini berarti bahwa, selama data masukan tidak berubah, algoritma hash akan selalu menghasilkan hasil yang sama, yang juga dikenal sebagai digest atau hash.

Algoritma hash yang digunakan dalam koin biasanya dirancang sebagai fungsi satu arah, yang berarti bahwa mereka tidak dapat dibalik tanpa sejumlah waktu dan sumber daya komputasi yang signifikan. Dengan kata lain, relatif mudah untuk menghasilkan keluaran dari suatu masukan, tetapi sangat sulit untuk melakukan sebaliknya. Umumnya, semakin rumit menemukan masukan, semakin aman algoritma hash tersebut.

Cara Kerja Fungsi Hash

Fungsi hash yang berbeda menghasilkan hasil dengan panjang yang berbeda, tetapi ukuran keluaran yang mungkin dari setiap algoritma hash selalu konstan. Misalnya, algoritma SHA-256 hanya dapat menghasilkan hasil 256 bit, sementara SHA-1 akan selalu menghasilkan digest 160 bit.

Untuk mengilustrasikan ini, mari kita lewatkan kata-kata "Gate" dan "Gate" melalui algoritma hash SHA-256 ( yang digunakan di Bitcoin ).

SHA-256

Masuk

Keluar (256 bit)

Gerbang

7f98b5c76e1f90c0e51e5947eae545f3b6f4b4736c774c504d7e6741f5070861

Gerbang

e77b9a9ae9e30b0dbdb6f510a264ef9de781501d7b6b92ae89eb059c5ab743a0

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

Jika kita melewatkan input yang sama melalui algoritma hash SHA-1, kita mendapatkan hasil berikut:

SHA-1

Masuk

Keluaran (160 koin)

Gerbang

96a296d224f285c67bee93c30f8a309157f0daa7

Gerbang

5f42c325eef7e85610308428b407748b77d8c98e

Menarik untuk dicatat bahwa SHA berarti Secure Hash Algorithms (Algoritma Hash Aman). Ini adalah sekumpulan fungsi hash kriptografis yang mencakup algoritma SHA-0 dan SHA-1, serta keluarga SHA-2 dan SHA-3. SHA-256 adalah bagian dari keluarga SHA-2, bersama dengan SHA-512 dan varian lainnya. Saat ini, hanya keluarga SHA-2 dan SHA-3 yang dianggap aman.

Pentingnya teknologi ini

Fungsi hash konvensional memiliki berbagai aplikasi, termasuk pencarian dalam basis data, analisis file besar, dan manajemen informasi. Di sisi lain, fungsi hash kriptografi digunakan secara luas dalam aplikasi keamanan informasi, seperti otentikasi pesan dan pembuatan sidik jari. Dalam konteks Bitcoin, fungsi hash kriptografi adalah bagian integral dari proses penambangan dan juga memainkan peran penting dalam pembuatan alamat dan kunci baru.

Potensi sebenarnya dari hashing terungkap saat bekerja dengan volume informasi yang besar. Misalnya, mungkin untuk menjalankan file besar atau kumpulan data melalui fungsi hash dan kemudian menggunakan hasilnya untuk memverifikasi dengan cepat akurasi dan integritas data. Ini dapat dilakukan karena sifat deterministik dari fungsi hash: masukan selalu menghasilkan keluaran yang terkompresi dan disederhanakan (hash). Metode ini menghilangkan kebutuhan untuk menyimpan dan "mengingat" jumlah data yang besar.

Hashing sangat berguna dalam konteks teknologi blockchain. Rantai blok Bitcoin melibatkan banyak operasi yang terkait dengan hashing, sebagian besar dilakukan selama proses penambangan. Bahkan, hampir semua protokol cryptocurrency bergantung pada hashing untuk menghubungkan dan mengelompokkan transaksi ke dalam blok dan untuk membuat tautan kriptografi antara setiap blok, sehingga membentuk rantai blok.

Fungsi hash kriptografis

Fungsi hash yang menggunakan teknik kriptografi dapat didefinisikan sebagai fungsi hash kriptografi. Secara umum, untuk mendekripsi fungsi hash kriptografi memerlukan banyak percobaan brute force. Untuk "mengembalikan" fungsi hash kriptografi, perlu memilih input melalui percobaan dan kesalahan sampai mendapatkan output yang sesuai. Namun, juga ada kemungkinan bahwa input yang berbeda menghasilkan hasil yang sama, di mana kasus tersebut disebut "tabrakan".

Secara teknis, sebuah fungsi hash kriptografis harus memenuhi tiga properti untuk dianggap aman. Kita dapat menggambarkannya sebagai: ketahanan terhadap tabrakan, ketahanan terhadap preimage, dan ketahanan terhadap second preimage.

Sebelum mendeskripsikan setiap properti, mari kita ringkas logikanya dalam tiga kalimat singkat:

  • Ketahanan terhadap tabrakan: ketidakmampuan untuk menemukan dua input berbeda yang menghasilkan hash yang sama.

  • Ketahanan terhadap preimage: ketidakmampuan untuk "mengembalikan" fungsi hash ( menemukan input dari output yang diberikan ).

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

Ketahanan terhadap tabrakan

Seperti yang disebutkan sebelumnya, kolisi terjadi ketika input yang berbeda menghasilkan hash yang sama. Fungsi hash dianggap tahan kolisi sampai seseorang menemukan kolisi tersebut. Penting untuk dicatat bahwa akan selalu ada kolisi untuk fungsi hash mana pun karena jumlah input yang tak terhingga dan jumlah output yang terbatas.

Oleh karena itu, fungsi hash disebut tahan terhadap tabrakan ketika kemungkinan mendeteksi tabrakan begitu rendah sehingga akan membutuhkan jutaan tahun perhitungan. Untuk alasan ini, meskipun tidak ada fungsi hash yang sepenuhnya bebas dari tabrakan, beberapa cukup kuat sehingga dapat dianggap stabil (misalnya, SHA-256).

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

Ketahanan terhadap preimage

Properti ini terkait erat dengan konsep fungsi satu arah. Sebuah fungsi hash dianggap tahan terhadap preimage selama ada kemungkinan yang sangat rendah bahwa seseorang dapat menemukan input menggunakan output yang dihasilkan.

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

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

Resistansi terhadap preimage kedua

Jenis resistensi ini terletak di antara dua properti sebelumnya. Serangan preimage kedua terdiri dari menemukan input tertentu yang dapat menghasilkan output yang sudah diproduksi menggunakan input lain yang sudah diketahui sebelumnya.

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

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

Penambangan

Ada banyak langkah dalam penambangan Bitcoin yang dilakukan melalui fungsi hash. Ini termasuk verifikasi saldo, pengikatan input dan output transaksi, dan penggabungan semua transaksi dalam satu blok untuk membentuk pohon Merkle. Namun, salah satu alasan utama mengapa blockchain Bitcoin aman adalah bahwa para penambang harus melakukan sebanyak mungkin operasi hash untuk akhirnya menemukan solusi yang benar untuk blok berikutnya.

Seorang penambang harus menggunakan berbagai input saat menghasilkan hash untuk blok kandidatnya. Blok hanya dapat diverifikasi jika output yang dihasilkan dengan benar dalam bentuk hash dimulai dengan sejumlah nol tertentu. Jumlah nol menentukan kesulitan penambangan dan bervariasi tergantung pada hashrate jaringan.

Dalam konteks ini, hashrate adalah ukuran dari daya komputasi yang diinvestasikan dalam penambangan Bitcoin. Jika hashrate mulai meningkat, protokol Bitcoin secara otomatis akan menyesuaikan kesulitan penambangan agar waktu rata-rata yang diperlukan untuk menambang sebuah blok adalah sekitar 10 menit. Jika beberapa penambang memutuskan untuk berhenti menambang, yang mengakibatkan penurunan signifikan dari hashrate, kesulitan penambangan akan disesuaikan untuk sementara memudahkan perhitungan (hingga waktu rata-rata pembentukan blok kembali ke 10 menit).

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

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

Kesimpulan

Tidak diragukan lagi bahwa fungsi hash adalah salah satu alat dasar dalam ilmu komputer, terutama saat bekerja dengan volume data yang besar. Ketika dikombinasikan dengan kriptografi, algoritma hash menjadi sangat berguna, karena menyediakan keamanan dan otentikasi dengan berbagai cara. Oleh karena itu, fungsi hash kriptografi sangat penting untuk hampir semua jaringan cryptocurrency, dan memahami sifat dan mekanisme kerjanya tentu sangat berharga bagi siapa saja yang tertarik dengan teknologi blockchain.

EL0.12%
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)