Hashing, hər hansı bir məlumatı unikal və sabit uzunluqda mətn zəncirinə, hash və ya digest adlanan bir prosesdir. Hashing, kriptografiyada, xüsusilə blokçeyn texnologiyasında və kriptovalyutalarda geniş istifadə olunur.
Hashing necə işləyir?
Hashing, hər hansı bir məlumatı əldə etmək üçün bir riyazi funksiyanı, hash funksiyası adlanan bir funksiyanı tətbiq edərək işləyir. Hash funksiyası məlumatı giriş kimi qəbul edir və hash-i çıxış olaraq istehsal edir. Hash funksiyası deterministikdir, yəni eyni giriş həmişə eyni çıxış istehsal edəcəkdir. Bununla birlikdə, hash funksiyası da geri çevrilməzdir, yəni praktiki olaraq, hash-dən orijinal girişi geri qaytarmaq mümkün deyil.
Hashing-in bir çox xüsusiyyəti var ki, bu da onu kriptoqrafiya üçün faydalı edir:
Toqquşma müqaviməti: Eyni hashı istehsal edən iki fərqli giriş tapmaq çox çətindir.
Öncəki şəkil müqaviməti: Verilmiş hashı istehsal edən bir giriş tapmaq çox çətindir.
İkinci öncəki şəkil müqaviməti: Eyni hashı istehsal edən digər bir girişi tapmaq çox çətindir.
Hashing niyə kripto üçün vacibdir?
Hashing, blockchain şəbəkələrində və kriptovalyutalarda məlumatların təhlükəsizliyi və təsdiqi üçün vacibdir. Məsələn:
İş sübutu: Hashing, mədənçilərin yeni blokları blockchain-ə əlavə etmək üçün həll etməli olduğu bir tapmaca yaratmaq üçün istifadə olunur. Tapmaca, blok məlumatı ilə hashlandıqda müəyyən sayda sıfırla başlayan bir hash istehsal edən bir nonce (təsadüfi ədəd) tapmağı əhatə edir. Bu proses, blokların müntəzəm və mərkəzsiz şəkildə əlavə edilməsini təmin edir və şəbəkəni zərərli hücumlardan qoruyur.
Rəqəmsal imzalar: Hashing, əməliyyatların və mesajların faktiki və bütövlüyünü sübut edən rəqəmsal imzalar yaratmaq üçün istifadə olunur. Rəqəmsal imza, məlumatı özəl açarla (gizli ədəd) hash edərək yaradılır və ictimai açar (paylaşıla bilən əlaqəli ədəd) ilə təsdiqlənir. Bu proses, yalnız özəl açarın sahibi məlumatı imzalaya biləcəyini və hər kəsin imzanı ictimai açar ilə təsdiqləyə biləcəyini təmin edir.
Merkle ağacları: Hashing, blokların və ya əməliyyatların hashlarını hiyerarşik şəkildə saxlayan məlumat strukturları olan Merkle ağaclarını yaratmaq üçün istifadə olunur. Merkle ağacı, yalnız kök hashı (bütün hashların hashı) və ya bir hash budağını (məlumatın bir alt dəstinin hashları) müqayisə edərək böyük məlumat dəstələrinin təsdiqini səmərəli şəkildə təmin etməyə imkan tanıyır. Bu proses, şəbəkədə saxlanılması və ötürülməsi lazım olan məlumat miqdarını azaldır.
Hashing alqoritmlərinə misal olaraq nələr var?
Fərqli xüsusiyyətləri və tətbiqləri olan bir çox fərqli hashing alqoritmləri var. Ən yaygın olanlardan bəziləri bunlardır:
SHA-256: Bu, 256-bit (64-rəqəmli onaltılı) hash istehsal edən geniş istifadə olunan bir hashing alqoritmidir. Bu, Bitcoin və bir çox digər kriptovalyutalarda iş sübutu və rəqəmsal imzalar üçün istifadə olunur.
RIPEMD-160: Bu, 160-bit (40-rəqəmli onaltılı) hash istehsal edən digər bir məşhur hashing alqoritmidir. Bu, tez-tez SHA-256 ilə birlikdə ictimai açarlar və ünvanlar üçün daha qısa hashlar yaratmaq üçün istifadə olunur.
Keccak-256: Bu, 256-bit (64-rəqəmli onaltılı) hash istehsal edən daha yeni bir hashing alqoritmidir. Bu, Ethereum və bəzi digər kriptovalyutalarda iş sübutu və rəqəmsal imzalar üçün istifadə olunur.
Blake2b: Bu, dəyişkən uzunluqlu hashlar istehsal edən sürətli və təhlükəsiz bir hashing alqoritmidir, 512 bitə (128-rəqəmli onaltılı) qədər. Bu, Zcash və bəzi digər kriptovalyutalarda iş sübutu və rəqəmsal imzalar üçün istifadə olunur.
Nəticə
Hashing, blockchain şəbəkələrində və kriptovalyutalarda məlumatların təhlükəsizliyini və təsdiqini təmin edən kriptoqrafiyada vacib bir prosesdir. Hashing, hər hansı bir məlumatı unikal və sabit uzunluqlu mətn zəncirlərinə, hashlar və ya digestlər adlanan, müxtəlif kriptoqrafik xüsusiyyətlərə malik olan, çevirir. Hashing, iş sübutu, rəqəmsal imzalar, Merkle ağacları və digər tətbiqlər üçün istifadə olunur. Fərqli xüsusiyyətləri və tətbiqləri olan bir çox fərqli hashing alqoritmləri var.


