Hash nedir?

Hashing, değişken boyuttaki bir girdiden sabit boyutta bir çıktı üretme sürecini ifade eder. Bu, hash fonksiyonları olarak bilinen matematiksel formüller aracılığıyla yapılır ( hash algoritmaları olarak uygulanır ).

Her ne kadar tüm hash fonksiyonları kriptografi içermese de, kriptografik hash fonksiyonları kripto dünyasında temeldir. Onlar sayesinde, blockhainler ve diğer dağıtık sistemler önemli düzeyde veri bütünlüğü ve güvenliği sağlar, bu da benim için büyüleyici bir şey.

Konvansiyonel ve kriptografik hash fonksiyonları deterministiktir. Bu, girdi değişmediği sürece, algoritmanın her zaman aynı çıktıyı üreteceği anlamına gelir ( aynı zamanda özet veya hash) olarak da bilinir. Bu kadar karmaşık bir şeyin bu kadar öngörülebilir olmasının inanılmaz olduğunu düşünüyorum.

Kripto para birimlerinde hash algoritmaları, tersine çevrilemeyecek şekilde tasarlanmış tek yönlü fonksiyonlar olarak çalışır, bu da büyük hesaplama kaynakları olmadan kolayca geri döndürülemeyecekleri anlamına gelir. Girişten çıkış oluşturmak oldukça basitken, tam tersini yapmak neredeyse imkansızdır. Genel olarak, girişi bulmak ne kadar zor olursa, algoritma o kadar güvenli kabul edilir. Ve bana güvenin, bu algoritmalardan bazıları neredeyse delik deşik edilemez.

Bir hash fonksiyonu nasıl çalışır?

Farklı hash fonksiyonları farklı boyutlarda çıktılar üretir, ancak her algoritma için çıkış boyutları her zaman sabittir. Örneğin, SHA-256 yalnızca 256 bitlik çıktılar üretebilirken, SHA-1 her zaman 160 bitlik bir özet oluşturacaktır.

Bunu göstermek için, "Binance" ve "binance" kelimelerini Bitcoin'de kullanılan SHA-256 algoritmasıyla ( çalıştıralım.

SHA-256 Giriş: Binance Çıkış: f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191

Giriş: binance Çıkış: 59bba357145ca539dcd1ac957abc1ec5833319ddcae7f5e8b5da0c36624784b2

Bir küçük değişiklik ) ilk harfin büyük olması ( tamamen farklı bir hash ile sonuçlanıyor, görüyor musun? Bu hassasiyete hayranım. Ancak SHA-256 kullanarak, çıktılar her zaman 256 bit sabit bir boyuta ) 64 karakter ( sahip olacaktır, girdi boyutundan bağımsız olarak.

Diğer yandan, aynı girdileri SHA-1 ile çalıştırırsak, şunları elde ederiz:

SHA-1 Giriş: Binance Çıkış: 7f0dc9146570c608ac9d6e0d11f8d409a1ee6ed1

Giriş: binance Çıkış: e58605c14a76ff98679322cca0eae7b3c4e08936

SHA, Secure Hash Algoritmaları anlamına gelir ve SHA-0, SHA-1, SHA-2 ve SHA-3'ü içeren bir kriptografik hash fonksiyonları grubuna atıfta bulunur. SHA-256, SHA-2 grubuna aittir. Şu anda yalnızca SHA-2 ve SHA-3 güvenli olarak kabul edilmektedir, bu da bazı sistemlerin neden hala daha eski algoritmaları kullandığını sorgulamama neden oluyor.

Neden önemlidir?

Geleneksel hash fonksiyonlarının birçok kullanımı vardır: veritabanı aramaları, büyük dosyaların analizi ve veri yönetimi. Kriptografik hash fonksiyonları, bilgisayar güvenliği, mesaj kimlik doğrulaması ve dijital kimlikte yaygın olarak kullanılmaktadır. Bitcoin'de, madencilik ve adres ile anahtarların üretilmesi için hayati öneme sahiptir.

Hashing'in gerçek gücü büyük miktarda bilgiyle ortaya çıkar. Büyük bir dosyayı bir hash fonksiyonundan geçirebilir ve çıktısını verilerin doğruluğunu ve bütünlüğünü hızlıca kontrol etmek için kullanabilirsiniz. Bu, büyük miktarda bilgiyi depolama ve "hatırlama" ihtiyacını ortadan kaldırır, bu da basitliğinde harika bulduğum bir şey.

Hashing, blockchain'de özellikle yararlıdır. Bitcoin zincirinde, çoğunlukla madencilikte olmak üzere, hashing ile ilgili birçok işlem bulunmaktadır. Neredeyse tüm kripto protokolleri, işlemleri bloklara bağlamak ve bunlar arasında kriptografik bağlantılar oluşturmak için hashing'e bağımlıdır ve bu da etkili bir şekilde bir blockchain oluşturur.

Kriptografik hash fonksiyonları

Kriptografik teknikleri uygulayan bir hash fonksiyonu, kriptografik hash fonksiyonu olarak tanımlanabilir. Bu tür bir fonksiyonu kırmak, sonsuz sayıda brute force denemesi gerektirir. Kriptografik bir hash fonksiyonunu "geri döndürmek" için, birinin uygun çıktıyı üretmek için deneme yanılma ile girişi tahmin etmesi gerekir. Ancak, farklı girişlerin tam olarak aynı çıktıyı üretme olasılığı vardır ve bu da bir "çarpışma" yaratır.

Teknik olarak, bir kriptografik hash fonksiyonu güvenli kabul edilmek için üç özelliği takip etmelidir:

  • Çakışma direnci: aynı hash'i üreten iki farklı girdi bulmak imkansızdır.
  • Ön görüntüye direnç: hash işlevini "geri almak" imkansızdır
  • İkinci ön görüntüye karşı direnç: belirli bir girdi ile çakışan başka bir girdi bulmak imkansızdır.

) Çarpışmalara dayanıklılık

