Home Top Ad

Bagaimana Blokir Hash Bekerja di Blockchain?

Apa Itu Blockchain? Era Baru Internet dan Investasi | Diskartes - Blog  Investasi dan Ekonomi

Blockchain adalah teknologi tulang punggung cryptocurrency digital Bitcoin . Blockchain adalah database terdistribusi dari catatan semua transaksi atau peristiwa digital yang telah dieksekusi dan dibagikan di antara pihak-pihak yang berpartisipasi. Setiap transaksi diverifikasi oleh mayoritas peserta sistem. Ini berisi setiap catatan dari setiap transaksi. Blockchain adalah konsep penyimpanan data digital. Informasi ini disajikan dalam potongan. Blok-blok ini dihubungkan bersama untuk membuat data tidak dapat diubah. Ketika sebuah blok data dihubungkan dengan blok lainnya, data di blok tersebut tidak akan pernah bisa diubah lagi.

Perhatikan gambar berikut, yang menggambarkan kumpulan blok data transaksi.

Transaksi Blockchain #1

Gambar 1. Transaksi Blockchain #1

Transaksi Blockchain #2

Gambar 2. Transaksi Blockchain #2

Transaksi Blockchain#3

Gambar 3. Transaksi Blockchain #3

Apa itu Hash?

Hash adalah fungsi matematika yang mengubah input panjang sewenang-wenang menjadi output terenkripsi dengan panjang tetap. Algoritma konsensus ini adalah kumpulan aturan yang mengatur pengoperasian jaringan blockchain. Selain cryptocurrency, aplikasi fungsi hash yang paling umum adalah penyimpanan kata sandi.

Fungsi kriptografi memiliki fungsi tradisional bersama dengan beberapa ciri keamanan, membuatnya sulit untuk memprediksi dan menentukan konten yang mendasari teks atau transaksi.

Bagaimana Blokir Hash Sebenarnya Bekerja?

Dengan kata-kata sederhana, ambil saja string input panjang apa pun dan kemudian akhiri dengan string dengan panjang tetap melalui beberapa pekerjaan setiap kali proses hashing perlu dilakukan. Pekerjaan itu hashing. Untuk lebih memahaminya, perhatikan diagram di bawah ini:

Proses hash

Gambar 4. Pengertian Blok Hash. 

Contoh: Katakanlah, misalnya, ada algoritma hashing yang mengambil string input dan menghasilkan nilai hash output.

 String Input : Wow, ini adalah tutorial hebat Geeks untuk Geeks Output: tVP4UguDYLYf7BoyRPLMVpnuVGIMYJkmcn5KOnXmkwdxt8AGU5

Catatan: Bahkan perubahan sekecil apa pun dalam struktur apa pun dapat berdampak besar pada rangkaian karakter keluaran yang dihasilkan oleh blok hashing.

Bahkan jika ada perubahan pada string input seperti ini-

Input String: wow, ini adalah tutorial yang bagus untuk Geeks untuk Geeks

Outputnya kemudian akan berubah menjadi-

Keluaran: rVuSuWYq3oE1z0ROjBPjunQ7SJbMSPTgnj7slb2Uvo9Td4Tgay

Properti Blok Hash:

1. Properti #1: Kepastian: Ini berarti bahwa tidak peduli berapa kali input yang diberikan diuraikan menggunakan fungsi hash, hasilnya akan selalu sama. Ini penting karena akan sulit untuk melacak input jika hash yang berbeda diperoleh setiap saat.

2. Properti #2: Generasi Mudah namun Cepat: Fungsi hash harus dapat mengembalikan hash input dengan cepat. Jika prosedurnya tidak cukup cepat, sistem akan menjadi tidak efisien.

3. Properti #3: Resistensi Gambar Sebelumnya: Seperti yang terlihat pada contoh di atas, hash yang dihasilkan seharusnya tidak memiliki resistensi gambar sebelumnya atau sebelumnya, bahkan perubahan kecil harus dapat membuat blok hash yang berbeda, jika tidak maka akan mudah untuk didekode transaksi, sesuatu yang tidak diinginkan.

4. Properti #4: Pemeriksaan Integritas Data: Penggunaan paling umum dari fungsi hash adalah pemeriksaan integritas data. Ini digunakan untuk menghitung checksum untuk file data. Program ini menawarkan jaminan kepada pengguna bahwa datanya benar. Pemeriksaan integritas membantu pengguna dalam mendeteksi modifikasi apa pun pada file asli. Namun, itu tidak menjamin orisinalitas karya. Alih-alih mengubah data file, penyerang dapat memperbarui seluruh file, menghitung hash baru, dan mengirimkannya ke penerima. Program pengujian integritas ini hanya berguna jika pengguna yakin dengan keaslian file.

5. Properti #5: Penyimpanan Kata Sandi: Penyimpanan kata sandi dilindungi menggunakan fungsi hash. Alih-alih menyimpan kata sandi dalam teks yang jelas, sebagian besar prosedur login menyimpan nilai hash kata sandi ke file. File Kata Sandi terdiri dari tabel pasangan dalam bentuk (ID pengguna, h(P)).

Paradoks Ulang Tahun

