¡Uf! Saya harus menjelaskan tentang hash ini dan saya merasa seolah-olah sedang memecahkan kode alien. Tapi ayo kita mulai.
Hashing adalah, pada dasarnya, proses di mana kita memasukkan data dengan ukuran berapa pun ke dalam semacam penggiling matematis dan ¡pum! selalu keluar sesuatu dengan ukuran yang sama. Ini seperti jika kamu memasukkan semangka utuh atau hanya sepotong ke dalam mesin dan selalu keluar kubus dengan ukuran yang sama. Ini dilakukan dengan rumus matematis yang disebut fungsi hash.
Dan lihat, fungsi-fungsi ini berada di jantung cryptocurrency. Tanpa mereka, semua blockchain ini akan menjadi bencana keamanan. Berkat algoritma ini, uang digital kita tidak menghilang seperti sihir setiap kali seseorang bersin dekat server.
Yang menarik adalah bahwa mereka deterministik - kata yang megah untuk mengatakan bahwa jika Anda memasukkan "Hola" itu akan selalu memberikan hasil yang sama. Tapi jika Anda mencoba dengan "hola" (dalam huruf kecil) itu akan memberikan sesuatu yang benar-benar berbeda. Ini gila!
Bagaimana cara ini bekerja, sih?
Setiap algoritma hash menghasilkan keluaran dengan ukuran tetap. Sebagai contoh, SHA-256 ( yang digunakan Bitcoin ) selalu menghasilkan 256 bit. Tidak masalah apakah Anda memasukkan teks "Don Quijote" secara utuh atau hanya "Sancho".
Sebagai contoh, jika kita menjalankan kata-kata "Mercado" dan "mercado" melalui SHA-256:
Masuk: Pasar
Keluar: d83b7dks92jd72nk29dh28d9k26sd02kd9k2d02kd9k2d0 (sesuatu yang jelek)
Masuk: pasar
Keluar: 38d7b2k7d92kdj28d93j29dk28dk29dk28dk29dk29dk9 (sepenuhnya berbeda)
Lihat? Satu perubahan huruf kapital dan hasilnya sangat berbeda. Dan tidak peduli seberapa sering Anda melakukannya, itu akan selalu memberikan hasil yang sama.
Dan untuk apa sialan ini?
Fungsi hash konvensional digunakan untuk segala jenis hal membosankan seperti basis data. Tetapi yang kriptografis adalah yang menarik: digunakan dalam keamanan, otentikasi, dan, tentu saja, dalam cryptocurrency.
Yang terbaik dari hashing muncul ketika Anda harus menangani jumlah informasi yang sangat besar. Bayangkan Anda memiliki file raksasa - alih-alih memeriksa seluruhnya setiap kali, Anda dapat mengambil "sidik jari" hash-nya dan membandingkan sidik jari itu untuk memverifikasi bahwa tidak ada yang menyentuhnya.
Dalam cryptocurrency, hampir semuanya menggunakan hashing: penambangan, pembuatan blok, pengikatan transaksi... semuanya. Para penambang terus-menerus mencoba menemukan hash yang dimulai dengan sejumlah nol tertentu untuk memvalidasi blok. Ini seperti mencari jarum di tumpukan jerami raksasa.
Sisi gelap: menyerang fungsi hash
Secara teoritis, fungsi hash dapat "dipecahkan" dengan brute force, tetapi Anda akan membutuhkan ribuan tahun dan daya komputasi yang sangat besar. Ada juga kemungkinan "tabrakan" - ketika dua entri berbeda menghasilkan keluaran yang sama.
Fungsi hash yang aman harus tahan terhadap tiga jenis serangan:
Ketahanan terhadap tabrakan: tidak mungkin menemukan dua input yang menghasilkan hasil yang sama.
Ketahanan terhadap pra-citra: tidak mungkin mengetahui input dari output.
Ketahanan terhadap pre-image kedua: tidak mungkin menemukan input lain yang menghasilkan hash yang sama dengan input yang diketahui.
Algoritma SHA-0 dan SHA-1 tidak lagi aman karena ditemukan tabrakan. Sekarang kita menggunakan SHA-2 dan SHA-3, yang masih kuat.
Penambangan: permainan hash
Dalam penambangan Bitcoin, para penambang bersaing untuk menemukan hash yang dimulai dengan sejumlah nol tertentu. Ini seperti bermain lotere miliaran kali per detik.
Kesulitan disesuaikan secara otomatis: jika ada lebih banyak penambang, lebih banyak nol diperlukan di awal hash, membuat tugas menjadi lebih sulit. Jika ada lebih sedikit, kesulitan akan berkurang.
Karena penambangan memerlukan listrik dan peralatan, para penambang memiliki insentif untuk bermain secara fair. Semakin banyak penambang yang ada di jaringan, semakin aman jaringan tersebut.
Fungsi hash adalah alat penting untuk keamanan digital. Tanpa itu, cryptocurrency tidak akan ada seperti yang kita kenal. Memahaminya seperti memahami DNA dari blockchain.
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.
Apa itu hash?
¡Uf! Saya harus menjelaskan tentang hash ini dan saya merasa seolah-olah sedang memecahkan kode alien. Tapi ayo kita mulai.
Hashing adalah, pada dasarnya, proses di mana kita memasukkan data dengan ukuran berapa pun ke dalam semacam penggiling matematis dan ¡pum! selalu keluar sesuatu dengan ukuran yang sama. Ini seperti jika kamu memasukkan semangka utuh atau hanya sepotong ke dalam mesin dan selalu keluar kubus dengan ukuran yang sama. Ini dilakukan dengan rumus matematis yang disebut fungsi hash.
Dan lihat, fungsi-fungsi ini berada di jantung cryptocurrency. Tanpa mereka, semua blockchain ini akan menjadi bencana keamanan. Berkat algoritma ini, uang digital kita tidak menghilang seperti sihir setiap kali seseorang bersin dekat server.
Yang menarik adalah bahwa mereka deterministik - kata yang megah untuk mengatakan bahwa jika Anda memasukkan "Hola" itu akan selalu memberikan hasil yang sama. Tapi jika Anda mencoba dengan "hola" (dalam huruf kecil) itu akan memberikan sesuatu yang benar-benar berbeda. Ini gila!
Bagaimana cara ini bekerja, sih?
Setiap algoritma hash menghasilkan keluaran dengan ukuran tetap. Sebagai contoh, SHA-256 ( yang digunakan Bitcoin ) selalu menghasilkan 256 bit. Tidak masalah apakah Anda memasukkan teks "Don Quijote" secara utuh atau hanya "Sancho".
Sebagai contoh, jika kita menjalankan kata-kata "Mercado" dan "mercado" melalui SHA-256:
Masuk: Pasar Keluar: d83b7dks92jd72nk29dh28d9k26sd02kd9k2d02kd9k2d0 (sesuatu yang jelek)
Masuk: pasar Keluar: 38d7b2k7d92kdj28d93j29dk28dk29dk28dk29dk29dk9 (sepenuhnya berbeda)
Lihat? Satu perubahan huruf kapital dan hasilnya sangat berbeda. Dan tidak peduli seberapa sering Anda melakukannya, itu akan selalu memberikan hasil yang sama.
Dan untuk apa sialan ini?
Fungsi hash konvensional digunakan untuk segala jenis hal membosankan seperti basis data. Tetapi yang kriptografis adalah yang menarik: digunakan dalam keamanan, otentikasi, dan, tentu saja, dalam cryptocurrency.
Yang terbaik dari hashing muncul ketika Anda harus menangani jumlah informasi yang sangat besar. Bayangkan Anda memiliki file raksasa - alih-alih memeriksa seluruhnya setiap kali, Anda dapat mengambil "sidik jari" hash-nya dan membandingkan sidik jari itu untuk memverifikasi bahwa tidak ada yang menyentuhnya.
Dalam cryptocurrency, hampir semuanya menggunakan hashing: penambangan, pembuatan blok, pengikatan transaksi... semuanya. Para penambang terus-menerus mencoba menemukan hash yang dimulai dengan sejumlah nol tertentu untuk memvalidasi blok. Ini seperti mencari jarum di tumpukan jerami raksasa.
Sisi gelap: menyerang fungsi hash
Secara teoritis, fungsi hash dapat "dipecahkan" dengan brute force, tetapi Anda akan membutuhkan ribuan tahun dan daya komputasi yang sangat besar. Ada juga kemungkinan "tabrakan" - ketika dua entri berbeda menghasilkan keluaran yang sama.
Fungsi hash yang aman harus tahan terhadap tiga jenis serangan:
Algoritma SHA-0 dan SHA-1 tidak lagi aman karena ditemukan tabrakan. Sekarang kita menggunakan SHA-2 dan SHA-3, yang masih kuat.
Penambangan: permainan hash
Dalam penambangan Bitcoin, para penambang bersaing untuk menemukan hash yang dimulai dengan sejumlah nol tertentu. Ini seperti bermain lotere miliaran kali per detik.
Kesulitan disesuaikan secara otomatis: jika ada lebih banyak penambang, lebih banyak nol diperlukan di awal hash, membuat tugas menjadi lebih sulit. Jika ada lebih sedikit, kesulitan akan berkurang.
Karena penambangan memerlukan listrik dan peralatan, para penambang memiliki insentif untuk bermain secara fair. Semakin banyak penambang yang ada di jaringan, semakin aman jaringan tersebut.
Fungsi hash adalah alat penting untuk keamanan digital. Tanpa itu, cryptocurrency tidak akan ada seperti yang kita kenal. Memahaminya seperti memahami DNA dari blockchain.