FUNGSI HASH DALAM BITCOIN

KAMU YANG NEWBIE DI BITCOIN PASTI ..FIRST TIME BINGUNG APA ITU HASH OR HASHES... DONT BE WORRY GUYS... I WILL EXPLAIN TO YOU ALL...

'fungsi hash kriptografi' pada waktu tertentu atau lainnya. Tapi apa sebenarnya artinya, dan bagaimana itu terhubung ke cryptocurrency?
Fungsi hash merupakan bagian penting dari, tidak hanya dari protokol bitcoin, tetapi keamanan informasi secara keseluruhan.
Dalam artikel berikut, kita akan melihat beberapa contoh sederhana tentang cara kerjanya, dengan demonstrasi sederhana juga.

Apa fungsi hash?

Secara abstrak, fungsi hash adalah proses matematika yang mengambil data input dari berbagai ukuran, melakukan operasi di atasnya, dan mengembalikan data keluaran dari ukuran tetap.
Dalam contoh yang lebih konkret, ini dapat digunakan untuk mengambil urutan huruf dari setiap panjang sebagai input - apa yang kita sebut string - dan mengembalikan urutan huruf dengan panjang tetap . Apakah string input adalah huruf tunggal, kata, kalimat, atau seluruh novel, output - yang disebut intisari - akan selalu memiliki panjang yang sama.
Penggunaan umum fungsi hash semacam ini adalah menyimpan kata sandi.
Saat Anda membuat akun pengguna dengan layanan web apa pun yang memerlukan kata sandi, kata sandi dijalankan melalui fungsi hash, dan intisari pesan telah disimpan. Ketika Anda mengetikkan kata sandi Anda untuk masuk, fungsi hash yang sama dijalankan pada kata yang Anda masukkan, dan server memeriksa apakah hasilnya cocok dengan digest yang tersimpan.
Ini berarti bahwa jika peretas dapat mengakses basis data yang berisi hash yang tersimpan, mereka tidak akan dapat segera mengkompromikan semua akun pengguna karena tidak ada cara mudah untuk menemukan kata sandi yang menghasilkan hash tertentu.

Fungsi hash sederhana dengan Python

Anda dapat bereksperimen dengan nilai hash menggunakan Python, bahasa pemrograman yang diinstal pada sistem operasi Mac dan Linux secara default. (Tutorial ini akan mengasumsikan Anda menggunakan beberapa versi baik OS X atau Linux, karena menggunakan Python pada Windows lebih rumit .)
Pertama, buka terminal, ketik python dan tekan ENTER.
Ini akan menempatkan Anda ke dalam REPL Python, suatu lingkungan di mana Anda dapat mencoba perintah Python secara langsung daripada menulis program dalam file terpisah.
Kemudian, ketik yang berikut, tekan ENTER setelah setiap baris, dan TAB di mana ditandai:
  impor hashlib
 def hash (mystring):
 [TAB] hash_object = hashlib.md5 (mystring.encode ())
 [TAB] print (hash_object.hexdigest ())
 [MEMASUKKAN]

Anda sekarang telah membuat fungsi, hash() , yang akan menghitung dan mencetak nilai hash untuk string yang diberikan menggunakan algoritma hashing MD5. Untuk menjalankannya, letakkan string di antara tanda kurung di tanda kutip, misalnya:
  hash ("CoinDesk rocks") 
Dan tekan ENTER untuk melihat intisari hash dari string itu.
Anda akan melihat bahwa memanggil fungsi hash pada string yang sama akan selalu menghasilkan hash yang sama, tetapi menambahkan atau mengubah satu karakter akan menghasilkan nilai hash yang sama sekali berbeda:
  hash ("CoinDesk rocks") => 7ae26e64679abd1e66cfe1e9b93a9e85
 hash ("CoinDesk rocks!") => 6b1f6fde5ae60b2fe1bfe50677434c88

Fungsi hash dalam bitcoin

Dalam protokol bitcoin, fungsi hash adalah bagian dari algoritma hashing blok yang digunakan untuk menulis transaksi baru ke dalam blockchain melalui proses penambangan.
Dalam penambangan bitcoin, input untuk fungsi adalah semua transaksi terbaru yang belum dikonfirmasi (bersama dengan beberapa input tambahan yang berkaitan dengan stempel waktu dan referensi ke blok sebelumnya).
Dalam contoh kode di atas, kita telah melihat bahwa mengubah sebagian kecil dari input untuk fungsi hash menghasilkan output yang sama sekali berbeda. Properti ini sangat penting untuk algoritma 'bukti kerja' yang terlibat dalam penambangan: untuk berhasil 'menyelesaikan' suatu blok, penambang mencoba menggabungkan semua input dengan data input sewenang - wenang mereka sendiri sedemikian rupa sehingga hash yang dihasilkan dimulai dengan sejumlah angka nol.
Sebagai demonstrasi dasar, kita bisa mencoba 'menambang' dengan fungsi hash Python kami dengan menambahkan tanda seru secara manual setelah "CoinDesk rocks!" sampai kita menemukan hash yang dimulai dengan nol tunggal.
  >>> hash ("CoinDesk rocks !!")
 66925f1da83c54354da73d81e013974d
 >>> hash ("CoinDesk rocks !!!")
 c8de96b4cf781a6373766c668ceac0f0
 >>> hash ("CoinDesk rocks !!!!")
 9ea367cea6a2cc4a6f5a1d9a334d0d9e
 >>> hash ("CoinDesk rocks !!!!!")
 b8d43387d98f035e2f0ac49740a5af38
 >>> hash ("CoinDesk rocks !!!!!!")
 0fe46518541f4739613b9ce29ecea6b6 => SOLVED!
Tentu saja, menyelesaikan hash untuk blok bitcoin - yang pada saat penulisan harus dimulai dengan 18 nol - membutuhkan jumlah komputasi yang sangat besar (sehingga kekuatan pemrosesan gabungan semua komputer dalam jaringan masih membutuhkan waktu sekitar 10 menit untuk memecahkan blok).
Kebutuhan akan kekuatan pemrosesan yang besar ini berarti bitcoin baru dapat ditambang dalam waktu yang lama, tidak semuanya sekaligus.
Untuk mendapatkan bitcoin melalui penambangan, Anda perlu memasukkan sejumlah besar pekerjaan yang diperlukan untuk menyelesaikan blok - dan dengan mendapatkan imbalan itu, Anda mengunci semua transaksi baru ke dalam blok, yang ditambahkan ke permanen catatan semua transaksi sebelumnya: blockchain.
Dasar-dasar crypto apa pun yang ingin Anda jelaskan selanjutnya? Email: editors@coindesk.com .
Bitcoin pada gambar keyboard melalui Shutterstock

Tidak ada komentar:

Posting Komentar