Kripto Para Sözlük

Hash Nedir ? What is Hash?

Hash nedir?
Girilen veriyi, sabit uzunlukta çıktıya dönüştüren matematiksel işleme hash denir. Bu işlemin amaçlarından biri, verinin gizlenmesidir. Söz gelimi, web sitelerine üye olurken yazılan şifreler hash’e dönüştürülerek veri tabanına yazılır. Bu sayede veri tabanını inceleyen kişi kullanıcının şifresini bilemez.

What is Hash?

A mathematical operation that takes a variable amount of data and produces a shorter, fixed-length output. An inference function has two important properties. First of all, by looking at the output, it is mathematically difficult to understand what this original input was. Second, even the slightest change in the input will produce a completely different output.

Bir diğer kullanım amacı ise verinin güvenli özetinin oluşturulmasıdır. Girdi verisi ne kadar uzun olursa olsun çıktı daima aynı uzunlukta olacağından, hash kodu özet amaçlı saklanabilir.

Hash algoritmaları oluşturulurken şu dört unsura önem verilir:

Girdi özetini hesaplamak kolay olmalı
Özet verisinden girdiyi bulmak çok zor olmalı
Girdi verisi değişirse özet de değişmeli
Farklı girdilerden aynı özetin oluşma ihtimali çok düşük olmalı
Elektronik imza uygulamalarında hash algoritmalarından ve özetleme fonksiyonlarından sıklıkla yararlanılır.

Örnek vermek gerekirse, yüzlerce sayfa uzunluğundaki roman taslağına ait hash verisi, kısa bir satır uzunluğunda olur. Taslak üzerinde değişiklik yapılıp yapılmadığını anlamak için tüm yazıyı kontrol etmek yerine, hash koduna bakmak yeterli olacaktır.

Bitcoin’de kullanılan SHA-256 algoritması nedir?
SHA (Secure Hash Algorithm – Güvenli Hash Algoritması); ABD Ulusal Güvenlik Ajansı (National Security Agency – NSA) tarafından geliştirilen hash algoritmaları serisinin adıdır.

Bu standart 1993 yılında SHA-0 ile kullanılmaya başlanmış, 1995 yılında geliştirilen SHA-1 ile performansı artırılmıştır. Tespit edilen çeşitli güvenlik açıklarının ardından 2004 yılında SHA-2 standardı geliştirilmiştir. SHA-2 standardı; SHA-224, SHA-256, SHA-384 ve SHA-512 gibi alt kümelere sahiptir.
Bitcoin ağında SHA-256 adı verilen hash algoritması kullanılır. SHA-256 standardı; girdi verisi bir harften de ibaret olsa, yüzlerce sayfalık roman uzunluğunda da olsa daima on altılık sayı sisteminde 64 karakterlik çıktı sunar.
Blockchain üzerinde SHA-256 algoritmasının kullanımı
Bitcoin ağında; kullanıcılar arasında gerçekleştirilen güncel işlemleri içeren blok bilgisi, blok numarası, “nonce” değeri ve önceki bloka ait hash kodu bir araya getirilerek SHA-256 standardına uygun biçimde hash koduna dönüştürülür.

Örneğin bu yazı hazırlanırken Bitcoin ağında oluşturulan 629.334 numaralı blok içindeki 2.684 transfer işlemine ait hash kodu şu şekildeydi:
“0000000000000000000bfc7df45983354cc12847745459a0e4c834f77ddb4c9b”
Görüldüğü üzere 2 bin 600’den fazla işlem bilgisi, sadece 64 karakterlik özet çıktıya dönüştürülüyor. Böylece blok içinde herhangi bir değişikliğe karşı tüm veriyi incelemek yerine sadece bu özet veri ile kontrol yapmak mümkün oluyor.
Bitcoin ağındaki bloklar, kendilerinden önceki bloka ait hash kodlarını içerirler. Dolayısıyla blok içindeki verilerde oynama yapıldığında hash kodu da faklılaşacağından geriye dönük değişiklik hemen anlaşılacaktır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir