Profile bak

Blok Zinciri #3 - Şifreleme

Hakan'ın Blockchain & Bitcoin & Altcoin Yazıları
Hakan'ın Blockchain & Bitcoin & Altcoin Yazıları
Blok Zinciri(Blockchain) Teknolojisine Giriş- 3
Önceki yazımda P2P’den bahsederek, merkezi olmayan iletişim sistemlerine giriş yapmıştık. Şimdi de gönderilen verilerin nasıl şifrelendiğinden bahsedeceğim.
Kriptoloji
Şifreleme algoritmaları tamamen matematiksel fonksiyonlardan oluşur. Eğer verileri geniş ağlarda çoğaltarak dağıtacaksak, bu verilerin güvenliği ve bütünlüğünü sağlamak için kriptoloji kullanmalıyız.
Şifrelemede beklentimiz, herhangi bir veri kümesini bir kural yapısı kullanarak rastgele görünen, geri dönülebilir bir veri kümesine dönüştürebilmesidir. Bu veri kümesi, şifreleme ile ilgili anahtar yapısına sahip olmayan kişiler tarafından ele geçirilseler bile orijinal yapısına uygulanabilir bir şekilde geri çevrilemez. Sadece ilgili anahtara sahip olanlar, veriyi tekrar orijinal yapısına dönüştürebilir, yani şifreyi çözebilirler.
Blok zinciri ve tabii ki kripto-para dünyasında Kriptoloji çok önemli yer tutmaktadır. Bu yüzden Blok Zinciri Teknolojisini daha iyi anlamak adına bilmemiz gereken bazı kavramlar bulunmaktadır.
Özetleme (Hash)
Bu yaklaşım temel olarak matematiksel işlemler kullanarak büyük bir veriden kıyasla daha küçük bir özet bilgi üretilmesidir.
  • Tek yönlü olarak çalışır yani, özet bilgiden kaynak veriye geri dönülemez.
  • Hızlı olarak gerçekleştirilen işlemlerdir.
  • Küçük veri değişikliklerinde bile çok farklı özet bilgi üretir.
Kendimiz de bir özetleme algoritması geliştirebiliriz. Örneğin;
Verimiz “adalet” olsun ve iki parçaya bölelim. “ada” ve “let”. “a” harfi alfabenin 1 numaralı harfidir, “d” harfi 5 numaralı harfidir. Yani “ada” bölümünün sayı karşılığı “151” dir. Bu sayıları toplayıp, alfabede hangi harfe denk geldiğini bulalım; 1+5+1=7 bu da alfabede “f” harfine denk gelmektedir. “let” bölümü için de aynı uygulamayı yaparsak, 14+6+24=44, alfabede 29 harf olduğundan 29 tabanında 44 sayısını yazarsak sonuç 15 olacaktır bu da alfabede “m” harfine denk gelmektedir. Sonuç olarak “adalet” kelimesini “fm” olarak özetlemiş olduk. 
“fm” özet verisinden kaynak verisi “adalet” ulaşmak oldukça zor olacaktır. Burada asıl büyük sorun, başka kaynak verilerin de özet verisinin “fm” olarak çıkmasıdır ki buna da “collision” yani “çakışma” diyoruz.
SHA-256
Bitcoin’in kullandığı hash algoritması ise SHA-256’dır. İsminde 256 geçmesinin sebebi; verinin boyutu ne kadar büyük olursa olsun özet verinin her zaman 256 bitlik yer kaplamasıdır. Algoritma sonuçları sabit uzunlukta olduklarından teorik olarak farklı veri kümeleri için özet değerlerinin çakışması mümkündür. Fakat SHA-256 gibi hash algoritmalarının üretebileceği özet veri varyasyonlarının sayısı 2^256 olduğundan bu göz ardı edilir. 2^256 sayısı açıkça söylemek gerekirse oldukça saçma bir sayıdır, astronomik sayılar dediğimiz trilyonlar, katrilyonlar bu sayı yanında küçücük kalmaktadır.
Yukarıdaki tabloda görüldüğü gibi, Hakan isminin ilk harfini küçük harf yapmamla özet veri tamam değişmiştir. Buna çığ etkisi denilmektedir. Diğer örnekte de bir cümle girmeme rağmen yine boyut sabit kalacak şekilde (16’lık tabanda 64 karakter = 256bit) özet veri üretilmiştir.
Scrypt
Bu hash algoritması ise Litecoin kullanmaktadır. Veriyi özetlerken yarattığı bir çok rastgele verinin bellekte depolanması gereksinimi SHA-256 ile arasındaki en büyük farkı oluşturmaktadır. Temelde aslında bu hash algoritması da SHA-256 algoritmasını kullanmaktadır. Bu algoritmanın nihai hedefi FPGA ya da ASIC(özel kartlar) üzerinde çalıştırmak için pratik olmayan bir yolla daha fazla bellek gereksinimi doğurmasıdır, bu da aslında GPU/CPU madenciliğinin üzerinde avantaj sağlayacak ASIC madenciliğini zorlaştırmaktadır. Madenciler ise bu durumdan ötürü Litecoin madenciliğinin daha demokratik olduğunu dile getirmektedirler.
Sizi sıkmamak adına diğer hash algoritmalarından bahsetmeyeceğim. Bu iki algoritma coin piyalarında en fazla kullanılan algoritmalar olduğundan, bu kadar bilginin yeteceğini umuyorum. Daha detaylıca bilgi isteyenler tabii ki bana mail atabilirler.
İleride madencilik konusuna geldiğimizde daha detaylı bahsedeceğim fakat yeri gelmişken biraz  KH/s , TH/s  gibi kavramlardan bahsetmem gerektiğini düşünüyorum. 
KH/s (Kilohashes per second) yani, saniyede bin özetleme algoritması çalıştırma  
MH/s (Megahashes per second) : saniyede bir milyon özetleme 
GH/s (Gigahashes per second) : saniyede bir milyar özetleme 
TH/s (Terrahashes per second) : saniyede bir trilyon özetleme 
PH/s (Petahashes per second) : saniyede bir katrilyon özetleme algoritması çalıştırma
anlamlarına gelmektedirler. Sonraki yazılarımda bahsedeceğim madencilik konusunda bu değerlere göre ekran kartı veya ASIC seçimi yapacağız, ön bilgi açısından önemli olduğunu düşünüyorum.
Bir yazının daha sonuna geldik. Diğer yazımızda şifrelemeye biraz daha değinip, Blokchain'in en önemli ayağını oluşturan Dijital İmzalardan bahsedeceğim. 
Hoşça kalın.
Hakan.
Bu konuyu sevdin mi? Evet Hayır
Hakan'ın Blockchain & Bitcoin & Altcoin Yazıları
Hakan'ın Blockchain & Bitcoin & Altcoin Yazıları

Blok Zinciri

Abonelikten çıkmak için buraya tıkla.
Bu bülteni yönlendirirseniz ve beğenirseniz, abone olabilirsiniz: buraya.
Created with Revue by Twitter.