Hash: Kriptografi ve blockchain'de temel bir kavram

Hashing, herhangi bir boyuttaki verileri sabit uzunlukta bir diziye dönüştüren bir işlemdir. Bu işlem, algoritmalar olarak uygulanan hash fonksiyonları olarak bilinen matematiksel formüllerle gerçekleştirilir.

Her ne kadar tüm hash fonksiyonları kriptografi içermese de, kriptografik hash fonksiyonları kripto para dünyasında hayati öneme sahiptir. Bu sayede, blok zincirleri ve diğer merkeziyetsiz sistemler yüksek düzeyde veri bütünlüğü ve güvenliği sağlar.

Hash fonksiyonları, hem konvansiyonel hem de kriptografik, deterministiktir. Bu, girdi değişmediği sürece, algoritmanın her zaman aynı çıktıyı üreteceği anlamına gelir (, aynı zamanda digest veya hash) olarak da adlandırılır.

Genellikle, kripto para birimlerinde kullanılan hash algoritmaları tek yönlü fonksiyonlar olarak tasarlanmıştır, bu da geri döndürmenin kolay olmadığı anlamına gelir, önemli bir zaman ve hesaplama kaynağı olmadan. Diğer bir deyişle, girdi ile çıktı elde etmek görece basittir, ancak tersini yapmak son derece karmaşıktır. Genel olarak, orijinal girdiyi bulmak ne kadar zor olursa, hash algoritması o kadar güvenli kabul edilir.

Bir hash fonksiyonunun çalışma prensibi

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

Örnek vermek gerekirse, "Gate" ve "Gate" kelimelerini Bitcoin'de kullanılan SHA-256 hash algoritmasından geçirelim (.

SHA-256

Giriş

Çıkış )256 bit(

Kapı

e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Kapı

b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Bir küçük değişikliğin ) ilk harfin büyük olması ( tamamen farklı bir hash değeri ile sonuçlandığını gözlemleyin. Ancak, SHA-256 kullanıldığında, çıktılar her zaman 256 bit ) veya 64 karakter ( sabit bir boyuta sahip olacaktır, giriş boyutundan bağımsız olarak. Ayrıca, iki kelimeyi algoritmadan kaç kez geçirirsek geçirelim, iki çıktı da sabit kalacaktır.

Buna karşın, aynı girdileri SHA-1 hash algoritması üzerinden çalıştırırsak, şu sonuçları alırız:

SHA-1

Giriş

Çıkış )160 bits(

Gate

3a7bd3e2360a3d29eea436fcfb7e44c735d117c4

Kapı

5df9954f1ca26eabf18c663cc9258ba7f7712c45

SHA'nın Secure Hash Algorithms'ı ifade ettiğini belirtmek önemlidir. Bu, SHA-0 ve SHA-1 algoritmaları ile birlikte SHA-2 ve SHA-3 gruplarını içeren bir dizi kriptografik hash fonksiyonunu ifade eder. SHA-256, SHA-512 ve diğer varyantlarla birlikte SHA-2 grubunun bir parçasıdır. Şu anda yalnızca SHA-2 ve SHA-3 grupları güvenli olarak kabul edilmektedir.

Hashing'in Önemi

Konvansiyonel hash fonksiyonları, veri tabanlarında arama, büyük dosyaların analizi ve veri yönetimi gibi geniş bir uygulama yelpazesine sahiptir. Öte yandan, kriptografik hash fonksiyonları, mesajların kimlik doğrulaması ve parmak izlerinin alınması gibi bilgi güvenliği uygulamalarında yaygın olarak kullanılmaktadır. Bitcoin bağlamında, kriptografik hash fonksiyonları madencilik sürecinin temel bir parçasıdır ve ayrıca yeni adreslerin ve anahtarların üretilmesinde kritik bir rol oynamaktadır.

Hashing'in gerçek gücü, devasa bilgi miktarlarıyla ilgili olduğunda ortaya çıkar. Örneğin, büyük bir dosya veya veri kümesi bir hash fonksiyonundan geçirilip ardından çıktısı kullanılarak verilerin doğruluğu ve bütünlüğü hızlı bir şekilde kontrol edilebilir. Bu, hash fonksiyonlarının deterministik doğası sayesinde mümkündür: girdi her zaman basitleştirilmiş ve yoğunlaştırılmış bir çıktı üretecektir )hash(. Bu teknik, büyük miktarda veriyi depolama ve "hatırlama" ihtiyacını ortadan kaldırır.

Hashing, blockchain teknolojisi bağlamında özellikle faydalıdır. Bitcoin'in blok zinciri, çoğu madencilik sürecinde olmak üzere bir dizi hash işlemi içerir. Aslında, neredeyse tüm kripto para protokolleri, işlemleri bloklara bağlayıp yoğunlaştırmak ve ayrıca her blok arasında kriptografik bağlantılar üretmek için hash'e dayanır ve böylece etkili bir şekilde bir blok zinciri oluşturur.

Kriptografik hash fonksiyonları

Kriptografik teknikleri uygulayan bir hash fonksiyonu, kriptografik bir hash fonksiyonu olarak tanımlanabilir. Genel olarak, bir kriptografik hash fonksiyonunu kırmak, sayısız brute force denemesi gerektirir. Bir kişinin bir kriptografik hash fonksiyonunu "geri çevirmesi" için, hangi girişin olduğunu tahmin etmesi ve ilgili çıktının elde edilmesi için deneme yanılma yapması gerekir. Ancak, farklı girişlerin tam olarak aynı sonucu üretme olasılığı da vardır; bu durumda bir "çakışma" meydana gelir.

Teknik olarak, bir kriptografik hash fonksiyonu etkili bir şekilde güvenli kabul edilmek için üç özelliği yerine getirmelidir. Bunları çarpışma direnci, ön görüntü direnci ve ikinci ön görüntü direnci olarak tanımlayabiliriz.

Her özelliği analiz etmeden önce, mantığını üç kısa cümlede özetleyelim:

  • Çarpışma direnci: aynı hash çıktısını üreten iki farklı giriş bulmak pratik değildir.

  • Önceki görüntüye direnç: belirli bir çıktının girişini "geri döndürmek" mümkün değildir hash ).

  • İkinci ön görüntüye direnç: belirli bir girdi ile çakışan ikinci bir girdi bulmak mümkün değildir.

