Hash
Kısaca: Hash (özet değeri), verileri güvence altına almak ve doğrulamak için kullanılan bir algoritma olan hash fonksiyonunun ürettiği sabit uzunluktaki…
Hash (özet değeri), verileri güvence altına almak ve doğrulamak için kullanılan bir algoritma olan hash fonksiyonunun ürettiği sabit uzunluktaki çıktıdır. Girdinin boyutu ne olursa olsun hash, o verinin dijital parmak izi gibi işlev gören kısa bir karakter dizisidir.
Neden önemli?
İyi kriptografik hash fonksiyonlarının birkaç temel özelliği vardır. Aynı girdi her zaman aynı hash'i verir. Tek bir karakteri bile değiştirmek tamamen farklı bir hash üretir. Hash'ten girdiyi bulmak ya da aynı hash'e sahip iki farklı girdi bulmak pratikte imkânsızdır. Hash'leme sıklıkla verileri şifrelemek olarak tanımlanır, ancak tek yönlüdür: anahtar yoktur ve veriler hash'inden geri elde edilemez. Blok zincirleri her yerde hash'lere dayanır. Her blok başlığı bir önceki bloğun hash'ini içerir; bu da blokları birbirine bağlar ve üzerlerinde yapılan oynamaları açıkça ortaya çıkarır. İşlemler hash'leriyle tanımlanır ve bir Merkle ağacında özetlenir; iş kanıtı (proof-of-work) madenciliği ise belirli bir hedefi karşılayan bir blok hash'i arayışıdır. Bitcoin SHA-256, Ethereum ise Keccak-256 kullanır.
Örnek
"hello" ve "Hello" kelimelerinin SHA-256 hash'leri, yalnızca bir harf farklı olmasına rağmen birbiriyle tamamen ilgisiz görünür ve her biri 64 onaltılık (hexadecimal) karakter uzunluğundadır. Bir kripto borsası yatırma veya çekim işleminiz için bir işlem kimliği (TxID) gösterdiğinde bu kimlik, işlemi bulmak için bir blok gezginine yapıştırabileceğiniz bir hash'tir.