Serangan ulang tahun didasarkan pada kesulitan satu-satunya dengan algoritma hashing yang didasarkan pada gagasan yang dikenal sebagai Paradoks Ulang Tahun. Masalah ini didasarkan pada konsep bahwa di sebuah ruangan yang terdiri dari 183 orang, ada kemungkinan 50% bahwa salah satu dari mereka akan memiliki tanggal lahir Anda. Namun, jika diinginkan kemungkinan 50% untuk menemukan dua orang dengan tanggal lahir yang sama, maka hanya dibutuhkan 23 orang di ruangan itu. Ini berarti bahwa untuk fungsi hashing, secara signifikan lebih mudah untuk menemukan dua kecocokan jika tidak masalah yang mana keduanya. Hal ini layak untuk menghitung hash sebelumnya untuk panjang kata sandi tertentu untuk melihat apakah ada bentrokan yang terjadi.

Hash dapat digunakan untuk memeriksa integritas, tetapi banyak pengembang menyalahgunakannya, sehingga mengurangi kemanjurannya. Banyak situs web, misalnya, mengizinkan seseorang mengunduh file serta checksum MD5 untuk file itu. Mereka melakukan ini, sehingga integritas file dapat diverifikasi, tetapi unduh checksum dari tempat yang sama dan melalui koneksi yang sama dengan file itu sendiri. Bagaimana Anda bisa mempercayai hash yang berasal dari tempat yang sama jika seseorang tidak cukup mempercayai file tersebut sehingga perlu memvalidasinya? Jika seseorang memiliki kemampuan untuk mengubah file, mereka dapat dengan mudah menghitung dan menyimpan hash baru.

Kesulitan yang Dihadapi Dalam Membuat Blok Hash: Kesulitan menemukan blok dibangun ke dalam blockchain, tetapi juga terkait dengan empat nol utama keluaran hash. Kesulitan di sini mengacu pada kesulitan mendapatkan hash output yang kurang atau lebih dari tujuan. Karena nol apa pun dapat dikodekan (atau di-hash) dengan berbagai cara yang memungkinkan.

Karena semakin banyak individu bergabung dengan jaringan, atau lebih tepatnya ketika kekuatan hashing meningkat, kompleksitas jaringan tumbuh seiring waktu. Namun, ini dimodifikasi secara teratur untuk menjamin bahwa blok tersebut ditambang dalam jangka waktu tertentu.

Tujuan Fungsi Hash: Fungsi hash kriptografik, seperti gundukan kecepatan pada sepeda motor balap, menciptakan rintangan bagi penyerang. Tetapi penting untuk disadari bahwa sepeda motor pada akhirnya akan berhasil di jalanan. Rintangan ini, bagaimanapun, akan memperlambat para pembela — orang normal dan server. Jika peningkatan kecepatan diatur terlalu tinggi, maka ada risiko mengganggu pengguna dan membebani server. Masalah berkelanjutan adalah memperlambat penyerang sambil menyeimbangkan kebutuhan dan kesenangan pengguna.

Fungsi satu arah adaptif adalah fungsi apa pun yang dimaksudkan untuk beralih pada cara kerja bagian dalamnya, mengumpankan output kembali sebagai input, menyebabkannya membutuhkan waktu lebih lama untuk berjalan pada akhirnya. Ini dapat disesuaikan karena pengembang dapat mengubah jumlah iterasi yang terjadi. Desain adaptif telah digunakan untuk merancang fungsi hash (seperti PBKDF2) dan metode enkripsi untuk mengamankan kata sandi yang disimpan (seperti bcrypt ).

Fungsi Hash Berkunci: Fungsi hash yang dikunci (juga dikenal sebagai kode otentikasi pesan hash, atau HMAC) adalah metode yang menggunakan kunci kriptografik dan fungsi hash kriptografik untuk menghasilkan kode otentikasi pesan yang dikunci dan di-hash.

Kelebihan: Hash kriptografis mengubah kata sandi teks yang jelas menjadi teks yang dienkripsi untuk penyimpanan. Penyerang yang mendapatkan akses ke database harus menguraikan nilai hash tersebut untuk mengeksploitasinya. Hash, dengan kata lain, memperlambat penyerang.

Kontra:

  • Hash kriptografi sederhana dapat menghalangi penyerang, tetapi pada akhirnya mereka akan dikalahkan.
  • Penyerang dengan perangkat keras yang kuat dapat dengan cepat “merusak” kredensial hash.
  • Meskipun algoritme hash yang baik dimaksudkan untuk tahan terhadap benturan, benturan sulit untuk dihindari sepenuhnya. MD5 dan SHA-1 telah terbukti memiliki tabrakan yang diketahui—yaitu, mereka mengembalikan nilai hash yang sama saat menggunakan kredensial yang berbeda.

Secara keseluruhan, mengubah transaksi yang ada di blockchain memerlukan blok yang tersisa, dan ketika sebuah transaksi mendapat beberapa konfirmasi, hal itu memerlukan sejumlah besar kekuatan pemrosesan. Karena begitu banyak daya komputer yang diperlukan, mengubah blok pada dasarnya tidak mungkin. Jadi blok hash bekerja dengan cara yang paling aman.