( Çarpışma direnci

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

Başka bir deyişle, bir hash fonksiyonu, bir çarpışma bulma olasılığı o kadar düşük olduğunda çarpışmalara dayanıklıdır ki, milyonlarca yıl hesaplama gerektirecektir. Yani, çarpışmalardan tamamen arınmış hash fonksiyonları olmasa da, bazıları o kadar sağlamdır ki, dayanıklı olarak kabul edilebilir )örneğin, SHA-256###.

SHA algoritmaları arasında, SHA-0 ve SHA-1 grupları artık güvenli olarak kabul edilmemektedir çünkü çakışmalar tespit edilmiştir. Şu anda, SHA-2 ve SHA-3 grupları çakışmalara karşı dayanıklı olarak kabul edilmektedir.

( Önceki direnç görüntüsüne

Ön görüntüye direnç özelliği, tek yönlü fonksiyonlar kavramı ile ilişkilidir. Bir hash fonksiyonu, belirli bir çıktıyı üreten girişi bulma olasılığının çok düşük olduğu durumlarda ön görüntüye dirençli olarak kabul edilir.

Bu özelliğin, belirli bir çıktıyı gözlemleyerek bir saldırganın hangi girdinin olduğunu tahmin etmeye çalışacağı için önceki özellikten farklı olduğunu not etmek önemlidir. Öte yandan, bir çarpışma, birinin aynı çıktıyı üreten iki farklı girdi bulması durumunda meydana gelir, ancak hangi girdilerin kullanıldığı önemli değildir.

Ön görüntüye karşı dayanıklılık özelliği, verileri korumak için değerlidir çünkü bir mesajın basit bir hash'i, bilgiyi ifşa etmeye gerek kalmadan onun doğruluğunu kanıtlayabilir. Pratikte, birçok hizmet sağlayıcısı ve web uygulaması, düz metin parolaları yerine parolalardan üretilen hash'leri saklar ve kullanır.

) İkinci ön görüntüye dayanıklılık

