Profile bak

Blok Zinciri #4 - İmzalama ve Doğrulama

Hakan'ın Blockchain & Bitcoin & Altcoin Yazıları
Hakan'ın Blockchain & Bitcoin & Altcoin Yazıları
Blok Zinciri(Blockchain) Teknolojisine Giriş- 4
Selamlar, önceki yazımda kriptolojiye yavaşça giriş yaptık ve kripto-para ekosistemi içinde en çok kullanılan özetleme algoritmalarından bahsettik. Bugün ise kriptolojiye devam edip, blok zincirinin “blok” yapısını incelemek için ön bilgiler edineceğiz.
Merkle Ağaç Yapısı (Merkle Tree)
En genel anlamda bir Merkle ağacı, çok sayıda veri yığınını bir araya getirmenin ve bu veri yığının doğrulanmasının bir yoludur.
Bu yapı blok zincirinin en önemli konularından biridir. Çünkü oluşturulan blokların doğrulanması güvenlik için oldukça önemlidir.
Peki nasıl çalışıyor? Bir ağaç düşünün, bu ağacın yaprakları, gövdesi ve kökleri var. Her yaprak bir dala, dallar gövdeye ve gövdede köke doğru uzanması gibi Merkle Ağacını da aynı şekilde hayal edebiliriz. Şimdi hayal gücünüzü tekrar kullanın ve sadece bir tek yaprağa baktığınızı ve o yaprağın gerçekten bütün bir ağaçta asılı durduğunu öğrenmemiz gerektiğini düşünün (belki sadece bir dala bağlıdır fakat dal ağaca bağlı olmayabilir) Bunu öğrenmenin yolu, yaprağın bir dala bağlı olup olmadığına bakmaktır, daha sonra dalın bir gövdeye bağlı olduğuna bakmak gerekir ve ardından gövdenin bir kökünün var olup olmadığına bakılır. Bu şekilde yaprağın bir bütün ağacın parçası olduğuna emin olunabilir. Blokchain’de ise blokların doğrulanması için aynen bu yöntem kullanılıyor.
Örneğin, aşağıdaki görüntüde hash 0, hash 0-0 ve hash 0-1’in birleşiminin özetlenmiş(hash) sonucudur. Aynı şekilde hash356’da hash 356-0 ve hash 356-1’ın birleşiminin hashlenmiş(özetlenmiş) halidir. 
En çok kullanılan sistem ikili(binary) sistemdir. İkişer parça halinde birleşe, birleşe ve özetlene özetlene “Kök Veriye” ulaşılır. Ardından bloka eklenir. Bu konu hakkında detaylı bilgiyi ileride vereceğim size.
Veri bloğunun bütünlüğü, ağaçta hash 0-0 ve hash 1 varsa veri bloğunun hash işlemi yapılarak ve sonucu hash 0-0 ve ardından hash 1 ile yineleyerek hemen doğrulanabilir. Eğer hata ile karşılaşılırsa sıkıntılı olan özet verinin(hash) bulunduğu dal tekrardan yaratılır.
Ağaca eklenen her veri bütününün(yaprak) bloka eklenmesi için yapılan bu işlemler bütününe “transaction” yani “işlem” denir. Bitcoin’in bir yerden bir yere gönderilme hızı işte bu işlemin yapılma hızıyla ilgilidir.
Simetrik Şifreleme (Symmetric Encryption)
Simetrik şifrelemede şifreleme işlemi eş anahtar (key) bilgisi kullanılır. Bu anahtar iki taraf tarafından daha önceden bilinen bir bilgidir ve bir tarafın anahtar ile şifrelediği bilgi diğer taraftaki anahtar ile açılabilir.
Asimetrik Şifreleme (Asymmetric Encryption)
Bu yöntemde kullanıcıların 2 adet anahtarı bulunur. Bu anahtarlardan birisi herkese açık adres (public key) diğeri ise gizli (private key) anahtardır. Bu açık olan adresi (public key) herkese dağıtabilirsiniz, açık anahtardan özel anahtara ulaşmak mümkündür fakat bunun için binlerce yıl bilgisayarınızı açık tutmanız ve sürekli işlem yaptırmanız gerekmektedir, yani imkansız gibi bir şeydir… Bu arada, açık anahtar ile şifrelenmiş bir veriyi açmak sadece gizli anahtar ile mümkündür ya da tam tersi gizli anahtar ile şifrelenmiş bir veriyi açmak sadece açık anahtar ile mümkündür.
Dijital İmzalama ve İmzanın Doğrunlaması
Bu yöntem, alınan bir verinin gerçekten gönderdiği iddia edilen kaynaktan gelip gelmediğini ve yolda müdahale edilip edilmediğini kontrol eder. Aklınızda canlanması için senaryo yazmak gerekirse;
  • Ahmet, mesajını hazırlar. Ardından herhangi bir özetleme algoritmasıyla (SHA-256 vb.) mesajı(veriyi) özetler. (Özet Veri A)
  • Ahmet oluşturduğu özet veriyi kendi gizli anahtarıyla (private key) şifreler, yani imzalar.
  • Ahmet hem şifrelenmemiş mesajı hem de şifrelenmiş mesajı paket halinde Barış’a yollar.
  • Barış, Ahmet’in adresiyle (public key) ile şifreli mesajı çözümler ve özetlenmiş veriyi ortaya çıkarır.
  • Barış, gelen şifrelenmemiş mesajı özetler. (Özet Veri B)
  • Barış, kendi oluşturduğu özet mesaj ile Ahmet’ten gelen özet mesajı karşılaştırır.
  • Eğer iki özet bilgi karşılaştırıldığında birbirleri ile aynı içeriğe sahip değillerse bunun iki sebebi olabilir:
- Mesajı imzalayan kişi A değildir.
- Mesaj içeriğine transfer sırasında müdahale edilmiştir.
Verinin İmzalanması
Verinin İmzalanması
Verinin Doğrulanması
Verinin Doğrulanması
Temel olarak Blockchain dünyasında kullanılan şifreleme yaklaşım ve yöntemleri bunlardır. Bu anlattıklarım bugün itibarıyla en çok kullanılan yöntemlerdir. 
Bu yazım da bu kadardı. Diğer yazımda artık Blockchain'in teknik detaylarına bakacağız, Blok ve yapısı, mutabakat gibi konulara değinmeyi düşünüyorum. 
Blockchain'i anlatmak gerçekten ofsaytı anlatmaya benziyor :) Eğer yeteri kadar açık ve basit anlatamadığımı düşünüyorsanız bana mail atabilir, sorular sorabilirsiniz.
Hoşça Kalın.
Hakan.
Beğenmeyi unutmayın.
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.