Bir çarpışma, farklı girdilerin tam olarak aynı hash'i üretmesi durumunda meydana gelir. Bir hash fonksiyonu, biri bir çarpışma bulana kadar çarpışmalara dayanıklı olarak kabul edilir. Herhangi bir hash fonksiyonu için çarpışmalar her zaman olacaktır çünkü olası girdiler sonsuzdur, oysa çıktılar sınırlıdır.

Bir hash fonksiyonu, çarpışma olasılığı o kadar düşük olduğunda çarpışmaların bulunma olasılığı milyonlarca yıl sürecek hesaplamalar gerektirecek şekilde çarpışmalara karşı dayanıklıdır. SHA-0 ve SHA-1 artık güvenli değildir çünkü çarpışmalar bulunmuştur. Şu anda, SHA-2 ve SHA-3 çarpışmalara karşı dayanıklı olarak kabul edilmektedir.

Ön görüntüye direnç

Bu özellik, tek yönlü fonksiyonlar kavramıyla ilgilidir. Bir hash fonksiyonu, belirli bir çıktıyı üreten girişi birinin bulma olasılığının çok düşük olduğu durumlarda ön görüntüye karşı dayanıklıdır.

Bu özellik, basit bir hash'in bir mesajın doğruluğunu kanıtlayabilmesi ve bilgiyi ifşa etmemesi nedeniyle veri koruma açısından değerlidir. Birçok web sağlayıcısı, düz metin şifreler yerine şifrelerin hash'lerini saklamaktadır; bence herkesin bunu yapması gerekir.

İkinci ön görüntü direnci

İkinci ön görüntü saldırısı, birinin bilinen başka bir girdiyle aynı çıktıyı üreten belirli bir girişi bulduğunda meydana gelir. Bu, çakışma bulmayı içerir, ancak belirli bir girdinin aynı hash'i üretmesini sağlayan bir girdi aramayı içerir.

Herhangi bir çarpan çarpanı, çarpan çarpanlarına karşı dayanıklı olduğu gibi, ikinci ön görüntü saldırılarına karşı da dayanıklıdır. Ancak, çarpan çarpanlarına dayanıklı bir işlevde ön görüntü saldırısı gerçekleştirmek yine de mümkündür.

Madencilik

Bitcoin madenciliği, birçok hash işlemini içerir: bakiyelerin doğrulanması, işlemlerin giriş ve çıkışlarının bağlanması ve bir bloğun içindeki işlemlerin hash'lenmesiyle bir Merkle ağacı oluşturulması. Ancak Bitcoin blockchain'ini gerçekten güvence altına alan şey, madencilerin bir sonraki blok için geçerli bir çözüm bulmak amacıyla sonsuz sayıda hash işlemi gerçekleştirmeleri gerektiğidir.

Bir madencinin aday bloğu için bir hash değeri oluştururken farklı girişleri denemesi gerekir. Sadece belirli bir sayıda sıfırla başlayan bir hash oluşturursa bloğunu doğrulayabilir. Bu sayı, madencilik zorluğunu belirler ve ağa ayrılan hashrate'e göre değişir.

Hashrate, madencilikte ne kadar hesaplama gücünün kullanıldığını temsil eder. Artarsa, Bitcoin protokolü ortalama madencilik süresini yaklaşık 10 dakika sürdürmek için zorluğu otomatik olarak ayarlayacaktır. Birçok madenci madencilik yapmayı bıraktığında zorluk azalacaktır.

Madencilerin çarpışmalar bulmasına gerek yoktur çünkü belirli bir sayıdaki sıfırla başlayan birden fazla geçerli hash ### vardır. Belirli bir blok için birden fazla olası çözüm vardır ve madencilerin sadece bir tane bulması yeterlidir.

Madencilik maliyetli olduğu için, madencilerin sistemi kandırmak için bir nedenleri yoktur, çünkü bu önemli finansal kayıplara yol açar. Bir blockchain'de daha fazla madenci olduğunda, ağ daha güçlü hale gelir.

Kesinlikle, hash fonksiyonları bilgi teknolojisinde, özellikle büyük veri miktarlarıyla çalışırken temel araçlardır. Kriptografi ile birleştirildiğinde, birçok şekilde güvenlik ve kimlik doğrulama sunarlar. Neredeyse tüm kripto ağları için hayati önem taşırlar, bu nedenle özelliklerini ve mekanizmalarını anlamak, blockchain ile ilgilenen herkes için faydalıdır.

BTC3.69%
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Repost
  • Share
Comment
0/400
No comments
  • Pin
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate App
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)