Basitçe söylemek gerekirse, ikinci ön görüntünün direncinin diğer iki özellik arasında bir yerde olduğunu söyleyebiliriz. İkinci ön görüntü saldırısı, birinin zaten bildiği başka bir girdinin aynı çıktısını üreten belirli bir girişi bulabilmesi durumunda meydana gelir.

Başka bir deyişle, ikinci ön görüntü saldırısı bir çarpışma bulmayı içerir, ancak aynı hash'i üreten iki rastgele girdi aramak yerine, belirli bir girdi tarafından üretilen aynı hash'i üreten bir girdi arar.

Bu nedenle, çarpışmalara dayanıklı herhangi bir hash fonksiyonu, ikinci ön görüntü saldırılarına da dayanıklı olacaktır, çünkü bu sonuncuları her zaman bir çarpışma içerecektir. Ancak, çarpışmalara dayanıklı bir fonksiyona karşı bir ön görüntü saldırısı hala gerçekleştirilebilir, çünkü bu, tek bir çıkıştan tek bir girişi bulmayı içerir.

Madencilik ve hash

Bitcoin madenciliği süreci, bakiye doğrulama, işlem giriş ve çıkışlarının bağlanması ve bir bloğun içindeki işlemlerin hash'lenmesi gibi çok sayıda hash işlemi içerir. Ancak, Bitcoin blok zincirinin güvenli olmasının başlıca nedenlerinden biri, madencilerin nihayetinde bir sonraki blok için geçerli bir çözüm bulmak amacıyla çok sayıda hash işlemi gerçekleştirmeleri gerektiğidir.

Özellikle, bir madencinin aday bloğu için bir hash değeri oluştururken farklı girişleri denemesi gerekir. Temelde, yalnızca belirli bir sayıda sıfırla başlayan bir çıkış hash'i ürettiklerinde bloklarını doğrulayabilirler. Sıfır sayısı, madencilik zorluğunu belirleyen unsurdur ve ağa ayrılan hash oranına bağlı olarak değişir.

Bu bağlamda, hash oranı Bitcoin madenciliğine ne kadar hesaplama gücü yatırıldığını temsil eder. Eğer ağın hash oranı artarsa, Bitcoin protokolü otomatik olarak çıkarım zorluğunu ayarlayarak bir bloğu çıkarmak için gereken ortalama süreyi 10 dakikaya yakın tutar. Aksine, birkaç madenci madenciliği bırakmaya karar verirse ve bu hash oranının önemli ölçüde düşmesine neden olursa, madencilik zorluğu ayarlanarak ###'in çıkarılmasını daha kolay hale getirir, ta ki ortalama blok süresi tekrar 10 dakikaya dönene kadar ###.

Madencilerin çakışmalar bulması gerekir ki, çünkü geçerli bir çıktı olarak ( ile başlayan belirli bir sayıda sıfır içeren birçok hash üretebilirler ). Bu nedenle, belirli bir blok için birden fazla olası çözüm vardır ve madencilerin sadece bunlardan birini bulmaları gerekir; bu, madenciliğin zorluğu tarafından belirlenen eşiğe bağlıdır.

Bitcoin madenciliği pahalı bir iş olduğu için, madencilerin sistemi kandırmak için bir sebebi yoktur, çünkü bu önemli mali kayıplara yol açar. Ne kadar çok madenci bir blok zincirine katılırsa, o kadar büyük ve güçlü hale gelir.

Sonuç Düşünceleri

Şüphesiz, hash fonksiyonları bilgisayar bilimlerinde temel araçlardır, özellikle büyük veri hacimleri söz konusu olduğunda. Kriptografi ile birleştirildiğinde, hash algoritmaları oldukça çok yönlü olabilir ve birçok farklı şekilde güvenlik ve kimlik doğrulama sunar. Bu nedenle, kriptografik hash fonksiyonları neredeyse tüm kripto para ağları için hayati öneme sahiptir, bu yüzden onların özelliklerini ve çalışma mekanizmalarını anlamak, blockchain teknolojisine ilgi duyan herkes için kesinlikle faydalıdır.

EL0.32%
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)